System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及云計算領域,尤其涉及一種云原生環境下基于kubernetes的dag作業調度技術。
技術介紹
1、近年來,云原生逐漸成為云計算2.0時代的標準范式。云原生采用開源堆棧對工作負載進行容器化,基于微服務架構提高靈活性和可維護性,借助敏捷方法、devops支持持續迭代和運維自動化,利用云平臺設施實現彈性伸縮、動態調度、優化資源利用率。
2、kubernetes,是一種開源的容器集群管理系統,提供應用部署、維護、擴展機制等功能,在kubernetes上提交作業需要上傳一份按照指定格式清晰定義各個組件執行內容和資源需求的yaml文件(一種配置文件),隨后kubernetes將開始對該作業中各組件按照調度策略和規則進行調度并執行。
3、然而,kubernetes目前對形如“有向無環圖(directed?acyclic?graph,簡稱dag)”結構的計算任務的調度能力有待提高。
技術實現思路
1、本專利技術針對現有技術中的kubernetes對待dag作業的調度能力差的缺點,提供了一種基于策略搜索和圖卷積網絡的dag作業調度技術。
2、為了解決上述技術問題,本專利技術通過下述技術方案得以解決:
3、一種dag作業調度方法,當作業的進度狀態發生更新時,進行以下步驟:
4、獲取各作業的原生特征數據;
5、所述原生特征數據包括作業原生特征向量及與任務一一對應的任務原生特征向量;
6、所述作業原生特征向量
7、所述任務原生特征向量包含所述節點分配信息,還包含對應任務的資源占用信息;
8、基于圖卷積神經網絡對所述原生特征數據進行嵌入特征向量的提取,基于提取結果生成狀態特征向量;
9、將各作業的任務記為候選任務,所述狀態特征向量與所述候選任務一一對應;
10、將所述狀態特征向量輸入第一預測網絡,由所述第一預測網絡預測各候選任務被調度的概率,獲得各候選任務的調度優先度;
11、按照所述調度優先度從大到小的順序,基于狀態特征向量依次為候選任務選擇分配節點,基于選擇結果生成調度策略。
12、作為一種可實施方式:
13、所述提取結果包括:
14、與所述候選任務一一對應的任務嵌入特征向量;
15、與所述作業一一對應的作業嵌入特征向量;
16、一全局嵌入特征向量;
17、所述狀態特征向量包含所述全局特征向量,還包含與所述候選任務相對應的任務特征向量和作業特征向量。
18、作為一種可實施方式:
19、所述圖卷積神經網絡包括:
20、第一提取網絡,基于候選任務的作業原生特征向量和任務原生特征向量,以及所述候選任務的孩子任務的任務嵌入特征向量,生成所述候選任務的任務嵌入特征向量;
21、第二提取網絡,基于作業的作業原生特征向量,以及與所述作業相對應的任務嵌入特征向量,生成所述作業的作業嵌入特征向量;
22、第三提取網絡,基于各作業嵌入特征向量,生成所述全局嵌入特征向量。
23、作為一種可實施方式,為候選任務選擇分配節點的具體步驟包括:
24、將當前待分配節點的候選任務作為目標任務;
25、篩選滿足所述目標任務執行的節點,獲得候選節點;
26、獲取各候選節點的節點特征向量,所述節點特征向量包含對應節點的資源利用數據;
27、基于所述節點特征向量和所述目標任務的狀態特征向量,計算各候選節點的分配優先度,將分配優先度最大的候選節點作為目標任務的目標節點。
28、作為一種可實施方式:
29、由第二預測網絡基于所述節點特征向量和所述目標任務的狀態特征向量預測各候選節點被分配的概率,獲得各候選節點的分配優先度。
30、作為一種可實施方式,所述調度策略包括至少一個調度動作,所述調度動作用于指示執行調度的任務和節點;
31、生成所述調度策略后,基于預設的優化目標計算各調度動作所對應的獎勵,并統計獲得累計獎勵;
32、所述預設的優化目標為提前最后一個作業的完工時間,并降低中間數據在集群內占用的緩存開銷。
33、所述累計獎勵用于更新所述圖卷積神經網絡和所述第一預測網絡。
34、作為一種可實施方式,第k-1個調度動作的獎勵rk-1的計算公式為:
35、rk-1=-(tk-tk-1)(|jk|+|ξ(jk)|);
36、其中:
37、tk表示第k個調度動作觸發時的全局時間;
38、tk-1表示第k-1個調度動作觸發時的全局時間;
39、jk是時間段[tk-1,tk)內未完成的任務的集合;
40、ξ(jk)是jk中所有任務的父任務的集合;
41、|jk|是jk內元素的數量;
42、|ξ(jk)1是ξ(jk)內元素的數量。
43、一種dag作業調度方法,包括:
44、監控模塊,用于當作業的進度狀態發生更新時,獲取并傳輸各作業的原生特征數據;
45、所述原生特征數據包括作業原生特征向量及與任務一一對應的任務原生特征向量;
46、所述作業原生特征向量包含所述作業的節點分配信息;
47、所述任務原生特征向量包含所述節點分配信息,還包含對應任務的資源占用信息;代理模塊,用于基于所述原生特征數據生成相應的調度策略;
48、所述代理模塊包括:
49、特征提取單元,用于基于圖卷積神經網絡對所述原生特征數據進行嵌入特征向量的提取,基于提取結果生成狀態特征向量;將各作業的任務記為候選任務,所述狀態特征向量與所述候選任務一一對應;
50、第一策略單元,用于將所述狀態特征向量輸入第一預測網絡,由所述第一預測網絡預測各候選任務被調度的概率,獲得各候選任務的調度優先度;
51、第二策略單元,用于按照所述調度優先度從大到小的順序,依次為候選任務選擇分配節點,基于選擇結果生成調度策略。
52、作為一種可實施方式,還包括kubernetes平臺;
53、所述kubernetes平臺用于當作業的進度狀態發生更新時生成相應的rpc請求,所述rpc請求各作業的原生特征數據;
54、所述監控模塊,用于接收所述rpc請求,獲取所述原生特征數據;
55、所述第二策略單元,還用于基于所述調度策略生成相應的rpc響應,并將所述rpc響應反饋至所述kubemetes平臺。
56、一種計算機可讀存儲介質,其上存儲有計算機程序,所述程序被處理器執行時實現上述任一所述方法的步驟。
57、本專利技術由于采用了以上技術方案,具有顯著的技術效果:
58、本專利技術能夠在系統中作業完成進度出現更新時,通過圖卷積神經網絡對所述本文檔來自技高網...
【技術保護點】
1.一種DAG作業調度方法,其特征在于,當作業的進度狀態發生更新時,進行以下步驟:
2.根據權利要求1所述的DAG作業調度方法,其特征在于:
3.根據權利要求2所述的DAG作業調度方法,其特征在于:
4.根據權利要求1所述的DAG作業調度方法,其特征在于,為候選任務選擇分配節點的具體步驟包括:
5.根據權利要求4所述的DAG作業調度方法,其特征在于:
6.根據權利要求1所述的DAG作業調度方法,其特征在于,所述調度策略包括至少一個調度動作,所述調度動作用于指示執行調度的任務和節點;
7.根據權利要求6所述的DAG作業調度方法,其特征在于,第k-1個調度動作的獎勵rk-1的計算公式為:
8.一種DAG作業調度方法,其特征在于,包括:
9.根據權利要求8所述的DAG作業調度方法,其特征在于,還包括Kubernetes平臺;
10.一種計算機可讀存儲介質,其上存儲有計算機程序,所述程序被處理器執行時實現如權利要求1~7任一所述方法的步驟。
【技術特征摘要】
1.一種dag作業調度方法,其特征在于,當作業的進度狀態發生更新時,進行以下步驟:
2.根據權利要求1所述的dag作業調度方法,其特征在于:
3.根據權利要求2所述的dag作業調度方法,其特征在于:
4.根據權利要求1所述的dag作業調度方法,其特征在于,為候選任務選擇分配節點的具體步驟包括:
5.根據權利要求4所述的dag作業調度方法,其特征在于:
6.根據權利要求1所述的dag作業調度方法,其特征在于,所述調...
【專利技術屬性】
技術研發人員:趙海亮,鄧水光,程冠杰,尹建偉,
申請(專利權)人:浙江大學海南研究院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。