專利名稱:一種基于預(yù)約的批量作業(yè)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機技術(shù)領(lǐng)域,具體涉及一種基于預(yù)約的批量作業(yè)調(diào)度方法。
背景技術(shù):
高性能集群是用于進行高性能計算的軟硬件系統(tǒng)的總稱。硬件上通常由高性能服務(wù)器、高速存儲、高速網(wǎng)絡(luò)、機房基礎(chǔ)設(shè)施(如供電、制冷)等部分組成;軟件方面,通常包括作業(yè)調(diào)度軟件、集群監(jiān)控管理軟件、并行存儲軟件等部分組成。作業(yè)調(diào)度系統(tǒng)是負責(zé)完成應(yīng)用作業(yè)調(diào)度的軟件系統(tǒng)。從功能上說,通常由資源管理器、作業(yè)調(diào)度器、任務(wù)執(zhí)行器等部分組成;調(diào)度系統(tǒng)類似于一個操作系統(tǒng),一般會提供比較完善的對于作業(yè)、資源等內(nèi)部對象進行管理的接口,包括命令行接口、API接口。比較常
見的調(diào)度系統(tǒng)包括LSF、SGE、PBS (Torque是pbs的一個分支)。耦合仿真計算是當(dāng)前一種比較熱門的仿真應(yīng)用領(lǐng)域。在高速列車、飛機、汽車等領(lǐng)域中都有重要的應(yīng)用。目前,耦合仿真應(yīng)用通常都是作為一個專有的軟件系統(tǒng),運行于類似工作站等環(huán)境下,很少考慮在集群環(huán)境下的使用。從發(fā)展趨勢來看,這類應(yīng)用以后在集群下運行是必然的。問題就在于調(diào)度系統(tǒng)如何支持該類型計算。耦合任務(wù)計算有一個顯著特征就是,各個耦合模塊必須同時調(diào)度成功,耦合任務(wù)才能開始計算。這與傳統(tǒng)的作業(yè)調(diào)度是不同的。在目前主流的調(diào)度系統(tǒng)都是對于單個作業(yè)提供了各種調(diào)度算法,作業(yè)流功能也僅僅是定義作業(yè)之間數(shù)據(jù)流轉(zhuǎn)、作業(yè)運行等時序關(guān)系,基本都不支持對于作業(yè)的批量調(diào)度。
發(fā)明內(nèi)容
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于預(yù)約的批量作業(yè)調(diào)度方法,解決了耦合作業(yè)批量調(diào)度的問題,可以保證耦合任務(wù)的正常計算,同時還可以避免個別耦合任務(wù)啟動但耦合作業(yè)整體不能計算的問題,提高集群的整體利用率。為了實現(xiàn)上述發(fā)明目的,本發(fā)明采取如下技術(shù)方案一種基于預(yù)約的批量作業(yè)調(diào)度方法,所述方法包括以下步驟步驟I :提交作業(yè)并為作業(yè)指定耦合屬性;步驟2 :作業(yè)調(diào)度系統(tǒng)對作業(yè)進行調(diào)度,若發(fā)現(xiàn)某個任務(wù)為耦合任務(wù),則自動將這類任務(wù)作為一組,統(tǒng)一任務(wù)的優(yōu)先級為該耦合任務(wù)中優(yōu)先級最高的任務(wù);步驟3 :若所有耦合任務(wù)成功創(chuàng)建臨時預(yù)約,則開始作業(yè)啟動過程;否則,刪除之前創(chuàng)建的臨時預(yù)約,然后繼續(xù)處理下個作業(yè);步驟4 :若所有耦合任務(wù)均對應(yīng)臨時預(yù)約,則批量啟動所有耦合任務(wù)。所述步驟I中,提交第一個耦合任務(wù)時,所述作業(yè)調(diào)度系統(tǒng)自動返回耦合編號。提交后續(xù)任務(wù)時,指定使用所述耦合編號。所述步驟2中,作業(yè)調(diào)度系統(tǒng)根據(jù)優(yōu)先級調(diào)度任務(wù)時,若發(fā)現(xiàn)該耦合任務(wù),則在匹配資源成功時,創(chuàng)建臨時預(yù)約,然后繼續(xù)檢查同一耦合作業(yè)的其它任務(wù)。
所述步驟4中,若有任一任務(wù)啟動失敗,則通過回滾刪除已經(jīng)啟動的任務(wù),并刪除臨時預(yù)約,繼續(xù)處理下個作業(yè)。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果在于本發(fā)明提供一種基于預(yù)約的批量作業(yè)調(diào)度方法,解決了耦合作業(yè)批量調(diào)度的問題,可以保證耦合任務(wù)的正常計算,同時還可以避免個別耦合任務(wù)啟動但耦合作業(yè)整體不能計算的問題,提高集群的整體利用率;該方法簡單可靠,易執(zhí)行。
圖I是耦合任務(wù)調(diào)度流程圖。
具體實施例方式下面結(jié)合附圖對本發(fā)明作進一步詳細說明。 本發(fā)明提供一種基于預(yù)約的批量作業(yè)調(diào)度方法,所述方法包括以下步驟步驟I :提交作業(yè)并為作業(yè)指定耦合屬性;提交第一個耦合任務(wù)時,所述作業(yè)調(diào)度系統(tǒng)自動返回耦合編號。提交后續(xù)任務(wù)時,指定使用所述耦合編號。耦合任務(wù)提交完成后可以通過命令通知調(diào)度系統(tǒng)該組耦合任務(wù)可以調(diào)度。步驟2 :作業(yè)調(diào)度系統(tǒng)對作業(yè)進行調(diào)度,若發(fā)現(xiàn)某個任務(wù)為耦合任務(wù),則自動將這類任務(wù)作為一組,統(tǒng)一任務(wù)的優(yōu)先級為該耦合任務(wù)中優(yōu)先級最高的任務(wù);作業(yè)調(diào)度系統(tǒng)根據(jù)優(yōu)先級調(diào)度任務(wù)時,若發(fā)現(xiàn)該耦合任務(wù),則在匹配資源成功時,創(chuàng)建臨時預(yù)約,然后繼續(xù)檢查同一耦合作業(yè)的其它任務(wù)。步驟3 :若所有耦合任務(wù)成功創(chuàng)建臨時預(yù)約,則開始作業(yè)啟動過程;否則,刪除之前創(chuàng)建的臨時預(yù)約,然后繼續(xù)處理下個作業(yè);步驟4 :若所有耦合任務(wù)均對應(yīng)臨時預(yù)約,則批量啟動所有耦合任務(wù)。若有任一任務(wù)啟動失敗,則通過回滾刪除已經(jīng)啟動的任務(wù),并刪除臨時預(yù)約,繼續(xù)處理下個作業(yè)。最后應(yīng)當(dāng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對其限制,盡管參照上述實施例對本發(fā)明進行了詳細的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對本發(fā)明的具體實施方式
進行修改或者等同替換,而未脫離本發(fā)明精神和范圍的任何修改或者等同替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種基于預(yù)約的批量作業(yè)調(diào)度方法,其特征在于所述方法包括以下步驟 步驟I:提交作業(yè)并為作業(yè)指定耦合屬性; 步驟2 :作業(yè)調(diào)度系統(tǒng)對作業(yè)進行調(diào)度,若發(fā)現(xiàn)某個任務(wù)為耦合任務(wù),則自動將這類任務(wù)作為一組,統(tǒng)一任務(wù)的優(yōu)先級為該耦合任務(wù)中優(yōu)先級最高的任務(wù); 步驟3 :若所有耦合任務(wù)成功創(chuàng)建臨時預(yù)約,則開始作業(yè)啟動過程;否則,刪除之前創(chuàng)建的臨時預(yù)約,然后繼續(xù)處理下個作業(yè); 步驟4 :若所有耦合任務(wù)均對應(yīng)臨時預(yù)約,則批量啟動所有耦合任務(wù)。
2.根據(jù)權(quán)利要求I所述的基于預(yù)約的批量作業(yè)調(diào)度方法,其特征在于所述步驟I中,提交第一個耦合任務(wù)時,所述作業(yè)調(diào)度系統(tǒng)自動返回耦合編號。
3.根據(jù)權(quán)利要求2所述的基于預(yù)約的批量作業(yè)調(diào)度方法,其特征在于提交后續(xù)任務(wù)時,指定使用所述耦合編號。
4.根據(jù)權(quán)利要求I所述的基于預(yù)約的批量作業(yè)調(diào)度方法,其特征在于所述步驟2中,作業(yè)調(diào)度系統(tǒng)根據(jù)優(yōu)先級調(diào)度任務(wù)時,若發(fā)現(xiàn)該耦合任務(wù),則在匹配資源成功時,創(chuàng)建臨時預(yù) 約,然后繼續(xù)檢查同一耦合作業(yè)的其它任務(wù)。
5.根據(jù)權(quán)利要求I所述的基于預(yù)約的批量作業(yè)調(diào)度方法,其特征在于所述步驟4中,若有任一任務(wù)啟動失敗,則通過回滾刪除已經(jīng)啟動的任務(wù),并刪除臨時預(yù)約,繼續(xù)處理下個作業(yè)。
全文摘要
本發(fā)明提供一種基于預(yù)約的批量作業(yè)調(diào)度方法,包括以下步驟提交作業(yè)并為作業(yè)指定耦合屬性;作業(yè)調(diào)度系統(tǒng)對作業(yè)進行調(diào)度,若發(fā)現(xiàn)某個任務(wù)為耦合任務(wù),則自動將這類任務(wù)作為一組,統(tǒng)一任務(wù)的優(yōu)先級為該耦合任務(wù)中優(yōu)先級最高的任務(wù);若所有耦合任務(wù)成功創(chuàng)建臨時預(yù)約,則開始作業(yè)啟動過程;否則,刪除之前創(chuàng)建的臨時預(yù)約,然后繼續(xù)處理下個作業(yè);若所有耦合任務(wù)均對應(yīng)臨時預(yù)約,則批量啟動所有耦合任務(wù)。本發(fā)明解決了耦合作業(yè)批量調(diào)度的問題,可以保證耦合任務(wù)的正常計算,同時還可以避免個別耦合任務(wù)啟動但耦合作業(yè)整體不能計算的問題,提高集群的整體利用率。
文檔編號G06F9/46GK102929695SQ201210348300
公開日2013年2月13日 申請日期2012年9月18日 優(yōu)先權(quán)日2012年9月18日
發(fā)明者張濤 申請人:曙光信息產(chǎn)業(yè)(北京)有限公司