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