欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種消息傳遞接口任務(wù)和資源調(diào)度系統(tǒng)及方法

文檔序號:7984748閱讀:428來源:國知局
一種消息傳遞接口任務(wù)和資源調(diào)度系統(tǒng)及方法【專利摘要】本發(fā)明提供了一種消息傳遞接口任務(wù)和資源調(diào)度系統(tǒng)及方法,所述系統(tǒng)包括MPI調(diào)度器(101);所述MPI調(diào)度器(101),用于基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度,所述MPI任務(wù)使用MPI任務(wù)包的形式,所述MPI任務(wù)包括MPI運(yùn)行程序和運(yùn)行配置信息,所述運(yùn)行配置信息包括MIP任務(wù)的資源需求。本發(fā)明的系統(tǒng)不同于Torque的操作系統(tǒng)任務(wù)管理工具,它是一個(gè)專門為MPI任務(wù)和資源調(diào)度設(shè)計(jì)的MPI調(diào)度系統(tǒng),可以基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行有效的MPI任務(wù)和資源的調(diào)度?!緦@f明】一種消息傳遞接口任務(wù)和資源調(diào)度系統(tǒng)及方法【
技術(shù)領(lǐng)域
】[0001]本發(fā)明涉及消息傳遞接口(MPI,MessagePassingInterface)處理技術(shù),尤其涉及MPI任務(wù)和資源調(diào)度系統(tǒng)及方法?!?br>背景技術(shù)
】[0002]MPI標(biāo)準(zhǔn)是消息傳遞并行程序設(shè)計(jì)的標(biāo)準(zhǔn)之一,是一個(gè)規(guī)范或者是庫,目前最新版本為MP1-2(1997年發(fā)布),MPI標(biāo)準(zhǔn)能完成并行機(jī)的進(jìn)程間通訊,當(dāng)前的實(shí)現(xiàn)版本有MPICH2和開放MPI(OpenMPI),目前廣泛用于互聯(lián)網(wǎng)企業(yè)的廣告算法和迭代算法,大型互聯(lián)網(wǎng)公司都有成百上千的MPI計(jì)算集群。[0003]比如其他大型互聯(lián)網(wǎng)公司的MPI集群的資源調(diào)度做法是通過便攜式批處理系統(tǒng)(PBS,PortableBatchSystem)方式進(jìn)行任務(wù)和資源調(diào)度。PBS最初由美國國家航空航天局(NASA,NationalAeronauticsandSpaceAdministration)的Ames石開究中心開發(fā),主要為了提供一個(gè)能滿足異構(gòu)計(jì)算網(wǎng)絡(luò)需要的軟件包,用于靈活的批處理,特別是滿足高性能計(jì)算的需要,如集群系統(tǒng)、超級計(jì)算機(jī)和大規(guī)模并行系統(tǒng)。PBS的主要特點(diǎn)有:代碼開放,免費(fèi)獲??;支持批處理、交互式作業(yè)和串行、多種并行作業(yè),如MP1、并行虛擬機(jī)(PVM,ParallelVirtualMachine)、高性能公式翻譯器(HPF,HighPerformanceFortranCFormulaTranslator))、Mozilla公用授權(quán)(MPL,MozillaPublicLicense)。其中,PBS是功能最為齊全,歷史最悠久,支持最廣泛的本地集群調(diào)度器之一。PBS目前包括開放PBS(OpenPBS)、PBS專業(yè)版(PBSPro,PBSProfessional)和托爾克(Torque)三個(gè)主要分支。其中OpenPBS是最早的PBS系統(tǒng),目前已經(jīng)沒有太多后續(xù)開發(fā);PBSpro是PBS的商業(yè)版本,功能最為豐富;Torque是Clustering公司接過OpenPBS并給與的后續(xù)支持的一個(gè)開源版本。[0004]由于MPI任務(wù)的運(yùn)行需要執(zhí)行MPIRUN命令,但是MPIRUN只能保證在一臺機(jī)器上進(jìn)行MPI任務(wù)執(zhí)行,而不能多臺計(jì)算機(jī)MPI任務(wù)并行執(zhí)行,并且,如果同時(shí)100個(gè)MPI任務(wù)需執(zhí)行MPIRUN,那么會同時(shí)啟動100個(gè)進(jìn)程爭奪資源,這樣CPU時(shí)間片會輪流分配給各個(gè)任務(wù),從而影響所有任務(wù)的正常作業(yè)。[0005]Torque做任務(wù)管理系統(tǒng)的情況下,當(dāng)多個(gè)用戶使用同一個(gè)計(jì)算資源時(shí),每個(gè)用戶用Torque腳本提交自己的任務(wù),由Torque對這些任務(wù)進(jìn)行管理和資源的分配,提供對批處理作業(yè)和分散的計(jì)算節(jié)點(diǎn)的控制。通過Torque命令提供任務(wù)的提交、隊(duì)列管理、啟動、超時(shí)中止、任務(wù)運(yùn)行狀態(tài)查看等。[0006]由于Torque是一個(gè)類似WINDOWS任務(wù)管理器的作業(yè)管理系統(tǒng),它不是一個(gè)可編程化專業(yè)的計(jì)算調(diào)度框架,它需要人工輸入命令的方式提交任務(wù),然后以進(jìn)程啟動的方式執(zhí)行,如果任務(wù)超時(shí)便殺死,它更像一個(gè)操作系統(tǒng)的任務(wù)管理工具,針對任務(wù)的啟動和查看狀態(tài)的進(jìn)程管理,但不能有效地進(jìn)行MPI任務(wù)和資源的調(diào)度。[0007]發(fā)明人經(jīng)研究發(fā)現(xiàn):[0008]任務(wù)調(diào)度上,Torque方式下沒有一個(gè)調(diào)度器角色的概念,在啟動MPI任務(wù)后,不能夠?qū)崟r(shí)檢測各任務(wù)的運(yùn)行狀態(tài)并針對異常和任務(wù)完成狀態(tài)作出處理和響應(yīng)。當(dāng)有異常產(chǎn)生時(shí),基于Torque的任務(wù)工具無法容錯(cuò),只能全盤終止,再重新計(jì)算,而且也無法檢測到任務(wù)總體完成狀況。[0009]資源調(diào)度上,Torque方式下無法進(jìn)行計(jì)算機(jī)的CPU、內(nèi)存、網(wǎng)絡(luò)等資源的隔離和分配,根據(jù)MPI任務(wù)需要的資源進(jìn)行資源隔離和分配并且將剩余的資源用于其他任務(wù),例如一個(gè)任務(wù)需要2個(gè)CPU,80G內(nèi)存,Torque方式下則無法隔離出符合此要求的資源用于完成該任務(wù)并將剩余的資源用于其他任務(wù)。Torque方式無法做到資源隔離和分配,就不能達(dá)到較高的資源利用率,容易造成浪費(fèi)。[0010]另外,Torque方式下通過命令提交MPI任務(wù),但是只當(dāng)成普通的操作系統(tǒng)進(jìn)程任務(wù),由于需要大量的命令參數(shù)來輸入這些運(yùn)行時(shí)的必要條件,造成移植性擴(kuò)充性差,操作復(fù)雜?!?br/>發(fā)明內(nèi)容】[0011]本發(fā)明要解決的技術(shù)問題是提供一種更為有效的消息傳遞接口任務(wù)和資源調(diào)度系統(tǒng)及方法。[0012]為了解決上述技術(shù)問題,本發(fā)明提供了一種消息傳遞接口(MPI)任務(wù)和資源調(diào)度系統(tǒng),所述系統(tǒng)包括MPI調(diào)度器(101);所述MPI調(diào)度器(101),用于基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度,所述MPI任務(wù)使用MPI任務(wù)包的形式,所述MPI任務(wù)包括MPI運(yùn)行程序和運(yùn)行配置信息,所述運(yùn)行配置信息包括MIP任務(wù)的資源需求。[0013]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0014]所述系統(tǒng)還包括集群計(jì)算機(jī)上設(shè)置的MPI任務(wù)執(zhí)行器(102);[0015]所述MPI調(diào)度器(101)基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度,包括:在有待執(zhí)行的MPI任務(wù)且集群計(jì)算機(jī)可用資源能夠支持該待執(zhí)行的MPI任務(wù)的資源需求時(shí),將所述MPI任務(wù)下發(fā)至一臺或多臺計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102);[0016]所述MPI任務(wù)執(zhí)行器(102),用于執(zhí)行下發(fā)的MPI任務(wù)。[0017]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0018]所述系統(tǒng)還包括資源池(103);[0019]所述MPI任務(wù)執(zhí)行器(102),還用于向所述資源池(103)注冊所在計(jì)算機(jī)的資源,及在所在計(jì)算機(jī)的資源的狀態(tài)變化時(shí)更新資源池(103)中記錄的相應(yīng)資源的狀態(tài);[0020]所述資源池(103),用于記錄集群計(jì)算機(jī)資源的實(shí)時(shí)信息,包括集群中各計(jì)算機(jī)具有的資源及其狀態(tài);[0021]所述MPI調(diào)度器(101)是根據(jù)所述資源池(103)記錄的集群計(jì)算機(jī)資源的實(shí)時(shí)信息獲知所述集群計(jì)算機(jī)可用資源。[0022]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0023]所述系統(tǒng)還包括:任務(wù)隊(duì)列模塊(105),用于以隊(duì)列方式存放MPI任務(wù);[0024]所述MPI調(diào)度器(101)是從所述任務(wù)隊(duì)列模塊(105)的任務(wù)隊(duì)列檢測到待執(zhí)行的MPI任務(wù)。[0025]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0026]所述系統(tǒng)還包括:任務(wù)包生成模塊(104),用于生成符合任務(wù)包規(guī)范的MPI任務(wù)包并提交至所述任務(wù)隊(duì)列模塊(105)。[0027]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0028]所述MPI任務(wù)執(zhí)行器(102)還用于將執(zhí)行的MPI任務(wù)的狀態(tài)實(shí)時(shí)上報(bào)至所述MPI調(diào)度器(101);[0029]所述MPI調(diào)度器(101)還用于在下發(fā)MPI任務(wù)時(shí),將任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)更新為任務(wù)執(zhí)行中,在接收MPI任務(wù)執(zhí)行器(102)上報(bào)的MPI任務(wù)狀態(tài)后,更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)。[0030]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0031]所述系統(tǒng)還包括:監(jiān)控管理模塊(106),用于查看所述任務(wù)隊(duì)列中的MPI任務(wù)及狀態(tài),取消所述任務(wù)隊(duì)列中一個(gè)或多個(gè)MPI任務(wù),及查看MPI任務(wù)的處理日志。[0032]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0033]所述MPI調(diào)度器(101)還用于在檢測到MPI任務(wù)運(yùn)行時(shí)長超過所述MPI任務(wù)的運(yùn)行配置信息中的超時(shí)時(shí)間時(shí),通知MPI任務(wù)執(zhí)行器(102)終止所述MPI任務(wù),并更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)為任務(wù)已終止;[0034]所述MPI任務(wù)執(zhí)行器(102)還可用于在收到終止MPI任務(wù)的通知后,終止所述MPI任務(wù)的執(zhí)行并釋放所述MPI任務(wù)所占用的資源。[0035]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0036]所述MPI調(diào)度器(101)有多個(gè),包括MPI主調(diào)度器和MPI備調(diào)度器;[0037]所述MPI主調(diào)度器,用于在運(yùn)行正常時(shí)執(zhí)行調(diào)度;[0038]所述MPI備調(diào)度器,用于在所述MPI主調(diào)度器故障時(shí)競爭分布式鎖,在競爭到分布式鎖后作為MPI主調(diào)度器繼續(xù)執(zhí)行調(diào)度。[0039]進(jìn)一步地,上述系統(tǒng)還可以具有以下特點(diǎn):[0040]所述MPI調(diào)度器(101)下發(fā)MPI任務(wù)時(shí)同時(shí)還向執(zhí)行所述MPI任務(wù)的每臺計(jì)算機(jī)發(fā)送所述MPI任務(wù)對該計(jì)算機(jī)的資源需求;[0041]所述MPI任務(wù)執(zhí)行器(102)執(zhí)行下發(fā)的MPI任務(wù),包括:各計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102)隔離出所述MPI任務(wù)需求的本機(jī)資源并在此資源下執(zhí)行所述MPI任務(wù)。[0042]為了解決上述技術(shù)問題,本發(fā)明還提供了一種消息傳遞接口(MPI)任務(wù)和資源調(diào)度方法,包括=MPI調(diào)度器(101)確定待執(zhí)行的MPI任務(wù)的資源需求;所述MPI調(diào)度器(101)基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度;其中,所述MPI任務(wù)使用MPI任務(wù)包的形式,所述MPI任務(wù)包括MPI運(yùn)行程序和運(yùn)行配置信息,所述運(yùn)行配置信息包括MIP任務(wù)的資源需求。[0043]進(jìn)一步地,上述方法還可以具有以下特點(diǎn):[0044]所述MPI調(diào)度器(101)基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度,包括:[0045]MPI調(diào)度器(101)確定有待執(zhí)行的MPI任務(wù),且集群計(jì)算機(jī)可用資源能夠支持該待執(zhí)行MPI任務(wù)的資源需求時(shí),將所述MPI任務(wù)下發(fā)至一臺或多臺計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102);[0046]所述方法還包括:[0047]MPI任務(wù)執(zhí)行器(102)執(zhí)行下發(fā)的MPI任務(wù)。[0048]進(jìn)一步地,上述方法還可以具有以下特點(diǎn):[0049]還包括:所述MPI任務(wù)執(zhí)行器(102)向資源池(103)注冊所在計(jì)算機(jī)的資源,并在所在計(jì)算機(jī)的資源的狀態(tài)變化時(shí)更新資源池(103)中記錄的相應(yīng)資源的狀態(tài);[0050]所述MPI調(diào)度器(101)是根據(jù)所述資源池(103)記錄的集群計(jì)算機(jī)資源的實(shí)時(shí)信息獲知所述集群計(jì)算機(jī)可用資源。[0051]進(jìn)一步地,上述方法還可以具有以下特點(diǎn):[0052]任務(wù)隊(duì)列模塊(105)以隊(duì)列方式存放MPI任務(wù),MPI任務(wù)的初始狀態(tài)設(shè)為待執(zhí)行;[0053]所述MPI調(diào)度器(101)是從所述任務(wù)隊(duì)列模塊(105)的任務(wù)隊(duì)列檢測到待執(zhí)行的MPI任務(wù),在下發(fā)MPI任務(wù)時(shí)還將任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)更新為任務(wù)執(zhí)行中;[0054]所述MPI任務(wù)執(zhí)行器(102)將執(zhí)行的MPI任務(wù)的狀態(tài)實(shí)時(shí)上報(bào)至MPI調(diào)度器(101);[0055]所述MPI調(diào)度器(101)接收到MPI任務(wù)執(zhí)行器(102)上報(bào)的MPI任務(wù)狀態(tài)后,更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)。[0056]進(jìn)一步地,上述方法還可以具有以下特點(diǎn):[0057]所述MPI調(diào)度器(101)檢測到MPI任務(wù)運(yùn)行時(shí)長超過所述MPI任務(wù)的運(yùn)行配置信息中的超時(shí)時(shí)間時(shí),通知MPI任務(wù)執(zhí)行器(102)終止所述MPI任務(wù),并更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)為任務(wù)已終止;[0058]所述MPI任務(wù)執(zhí)行器(102)收到終止MPI任務(wù)的通知后,終止所述MPI任務(wù)的執(zhí)行并釋放所述MPI任務(wù)所占用的資源。[0059]進(jìn)一步地,上述方法還可以具有以下特點(diǎn):[0060]通過監(jiān)控管理模塊(106)查看所述任務(wù)隊(duì)列中的MPI任務(wù)及狀態(tài),取消所述任務(wù)隊(duì)列中一個(gè)或多個(gè)MPI任務(wù),及查看MPI任務(wù)的處理日志。[0061]進(jìn)一步地,上述方法還可以具有以下特點(diǎn):[0062]所述MPI調(diào)度器(101)下發(fā)MPI任務(wù)時(shí)同時(shí)向執(zhí)行所述MPI任務(wù)的每臺計(jì)算機(jī)發(fā)送所述MPI任務(wù)對該計(jì)算機(jī)的資源需求;[0063]執(zhí)行所述MPI任務(wù)的所述計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102)隔離出所述MPI任務(wù)需求的本機(jī)資源,并在此資源下執(zhí)行所述MPI任務(wù)。[0064]進(jìn)一步地,上述方法還可以具有以下特點(diǎn):[0065]初始化時(shí),多個(gè)MPI調(diào)度器(101)同時(shí)競爭一個(gè)分布式鎖,競爭到者為MPI主調(diào)度器,未競爭到者為MPI備調(diào)度器;[0066]MPI主調(diào)度器運(yùn)行正常時(shí)執(zhí)行調(diào)度;[0067]MPI備調(diào)度器在MPI主調(diào)度器故障時(shí)競爭分布式鎖,競爭到分布式鎖后成為MPI主調(diào)度器繼續(xù)執(zhí)行調(diào)度。[0068]上述方案不同于Torque的操作系統(tǒng)任務(wù)管理工具,它是一個(gè)專門為MPI任務(wù)和資源調(diào)度設(shè)計(jì)的MPI調(diào)度系統(tǒng),可以基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行有效的MPI任務(wù)和資源的調(diào)度?!緦@綀D】【附圖說明】[0069]圖1是本發(fā)明實(shí)施例一中MPI任務(wù)和資源調(diào)度系統(tǒng)的結(jié)構(gòu)圖;[0070]圖2是本發(fā)明實(shí)施例二中MPI任務(wù)和資源調(diào)度方法的流程圖;[0071]圖3是本發(fā)明實(shí)施例三中MPI任務(wù)和資源調(diào)度系統(tǒng)的結(jié)構(gòu)圖;[0072]圖4是本發(fā)明實(shí)施例四競爭主調(diào)度器的過程的流程圖;[0073]圖5是本發(fā)明實(shí)施例四任務(wù)隊(duì)列生成及任務(wù)狀態(tài)更新的過程的流程圖;[0074]圖6是本發(fā)明實(shí)施例四任務(wù)執(zhí)行超時(shí)終止的過程的流程圖?!揪唧w實(shí)施方式】[0075]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。[0076]實(shí)施例一[0077]如圖1所示,本實(shí)施例MPI任務(wù)和資源調(diào)度系統(tǒng)包括MPI調(diào)度器101、MPI任務(wù)執(zhí)行器102和資源池103。[0078]MPI調(diào)度器101,用于基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度。本實(shí)施例中,在有待執(zhí)行的MPI任務(wù)且資源池103中記錄的集群計(jì)算機(jī)可用資源能夠支持該待執(zhí)行的MPI任務(wù)的資源需求時(shí),將所述MPI任務(wù)下發(fā)至一臺或多臺計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器102。特別地,本實(shí)施例的MPI任務(wù)采用MPI任務(wù)包的形式,包括MPI運(yùn)行程序和運(yùn)行配置信息,還可包括依賴程序。運(yùn)行配置信息包括MIP任務(wù)的資源需求如運(yùn)行所述MPI任務(wù)要占用的CPU、內(nèi)存等資源,還可以包括優(yōu)先級配置、超時(shí)時(shí)間、啟動時(shí)間、計(jì)算數(shù)據(jù)下載信息、賬號信息和安全權(quán)限等信息中一種或多種。[0079]MPI任務(wù)執(zhí)行器102,設(shè)置于集群計(jì)算機(jī)上,用于執(zhí)行下發(fā)的MPI任務(wù)。較佳地,MPI調(diào)度器101下發(fā)MPI任務(wù)時(shí)同時(shí)向執(zhí)行所述MPI任務(wù)的每臺計(jì)算機(jī)發(fā)送所述MPI任務(wù)對該計(jì)算機(jī)的資源需求,各計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器隔離出所需的本機(jī)資源并在此資源下執(zhí)行MPI任務(wù)。具體可使用操作系統(tǒng)或虛擬機(jī)的資源隔離技術(shù),比如Iinux體系的Iinux容器(LXC,LinuXcontainers)和控制組(Cgroup,Controlgroup)。MPI任務(wù)執(zhí)行器102還用于向資源池103注冊所在計(jì)算機(jī)的資源如CPU、內(nèi)存等,及在所在計(jì)算機(jī)的資源的狀態(tài)變化時(shí)更新資源池103中記錄的相應(yīng)資源的狀態(tài);如,在執(zhí)行MPI任務(wù)時(shí)將分配給所述MPI任務(wù)的資源的狀態(tài)更新為占用,在釋放資源(如MPI任務(wù)完成或終止)后將資源池103中相應(yīng)的資源的狀態(tài)更新為可用。[0080]資源池103,用于記錄集群計(jì)算機(jī)資源的實(shí)時(shí)信息,如集群中各計(jì)算機(jī)具有的資源(CPU、內(nèi)存、硬盤等)及其狀態(tài)。資源池103可以保存于設(shè)備的內(nèi)存里,也可以持久保存在文件數(shù)據(jù)里。[0081]本實(shí)施例中,MPI任務(wù)包的運(yùn)行配置信息中設(shè)置有MPI任務(wù)的資源需求信息,調(diào)度時(shí)可以根據(jù)此資源需求信息為MPI任務(wù)分配適當(dāng)?shù)馁Y源,提高調(diào)度的效率、有效性和準(zhǔn)確性,使系統(tǒng)資源得到合理的利用。MPI調(diào)度器101為一個(gè)MPI任務(wù)分配的資源有可能是多臺計(jì)算機(jī)的資源,也就是多臺計(jì)算機(jī)并行執(zhí)行一個(gè)MPI任務(wù),這種方式與現(xiàn)有的Torque不同,可以更好地實(shí)現(xiàn)資源分配。而計(jì)算機(jī)隔離出符合要求的資源來執(zhí)行MPI任務(wù),剩余的資源可用于其他任務(wù),可以提高資源利用率。[0082]實(shí)施例二[0083]本實(shí)施例的MPI任務(wù)和資源調(diào)度方法基于實(shí)施例一的MPI任務(wù)和資源調(diào)度系統(tǒng),系統(tǒng)初始時(shí),集群中各計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器會獲取所在計(jì)算機(jī)具有的資源并發(fā)送到資源池103進(jìn)行注冊。如圖2所示,該方法包括:[0084]步驟110,MPI調(diào)度器101確定有待執(zhí)行的MPI任務(wù),且資源池103中記錄的集群計(jì)算機(jī)可用資源能夠支持該待執(zhí)行MPI任務(wù)的資源需求;[0085]本實(shí)施例的MPI任務(wù)為MPI任務(wù)包(MPI運(yùn)行壓縮包)的形式,其中包含的信息與實(shí)施例一相同,也包含了MIP任務(wù)的資源需求。[0086]步驟120,MPI調(diào)度器101將所述MPI任務(wù)下發(fā)至一臺或多臺計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器102;[0087]本步驟中,MPI調(diào)度器101下發(fā)MPI任務(wù)時(shí)可以同時(shí)向執(zhí)行所述MPI任務(wù)的每臺計(jì)算機(jī)發(fā)送所述MPI任務(wù)對該計(jì)算機(jī)的資源需求。[0088]步驟130,MPI任務(wù)執(zhí)行器102執(zhí)行下發(fā)的MPI任務(wù);[0089]較佳地,各計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器102可以隔離出所需的本機(jī)資源并在此資源下執(zhí)行MPI任務(wù)。[0090]步驟140,MPI任務(wù)執(zhí)行器102在所在計(jì)算機(jī)的資源的狀態(tài)變化時(shí)更新資源池103中記錄的相應(yīng)資源的狀態(tài)。[0091]例如,MPI任務(wù)執(zhí)行器102在執(zhí)行MPI任務(wù)時(shí)將分配給所述MPI任務(wù)的資源的狀態(tài)更新為占用,在釋放資源(如執(zhí)行完MPI任務(wù)或終止執(zhí)行MPI任務(wù))后將資源池103中相應(yīng)的資源的狀態(tài)更新為可用。[0092]本實(shí)施例調(diào)度時(shí)可以根據(jù)MPI任務(wù)的資源需求信息為MPI任務(wù)分配適當(dāng)?shù)馁Y源,提高調(diào)度的效率、有效性和準(zhǔn)確性。也可以多臺計(jì)算機(jī)并行執(zhí)行一個(gè)MPI任務(wù),也可以隔離出符合要求的資源來執(zhí)行MPI任務(wù),提高資源利用率。[0093]實(shí)施例三[0094]如圖3所示,本實(shí)施例MPI任務(wù)和資源調(diào)度系統(tǒng)除包括MPI調(diào)度器101、MPI任務(wù)執(zhí)行器102和資源池103外,還包括任務(wù)包生成模塊104、任務(wù)隊(duì)列模塊105和監(jiān)控管理模塊106。其中,MPI調(diào)度器10UMPI任務(wù)執(zhí)行器102和資源池103具有實(shí)施一中相應(yīng)模塊的功能外,還具有一些增強(qiáng)的功能。[0095]本實(shí)施例中,MPI調(diào)度器101有多個(gè)。初始化時(shí),多個(gè)MPI調(diào)度器同時(shí)競爭一個(gè)分布式鎖,競爭到者為MPI主調(diào)度器,未競爭到者為MPI備調(diào)度器。MPI主調(diào)度器用于在運(yùn)行正常時(shí)執(zhí)行調(diào)度;MPI備調(diào)度器用于在MPI主調(diào)度器故障時(shí)競爭分布式鎖,競爭到分布式鎖后成為MPI主調(diào)度器繼續(xù)執(zhí)行調(diào)度。MPI調(diào)度器101是本系統(tǒng)的核心組件,本實(shí)施例的MPI調(diào)度器采用主備結(jié)構(gòu),可以避免單點(diǎn)故障,滿足對可靠性的更高要求。[0096]本實(shí)施例中,MPI調(diào)度器101還用于在下發(fā)MPI任務(wù)時(shí),將任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)更新為任務(wù)執(zhí)行中,在接收MPI任務(wù)執(zhí)行器102上報(bào)的MPI任務(wù)狀態(tài)后,更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài),如任務(wù)執(zhí)行完成、任務(wù)執(zhí)行異常等。此外,MPI調(diào)度器101還可用于在檢測到MPI任務(wù)運(yùn)行時(shí)長超過所述MPI任務(wù)的運(yùn)行配置信息中的超時(shí)時(shí)間時(shí),通知MPI任務(wù)執(zhí)行器102終止所述MPI任務(wù),并更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)為任務(wù)已終止。[0097]本實(shí)施例中,MPI任務(wù)執(zhí)行器102還用于在執(zhí)行MPI任務(wù)的過程中將MPI任務(wù)狀態(tài)如任務(wù)執(zhí)行完成、任務(wù)執(zhí)行異常等實(shí)時(shí)上報(bào)至MPI調(diào)度器101。MPI任務(wù)執(zhí)行器102還可用于在收到MPI調(diào)度器101終止MPI任務(wù)的通知后,終止所述MPI任務(wù)的執(zhí)行并釋放所述MPI任務(wù)所占用的資源。[0098]任務(wù)包生成模塊104,用于生成符合任務(wù)包規(guī)范的MPI任務(wù)包并提交,提交的方式可以是命令行、管理界面等。采用任務(wù)包生成模塊生成MPI任務(wù)包可以提高任務(wù)包生成的效率。[0099]任務(wù)隊(duì)列模塊105,用于以隊(duì)列方式存放提交的MPI任務(wù),可以先入先出的方式或者按照MPI任務(wù)的優(yōu)先級設(shè)置任務(wù)隊(duì)列,MPI任務(wù)的初始狀態(tài)可設(shè)為待執(zhí)行。MPI調(diào)度器101檢測此任務(wù)隊(duì)列中是否有待執(zhí)行的MPI任務(wù)。本實(shí)施例以任務(wù)隊(duì)列的方式等待調(diào)度器獲取資源后執(zhí)行,而不是全部任務(wù)同時(shí)運(yùn)行爭搶資源,可以提高任務(wù)管理的可控性和管理的有效性。任務(wù)隊(duì)列模塊105還用于實(shí)時(shí)記錄任務(wù)隊(duì)列中MPI任務(wù)的狀態(tài)。[0100]監(jiān)控管理模塊106,用于查看任務(wù)隊(duì)列中MPI任務(wù)的信息,如MPI任務(wù)的名稱、數(shù)量和狀態(tài)(如待執(zhí)行、執(zhí)行完成、執(zhí)行異常、任務(wù)終止等),還可根據(jù)用戶命令取消任務(wù)隊(duì)列中待執(zhí)行的一個(gè)或多個(gè)MPI任務(wù),查看MPI任務(wù)的處理日志等。本模塊支持命令行和界面操作,對任務(wù)執(zhí)行的關(guān)鍵環(huán)節(jié)(如執(zhí)行完成、執(zhí)行異常、任務(wù)終止等)可以發(fā)出事件響應(yīng)。[0101]本實(shí)施例調(diào)度系統(tǒng)可實(shí)時(shí)檢查MPI任務(wù)的并行執(zhí)行狀況并及時(shí)處理,克服了Torque方式下出現(xiàn)任務(wù)異常時(shí)只能全盤中止重新計(jì)算的缺陷,可以及時(shí)停止異常的任務(wù),并不影響其它正常任務(wù),提高系統(tǒng)的糾錯(cuò)能力。[0102]實(shí)施例四[0103]本實(shí)施例的MPI任務(wù)和資源調(diào)度方法基于實(shí)施例三的MPI任務(wù)和資源調(diào)度系統(tǒng),其方法包含了實(shí)施例二中的MPI任務(wù)和資源調(diào)度方法,在其基礎(chǔ)上,增加了以下的處理過程:[0104]競爭主調(diào)度器的過程,如圖4所示,包括:[0105]步驟210,初始化時(shí),多個(gè)MPI調(diào)度器同時(shí)競爭一個(gè)分布式鎖,競爭到者為MPI主調(diào)度器,未競爭到者為MPI備調(diào)度器;[0106]步驟220,MPI主調(diào)度器運(yùn)行正常時(shí)執(zhí)行調(diào)度;[0107]步驟230,MPI備調(diào)度器在MPI主調(diào)度器故障時(shí)競爭分布式鎖,競爭到分布式鎖后成為MPI主調(diào)度器繼續(xù)執(zhí)行調(diào)度。[0108]MPI調(diào)度器101是本系統(tǒng)的核心組件,本實(shí)施例的MPI調(diào)度器采用主備結(jié)構(gòu),可以避免單點(diǎn)故障,滿足對可靠性的更高要求。[0109]任務(wù)隊(duì)列生成及任務(wù)狀態(tài)更新的過程,如圖5所示,包括:[0110]步驟310,任務(wù)隊(duì)列模塊105以隊(duì)列方式存放任務(wù)包生成模塊104提交的MPI任務(wù),MPI任務(wù)的初始狀態(tài)設(shè)為待執(zhí)行;[0111]本步驟中,可以先入先出的方式或者按照MPI任務(wù)的優(yōu)先級設(shè)置隊(duì)列。以排隊(duì)的方式等待獲取資源進(jìn)行執(zhí)行,而不是全部任務(wù)同時(shí)運(yùn)行爭搶資源,可以提高任務(wù)管理的可控性和管理有效性。[0112]步驟320,MPI調(diào)度器101檢測到任務(wù)隊(duì)列中有待執(zhí)行的MPI任務(wù)且集群計(jì)算機(jī)可用資源支持所述MPI任務(wù)的資源需求時(shí),向一臺或多臺計(jì)算機(jī)下發(fā)任務(wù),并將任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)更新為任務(wù)執(zhí)行中;[0113]步驟330,MPI任務(wù)執(zhí)行器102將執(zhí)行的MPI任務(wù)的狀態(tài)實(shí)時(shí)上報(bào)至MPI調(diào)度器101;[0114]上述任務(wù)狀態(tài)如可以是任務(wù)執(zhí)行完成、任務(wù)執(zhí)行異常等。[0115]步驟340,MPI調(diào)度器101接收到MPI任務(wù)執(zhí)行器102上報(bào)的MPI任務(wù)狀態(tài)后,更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)。[0116]為方便對隊(duì)列任務(wù)信息的實(shí)時(shí)監(jiān)控,本方法還可以通過監(jiān)控管理模塊106查看任務(wù)隊(duì)列中MPI任務(wù)的數(shù)量、狀態(tài)(包括等待狀況、執(zhí)行狀況、例如等待中、已完成、中止等);取消任務(wù)隊(duì)列中一個(gè)或多個(gè)MPI任務(wù)包;查看MPI任務(wù)的處理日志。[0117]任務(wù)執(zhí)行超時(shí)終止的過程,包括:[0118]步驟410,MPI調(diào)度器101檢測到MPI任務(wù)運(yùn)行時(shí)長超過所述MPI任務(wù)的運(yùn)行配置信息中的超時(shí)時(shí)間;[0119]步驟420,MPI調(diào)度器101通知MPI任務(wù)執(zhí)行器102終止所述MPI任務(wù),并更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)為任務(wù)已終止;[0120]步驟430,MPI任務(wù)執(zhí)行器102收到所述通知后,終止所述MPI任務(wù)的執(zhí)行并釋放所述MPI任務(wù)所占用的資源。[0121]本實(shí)施例方法可實(shí)時(shí)檢查MPI任務(wù)的并行執(zhí)行狀況并及時(shí)處理,克服了Torque方式下出現(xiàn)任務(wù)異常時(shí)只能全盤中止重新計(jì)算的缺陷,可以及時(shí)停止異常的任務(wù),并不影響其它正常任務(wù),提高系統(tǒng)的糾錯(cuò)能力。[0122]應(yīng)用示例[0123]下面以廣告機(jī)器學(xué)習(xí)這一應(yīng)用場景下的MPI任務(wù)和資源調(diào)度為例,對本發(fā)明的上述實(shí)施例進(jìn)行示例性的說明。[0124]對于網(wǎng)上購物網(wǎng)站的搜索關(guān)鍵字廣告算法場景中,通常需要針對關(guān)鍵字進(jìn)行復(fù)雜的機(jī)器學(xué)習(xí)算法,通過相關(guān)模型分析出某些指標(biāo),這個(gè)過程需要反復(fù)迭代,即要進(jìn)行多則上千少則上百輪的計(jì)算,每一輪的結(jié)果又是下一輪計(jì)算的所需條件,由于該類型算法對資源的消耗很大,而目前廣告算法的MPI集群中的計(jì)算機(jī)有限,每日各種類型的機(jī)器學(xué)習(xí)分析算法任務(wù)都需要提交任務(wù)進(jìn)行計(jì)算,那么任務(wù)多,資源少,必須有一套任務(wù)和資源調(diào)度框架進(jìn)行合理的管理和分配。[0125]假設(shè)集群中有200臺計(jì)算機(jī),每臺資源為CPU24核,內(nèi)存80g,硬盤1000g;有三個(gè)MPI任務(wù)需要提交到該集群完成計(jì)算,三個(gè)任務(wù)的資源需求依次為:[0126]MPI任務(wù)一:CPU24核*60,內(nèi)存80g*60,硬盤200g*60;[0127]MPI任務(wù)二:CPU24核*80,內(nèi)存80g*80,硬盤500g*80;[0128]MPI任務(wù)三:CPU24核*70,內(nèi)存80g*70,硬盤400g*70。[0129]基于上述實(shí)施例三和四的MPI任務(wù)和資源調(diào)度系統(tǒng)進(jìn)行調(diào)度時(shí),先通過任務(wù)包生成模塊104針對每個(gè)計(jì)算任務(wù)分別構(gòu)建MPI任務(wù),MPI任務(wù)使用MPI任務(wù)包的形式,MPI任務(wù)包為MPI運(yùn)行壓縮包,其中包括MPI運(yùn)行程序(包括MPI實(shí)現(xiàn)的機(jī)器學(xué)習(xí)算法代碼)、依賴程序及運(yùn)行配置信息,運(yùn)行配置信息包括本計(jì)算任務(wù)的資源需求。任務(wù)包生成模塊104將生成的三個(gè)MPI任務(wù)提交到任務(wù)隊(duì)列模塊105,提交的方式可以是命令行方式或者是管理界面方式。[0130]任務(wù)隊(duì)列模塊105以隊(duì)列方式存放收到的MPI任務(wù),MPI任務(wù)的運(yùn)行配置信息中不包括MPI任務(wù)優(yōu)先級信息時(shí)以先入先出的方式設(shè)置任務(wù)隊(duì)列,MPI任務(wù)的運(yùn)行配置信息中包括MPI任務(wù)優(yōu)先級信息時(shí)按照MPI任務(wù)的優(yōu)先級設(shè)置任務(wù)隊(duì)列。[0131]當(dāng)集群計(jì)算機(jī)啟動時(shí),每臺機(jī)器上的MPI任務(wù)執(zhí)行器102向資源池103注冊所屬計(jì)算機(jī)的資源,并在所在計(jì)算機(jī)的資源的狀態(tài)變化時(shí)更新資源池103中相應(yīng)資源的狀態(tài),例如在執(zhí)行MPI任務(wù)時(shí)更新此計(jì)算機(jī)的資源為被占用狀態(tài),在執(zhí)行完或終止執(zhí)行MPI任務(wù)時(shí)更新此計(jì)算機(jī)的資源為可用狀態(tài)。資源池103記錄集群計(jì)算機(jī)資源的實(shí)時(shí)信息,如集群中計(jì)算機(jī)的CPU信息、內(nèi)存信息、硬盤信息。資源池103還可以根據(jù)計(jì)算機(jī)的使用情況更新資源信息。[0132]MPI調(diào)度器101檢測任務(wù)隊(duì)列,檢測到待執(zhí)行的MPI任務(wù)一,從資源池103獲知當(dāng)前可用資源的情況,確定能夠支持此MPI任務(wù)的資源需求,將MPI任務(wù)一發(fā)送到集群中的60臺計(jì)算機(jī)進(jìn)行執(zhí)行,此60臺計(jì)算機(jī)的MPI任務(wù)執(zhí)行器隔離出MPI任務(wù)所需的資源并在此資源下并行執(zhí)行MPI任務(wù)一中的MPI機(jī)器學(xué)習(xí)算法邏輯,占用60臺機(jī)器上的CPU、內(nèi)存、硬盤資源進(jìn)行迭代計(jì)算,MPI任務(wù)執(zhí)行器102即時(shí)將資源池103中該60臺計(jì)算機(jī)的資源更新為被占用狀態(tài)。[0133]MPI調(diào)度器101繼續(xù)檢測任務(wù)隊(duì)列,檢測到待執(zhí)行的MPI任務(wù)二,從資源池103獲知當(dāng)前可用資源的情況,確定能夠支持此MPI任務(wù)的資源需求,將MPI任務(wù)二發(fā)送到集群中的除上述60臺計(jì)算機(jī)之外的80臺計(jì)算機(jī)進(jìn)行執(zhí)行,此80臺計(jì)算機(jī)的MPI任務(wù)執(zhí)行器隔離出MPI任務(wù)所需的資源并在此資源下并行執(zhí)行MPI任務(wù)二中的MPI機(jī)器學(xué)習(xí)算法邏輯,占用80臺機(jī)器上的CPU、內(nèi)存、硬盤資源進(jìn)行迭代計(jì)算,MPI任務(wù)執(zhí)行器即時(shí)更新資源池103中該80臺計(jì)算機(jī)的資源為被占用狀態(tài)。[0134]MPI調(diào)度器101繼續(xù)檢測任務(wù)隊(duì)列,檢測到待執(zhí)行的MPI任務(wù)三,發(fā)現(xiàn)此任務(wù)的所需資源為70臺機(jī)器的CPU和內(nèi)存,從資源池103獲知當(dāng)前可用資源總體上無法滿足MPI任務(wù)三的資源需求(可用CPU和內(nèi)存無法滿足需求,可用的硬盤能滿足要求),于是暫不執(zhí)行MPI任務(wù)三。[0135]MPI任務(wù)一正常完成后,相應(yīng)的60臺計(jì)算機(jī)中的MPI任務(wù)執(zhí)行器102釋放所占用的資源,更新資源池中相應(yīng)資源的狀態(tài)為可用,并上報(bào)MPI調(diào)度器。MPI調(diào)度器101將任務(wù)隊(duì)列中MPI任務(wù)一的狀態(tài)更新任務(wù)執(zhí)行完成。[0136]MPI任務(wù)二在執(zhí)行過程中發(fā)生異常,相應(yīng)的80臺計(jì)算機(jī)中的MPI任務(wù)執(zhí)行器102釋放資源,更新資源池中相應(yīng)資源的狀態(tài),并上報(bào)MPI調(diào)度器101。MPI調(diào)度器101將任務(wù)隊(duì)列中MPI任務(wù)二的狀態(tài)更新為任務(wù)執(zhí)行異常。[0137]MPI任務(wù)一執(zhí)行完成后,MPI調(diào)度器101從資源池103獲知當(dāng)前可用資源能夠支持MPI任務(wù)三的資源需求,將MPI任務(wù)三發(fā)送到集群中的70臺計(jì)算機(jī)進(jìn)行執(zhí)行,此70臺計(jì)算機(jī)的MPI任務(wù)執(zhí)行器隔離出MPI任務(wù)所需的資源并在此資源下并行執(zhí)行第三MPI任務(wù)中的MPI機(jī)器學(xué)習(xí)算法邏輯,占用70臺機(jī)器上的CPU、內(nèi)存、硬盤資源進(jìn)行迭代計(jì)算,MPI任務(wù)執(zhí)行器即時(shí)更新資源池103中該70臺計(jì)算機(jī)的資源為被占用狀態(tài)。[0138]MPI任務(wù)三的運(yùn)行配置信息中還包括超時(shí)時(shí)間,MPI調(diào)度器101在MPI任務(wù)三執(zhí)行時(shí)長超過配置的該超時(shí)時(shí)間時(shí),通知相應(yīng)70臺計(jì)算機(jī)的MPI任務(wù)執(zhí)行器102終止執(zhí)行所述MPI任務(wù)。70臺計(jì)算機(jī)的MPI任務(wù)執(zhí)行器終止執(zhí)行MPI任務(wù)三,釋放其占用的資源,更新資源池中相應(yīng)資源的狀態(tài)為可用。[0139]MPI任務(wù)的開發(fā)人員可以通過監(jiān)控管理模塊106查看任務(wù)隊(duì)列中MPI任務(wù)的數(shù)量、狀態(tài)等信息,還可以取消任務(wù)隊(duì)列中的一個(gè)或多個(gè)MPI任務(wù);查看MPI任務(wù)的處理日志。[0140]上述MPI任務(wù)和資源調(diào)度系統(tǒng)和方法,在資源調(diào)度上,可以管理多臺計(jì)算機(jī)的CPU、內(nèi)存等資源,根據(jù)MPI任務(wù)請求的資源進(jìn)行分配,完成任務(wù)后再回收資源重利用;在任務(wù)調(diào)度上,可以實(shí)現(xiàn)MPI任務(wù)的提交,隊(duì)列等候,優(yōu)先策略和調(diào)度分發(fā)到不同計(jì)算機(jī)執(zhí)行。改進(jìn)了基于Torque的操作系統(tǒng)作業(yè)管理工具的做法,并區(qū)別于其他大型互聯(lián)網(wǎng)公司的類似問題解決。[0141]當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。[0142]本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲于計(jì)算機(jī)可讀存儲介質(zhì)中,如只讀存儲器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合?!緳?quán)利要求】1.一種消息傳遞接口(MPI)任務(wù)和資源調(diào)度系統(tǒng),其特征在于,所述系統(tǒng)包括MPI調(diào)度器(101);所述MPI調(diào)度器(101),用于基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度,所述MPI任務(wù)使用MPI任務(wù)包的形式,所述MPI任務(wù)包括MPI運(yùn)行程序和運(yùn)行配置信息,所述運(yùn)行配置信息包括MIP任務(wù)的資源需求。2.如權(quán)利要求1所述的系統(tǒng),其特征在于:所述系統(tǒng)還包括集群計(jì)算機(jī)上設(shè)置的MPI任務(wù)執(zhí)行器(102);所述MPI調(diào)度器(101)基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度,包括:在有待執(zhí)行的MPI任務(wù)且集群計(jì)算機(jī)可用資源能夠支持該待執(zhí)行的MPI任務(wù)的資源需求時(shí),將所述MPI任務(wù)下發(fā)至一臺或多臺計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102);所述MPI任務(wù)執(zhí)行器(102),用于執(zhí)行下發(fā)的MPI任務(wù)。3.如權(quán)利要求2所述的系統(tǒng),其特征在于:所述系統(tǒng)還包括資源池(103);所述MPI任務(wù)執(zhí)行器(102),還用于向所述資源池(103)注冊所在計(jì)算機(jī)的資源,及在所在計(jì)算機(jī)的資源的狀態(tài)變化時(shí)更新資源池(103)中記錄的相應(yīng)資源的狀態(tài);所述資源池(103),用于記錄集群計(jì)算機(jī)資源的實(shí)時(shí)信息,包括集群中各計(jì)算機(jī)具有的資源及其狀態(tài);所述MPI調(diào)度器(101)是根據(jù)所述資源池(103)記錄的集群計(jì)算機(jī)資源的實(shí)時(shí)信息獲知所述集群計(jì)算機(jī)可用資源。4.如權(quán)利要求1或2或3所述的系統(tǒng),其特征在于:所述系統(tǒng)還包括:任務(wù)隊(duì)列模塊(105),用于以隊(duì)列方式存放MPI任務(wù);所述MPI調(diào)度器(101)是從所述任務(wù)隊(duì)列模塊(105)的任務(wù)隊(duì)列檢測到待執(zhí)行的MPI任務(wù)。5.如權(quán)利要求4所述的系統(tǒng),其特征在于:所述系統(tǒng)還包括:任務(wù)包生成模塊(104),用于生成符合任務(wù)包規(guī)范的MPI任務(wù)包并提交至所述任務(wù)隊(duì)列模塊(105)。6.如權(quán)利要求4所述的系統(tǒng),其特征在于:所述MPI任務(wù)執(zhí)行器(102)還用于將執(zhí)行的MPI任務(wù)的狀態(tài)實(shí)時(shí)上報(bào)至所述MPI調(diào)度器(101);所述MPI調(diào)度器(101)還用于在下發(fā)MPI任務(wù)時(shí),將任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)更新為任務(wù)執(zhí)行中,在接收MPI任務(wù)執(zhí)行器(102)上報(bào)的MPI任務(wù)狀態(tài)后,更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)。7.如權(quán)利要求6所述的系統(tǒng),其特征在于:所述系統(tǒng)還包括:監(jiān)控管理模塊(106),用于查看所述任務(wù)隊(duì)列中的MPI任務(wù)及狀態(tài),取消所述任務(wù)隊(duì)列中一個(gè)或多個(gè)MPI任務(wù),及查看MPI任務(wù)的處理日志。8.如權(quán)利要求4所述的系統(tǒng),其特征在于:所述MPI調(diào)度器(101)還用于在檢測到MPI任務(wù)運(yùn)行時(shí)長超過所述MPI任務(wù)的運(yùn)行配置信息中的超時(shí)時(shí)間時(shí),通知MPI任務(wù)執(zhí)行器(102)終止所述MPI任務(wù),并更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)為任務(wù)已終止;所述MPI任務(wù)執(zhí)行器(102)還可用于在收到終止MPI任務(wù)的通知后,終止所述MPI任務(wù)的執(zhí)行并釋放所述MPI任務(wù)所占用的資源。9.如權(quán)利要求1或2或3或5或6或7或8所述的系統(tǒng),其特征在于:所述MPI調(diào)度器(101)有多個(gè),包括MPI主調(diào)度器和MPI備調(diào)度器;所述MPI主調(diào)度器,用于在運(yùn)行正常時(shí)執(zhí)行調(diào)度;所述MPI備調(diào)度器,用于在所述MPI主調(diào)度器故障時(shí)競爭分布式鎖,在競爭到分布式鎖后作為MPI主調(diào)度器繼續(xù)執(zhí)行調(diào)度。10.如權(quán)利要求2或3或5或6或7或8所述的系統(tǒng),其特征在于:所述MPI調(diào)度器(101)下發(fā)MPI任務(wù)時(shí)同時(shí)還向執(zhí)行所述MPI任務(wù)的每臺計(jì)算機(jī)發(fā)送所述MPI任務(wù)對該計(jì)算機(jī)的資源需求;所述MPI任務(wù)執(zhí)行器(102)執(zhí)行下發(fā)的MPI任務(wù),包括:各計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102)隔離出所述MPI任務(wù)需求的本機(jī)資源并在此資源下執(zhí)行所述MPI任務(wù)。11.一種消息傳遞接口(MPI)任務(wù)和資源調(diào)度方法,包括:MPI調(diào)度器(101)確定待執(zhí)行的MPI任務(wù)的資源需求;所述MPI調(diào)度器(101)基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度;其中,所述MPI任務(wù)使用MPI任務(wù)包的形式,所述MPI任務(wù)包括MPI運(yùn)行程序和運(yùn)行配置信息,所述運(yùn)行配置信息包括MIP任務(wù)的資源需求。12.如權(quán)利要求11所述的方法,其特征在于:所述MPI調(diào)度器(101)基于待執(zhí)行的MPI任務(wù)的資源需求進(jìn)行MPI任務(wù)和資源調(diào)度,包括:MPI調(diào)度器(101)確定有待執(zhí)行的MPI任務(wù),且集群計(jì)算機(jī)可用資源能夠支持該待執(zhí)行MPI任務(wù)的資源需求時(shí),將所述MPI任務(wù)下發(fā)至一臺或多臺計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102);所述方法還包括:MPI任務(wù)執(zhí)行器(102)執(zhí)行下發(fā)的MPI任務(wù)。13.如權(quán)利要求12所述的方法,其特征在于:還包括:所述MPI任務(wù)執(zhí)行器(102)向資源池(103)注冊所在計(jì)算機(jī)的資源,并在所在計(jì)算機(jī)的資源的狀態(tài)變化時(shí)更新資源池(103)中記錄的相應(yīng)資源的狀態(tài);所述MPI調(diào)度器(101)是根據(jù)所述資源池(103)記錄的集群計(jì)算機(jī)資源的實(shí)時(shí)信息獲知所述集群計(jì)算機(jī)可用資源。14.如權(quán)利要求12或13所述的方法,其特征在于,還包括:任務(wù)隊(duì)列模塊(105)以隊(duì)列方式存放MPI任務(wù),MPI任務(wù)的初始狀態(tài)設(shè)為待執(zhí)行;所述MPI調(diào)度器(101)是從所述任務(wù)隊(duì)列模塊(105)的任務(wù)隊(duì)列檢測到待執(zhí)行的MPI任務(wù),在下發(fā)MPI任務(wù)時(shí)還將任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)更新為任務(wù)執(zhí)行中;所述MPI任務(wù)執(zhí)行器(102)將執(zhí)行的MPI任務(wù)的狀態(tài)實(shí)時(shí)上報(bào)至MPI調(diào)度器(101);所述MPI調(diào)度器(101)接收到MPI任務(wù)執(zhí)行器(102)上報(bào)的MPI任務(wù)狀態(tài)后,更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)。15.如權(quán)利要求14所述的方法,其特征在于,還包括:所述MPI調(diào)度器(101)檢測到MPI任務(wù)運(yùn)行時(shí)長超過所述MPI任務(wù)的運(yùn)行配置信息中的超時(shí)時(shí)間時(shí),通知MPI任務(wù)執(zhí)行器(102)終止所述MPI任務(wù),并更新任務(wù)隊(duì)列中所述MPI任務(wù)的狀態(tài)為任務(wù)已終止;所述MPI任務(wù)執(zhí)行器(102)收到終止MPI任務(wù)的通知后,終止所述MPI任務(wù)的執(zhí)行并釋放所述MPI任務(wù)所占用的資源。16.如權(quán)利要求14所述的方法,其特征在于,還包括:通過監(jiān)控管理模塊(106)查看所述任務(wù)隊(duì)列中的MPI任務(wù)及狀態(tài),取消所述任務(wù)隊(duì)列中一個(gè)或多個(gè)MPI任務(wù),及查看MPI任務(wù)的處理日志。17.如權(quán)利要求12或13或15或16所述的方法,其特征在于,還包括:所述MPI調(diào)度器(101)下發(fā)MPI任務(wù)時(shí)同時(shí)向執(zhí)行所述MPI任務(wù)的每臺計(jì)算機(jī)發(fā)送所述MPI任務(wù)對該計(jì)算機(jī)的資源需求;執(zhí)行所述MPI任務(wù)的所述計(jì)算機(jī)上的MPI任務(wù)執(zhí)行器(102)隔離出所述MPI任務(wù)需求的本機(jī)資源,并在此資源下執(zhí)行所述MPI任務(wù)。18.如權(quán)利要求11或12或13或15或16所述的方法,其特征在于,還包括:初始化時(shí),多個(gè)MPI調(diào)度器(101)同時(shí)競爭一個(gè)分布式鎖,競爭到者為MPI主調(diào)度器,未競爭到者為MPI備調(diào)度器;MPI主調(diào)度器運(yùn)行正常時(shí)執(zhí)行調(diào)度;MPI備調(diào)度器在MPI主調(diào)度器故障時(shí)競爭分布式鎖,競爭到分布式鎖后成為MPI主調(diào)度器繼續(xù)執(zhí)行調(diào)度?!疚臋n編號】H04L29/08GK103780655SQ201210410403【公開日】2014年5月7日申請日期:2012年10月24日優(yōu)先權(quán)日:2012年10月24日【發(fā)明者】彭淵申請人:阿里巴巴集團(tuán)控股有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
双鸭山市| 东兰县| 西充县| 灵石县| 独山县| 微山县| 张家界市| 铅山县| 会东县| 额尔古纳市| 大庆市| 雷波县| 卢龙县| 西平县| 岐山县| 泰来县| 新龙县| 巴林左旗| 西宁市| 赤水市| 沭阳县| 灌阳县| 囊谦县| 平湖市| 绥芬河市| 卓资县| 襄垣县| 阳曲县| 香河县| 永昌县| 松原市| 阜康市| 衢州市| 梅州市| 铜山县| 两当县| 阜康市| 巴中市| 石门县| 天水市| 杭锦旗|