System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本說明書涉及智能計算,尤其涉及一種計算內核動態調度系統及方法。
技術介紹
1、隨著人工智能技術的快速發展,特別的大模型的出現,對智能算力的需求也急劇增加。
2、然而,諸如:圖形處理器(graphics?processing?unit,gpu)等智能算力芯片在將不同任務的計算內核調度到不同計算單元中運行時,可能會由于智能算力芯片中所設置的固定算力和黑盒調度機制導致出現算力浪費、任務實時性受到干擾等問題,進而限制了通過智能算力芯片進行任務執行的效率。
3、例如:gpu芯片一般由多個具有獨立運算能力的計算單元組成(streamingmultiprocessor),這些計算單元包含多個計算核心(streaming?processor),以及指令緩存、l1緩存、共享內存等組件。但是,這些計算單元中的每個計算核心的算力固定,并且由于gpu芯片內部的調度機制對正在執行的任務而言是黑盒的,并且受限于硬件能力的限制,使得將正在執行的任務的各計算內核調度到gpu芯片中運行時所采用的調度機制為先進先出的簡單調度機制,使得gpu芯片中的計算核心和計算單元的算力不能被充分利用,從而出現算力浪費的情況。
4、再例如:需要通過gpu芯片執行的計算任務不同,對于實時性要求往往也不相同,即,部分任務對實時性要求較高,而部分任務對于實時性沒有要求,而當上述的兩類任務同時執行時,可能會出現資源競爭、調度策略沖突等問題,進而導致gpu芯片執行計算任務的實時性和吞吐量下降。
5、因此,如何提升通過智能算力芯片進行任務執行的
技術實現思路
1、本說明書提供一種計算內核動態調度系統及方法,以部分的解決現有技術存在的上述問題。
2、本說明書采用下述技術方案:
3、本說明書提供了一種計算內核動態調度系統,所述計算內核動態調度系統包括:請求管理模塊、調度管理模塊、監控管理模塊、運行管理模塊;
4、所述請求管理模塊,用于獲取至少一個待運行計算內核,其中,所述待運行計算內核為需要執行的目標任務的計算業務邏輯代碼段;
5、所述調度管理模塊,用于針對每個待運行計算內核,根據該待運行計算內核的執行特征數據,確定該待運行計算內核的后置系數,并根據每個待運行計算內核的后置系數,以及通過所述監控管理模塊采集到的預設的指定芯片的運行狀態數據,從各待運行計算內核中確定出目標計算內核,并從所述指定芯片的各處理單元中,確定出目標處理單元,將所述目標計算內核以及所述目標處理單元發送給所述運行管理模塊,其中,所述執行特征數據用于反映該待運行計算內核所允許的遲延大小,包括:該待運行計算內核所屬的目標任務的任務類型、該待運行計算內核的等待時間、該待運行計算內核的預估完成時間、該待運行計算內核對應的服務性能指標參數中的至少一種,所述運行狀態數據包括:用于反映所述指定芯片中每個處理單元狀態的狀態數據以及顯存資源占用數據;
6、所述運行管理模塊,用于在接收到所述目標計算內核以及所述目標處理單元后,將所述目標計算內核派發到所述目標處理單元中運行。
7、可選地,所述請求管理模塊,用于獲取任務請求,根據所述任務請求確定需要執行的目標任務,并確定執行所述目標任務時需要通過指定芯片運行的至少一個待運行計算內核,針對每個待運行計算內核,根據該待運行計算內核所屬的目標任務的任務類型,將該待運行計算內核存放到預設的各等候隊列中與該待運行計算內核相匹配的等候隊列中,所述等候隊列包括:實時任務等候隊列、非實時任務等候隊列、中斷任務等候隊列;
8、所述調度管理模塊,用于確定所述各等候隊列中每個待運行計算內核的后置系數。
9、可選地,所述目標任務的任務類型包括:實時任務、非實時任務;
10、所述調度管理模塊,用于在確定所述目標任務的任務類型為實時任務時,針對每個待運行計算內核,根據該待運行計算內核對應的服務性能指標參數和預估完成時間,確定該待運行計算內核的后置系數。
11、可選地,所述調度管理模塊,用于在根據該待運行計算內核的后置系數,確定該待運行計算內核為目標計算內核,并且根據所述運行狀態數據,確定所述各處理單元中不存在處于空閑狀態的處理單元時,根據每個處理單元正在運行的計算內核的服務性能指標參數,從所述各處理單元中,確定出目標處理單元,并將所述目標計算內核以及所述目標處理單元發送給所述運行管理模塊;
12、所述運行管理模塊,用于在接收到所述目標計算內核以及所述目標處理單元,并且在確定所述目標處理單元存在正在運行的計算內核時,停止所述目標處理單元正在運行的計算內核,并將所述目標計算內核派發到所述目標處理單元中執行。
13、可選地,所述處理單元包括:計算單元、計算單元中的計算核心;
14、所述調度管理模塊,用于在確定所述指定芯片中存在所述目標處理單元中斷運行的計算內核,并且確定所述目標處理單元為計算單元時,重新獲取所述指定芯片的運行狀態數據,并在根據所述運行狀態數據確定所述各處理單元中存在處于空閑狀態的計算核心時,將所述處于空閑狀態的計算核心,作為中斷任務處理單元,并將所述中斷運行的計算內核,作為中斷計算內核,將所述中斷計算內核以及所述中斷任務處理單元,發送給所述運行管理模塊;
15、所述運行管理模塊,用于在接收到的所述中斷計算內核以及所述中斷任務處理單元后,將所述中斷計算內核派發到所述中斷任務處理單元中運行。
16、可選地,所述目標任務的任務類型包括:實時任務、非實時任務;
17、所述調度管理模塊,用于在確定所述目標任務的任務類型為非實時任務時,針對每個待運行計算內核,根據該待運行計算內核對應的等待時間和預估完成時間,確定該待運行計算內核的后置系數。
18、可選地,所述調度管理模塊,用于在根據該待運行計算內核的后置系數,確定該待運行計算內核為目標計算內核,并且根據所述運行狀態數據,確定所述各處理單元中存在處于空閑狀態的處理單元時,將所述處于空閑狀態的處理單元作為目標處理單元,并在確定運行該待運行計算內核時所需的浮點運算次數小于預設的閾值時,根據預設的目標組合策略,從所述各待運行計算內核中確定出至少部分待運行計算內核與所述目標計算內核組成目標計算內核集,將所述目標計算內核集以及所述目標處理單元發送給所述運行管理模塊。
19、可選地,所述處理單元包括:計算單元、計算單元中的計算核心中的至少一種;
20、所述運行管理模塊,用于在接收到所述目標計算內核集后,判斷所述目標處理單元是否為計算單元,若是,則針對所述目標計算內核集中包含的每個計算內核,從所述目標處理單元的各計算核心中確定出選定計算核心,并將該計算內核派發到所述選定計算核心中運行。
21、可選地,所述運行管理模塊,用于在所述目標處理單元的指定計算核心中創建控制線程,并通過所述控制線程針對所述目標計算內核集中包含的每個計算內核,從所述目標處理單元的各計算核心中本文檔來自技高網...
【技術保護點】
1.一種計算內核動態調度系統,其特征在于,所述計算內核動態調度系統包括:請求管理模塊、調度管理模塊、監控管理模塊、運行管理模塊;
2.如權利要求1所述的計算內核動態調度系統,其特征在于,所述請求管理模塊,用于獲取任務請求,根據所述任務請求確定需要執行的目標任務,并確定執行所述目標任務時需要通過指定芯片運行的至少一個待運行計算內核,針對每個待運行計算內核,根據該待運行計算內核所屬的目標任務的任務類型,將該待運行計算內核存放到預設的各等候隊列中與該待運行計算內核相匹配的等候隊列中,所述等候隊列包括:實時任務等候隊列、非實時任務等候隊列、中斷任務等候隊列;
3.如權利要求1所述的計算內核動態調度系統,其特征在于,所述目標任務的任務類型包括:實時任務、非實時任務;
4.如權利要求3所述的計算內核動態調度系統,其特征在于,所述調度管理模塊,用于在根據該待運行計算內核的后置系數,確定該待運行計算內核為目標計算內核,并且根據所述運行狀態數據,確定所述各處理單元中不存在處于空閑狀態的處理單元時,根據每個處理單元正在運行的計算內核的服務性能指標參數,從所述各處理
5.如權利要求4所述的計算內核動態調度系統,其特征在于,所述處理單元包括:計算單元、計算單元中的計算核心;
6.如權利要求1所述的計算內核動態調度系統,其特征在于,所述目標任務的任務類型包括:實時任務、非實時任務;
7.如權利要求6所述的計算內核動態調度系統,其特征在于,所述調度管理模塊,用于在根據該待運行計算內核的后置系數,確定該待運行計算內核為目標計算內核,并且根據所述運行狀態數據,確定所述各處理單元中存在處于空閑狀態的處理單元時,將所述處于空閑狀態的處理單元作為目標處理單元,并在確定運行該待運行計算內核時所需的浮點運算次數小于預設的閾值時,根據預設的目標組合策略,從所述各待運行計算內核中確定出至少部分待運行計算內核與所述目標計算內核組成目標計算內核集,將所述目標計算內核集以及所述目標處理單元發送給所述運行管理模塊。
8.如權利要求7所述的計算內核動態調度系統,其特征在于,所述處理單元包括:計算單元、計算單元中的計算核心中的至少一種;
9.如權利要求8所述的計算內核動態調度系統,其特征在于,所述運行管理模塊,用于在所述目標處理單元的指定計算核心中創建控制線程,并通過所述控制線程針對所述目標計算內核集中包含的每個計算內核,從所述目標處理單元的各計算核心中確定出選定計算核心,并將該計算內核派發到所述選定計算核心中運行。
10.如權利要求9所述的計算內核動態調度系統,其特征在于,所述運行管理模塊,用于通過所述控制線程對所述目標處理單元的各計算核心進行監控,以在確定所述目標處理單元的各計算核心中存在完成運行的計算核心時,將完成運行的計算核心作為空閑計算核心,將所述空閑計算核心的狀態數據以及所述空閑計算核心完成運行后的顯存資源占用數據上傳到所述監控管理模塊。
11.如權利要求10所述的計算內核動態調度系統,其特征在于,所述監控管理模塊,用于調用預設的查詢接口向所述運行管理模塊發送針對所述指定芯片中的待查詢處理單元的運行狀態數據查詢請求,并接收所述運行管理模塊根據所述運行狀態數據查詢請求返回的所述待查詢處理單元的狀態數據以及顯存資源占用數據;以及,
12.如權利要求7所述的計算內核動態調度系統,其特征在于,所述調度管理模塊,用于在確定運行該待運行計算內核時所需的浮點運算次數小于預設的閾值時,根據每個待運行計算內核對應的服務性能指標參數,從預設的各組合策略中確定出目標組合策略,并根據所述目標組合策略,從所述各待運行計算內核中確定出至少部分待運行計算內核與所述目標計算內核組成目標計算內核集,將所述目標計算內核集以及所述目標處理單元發送給所述運行管理模塊,所述各組合策略包括:第一組合策略、第二組合策略中的至少一種,其中,所述第一組合策略用于根據所述指定芯片的顯存資源占用數據和每個待運行計算內核運行時所需的顯存資源數據,確定目標計算內核集,所述第二組合策略用于根據每個待運行計算內核運行時所需的浮點運算次數,確定目標計算內核集。
13.一種計算內核動態調度方法,其特征在于,所述方法應用于計算內核動態調度系統,所述計算內核動態調度系統包括:請求管理模塊、調度管理模塊、監控管理模塊、運行管理模塊,所述方法包括:
...【技術特征摘要】
1.一種計算內核動態調度系統,其特征在于,所述計算內核動態調度系統包括:請求管理模塊、調度管理模塊、監控管理模塊、運行管理模塊;
2.如權利要求1所述的計算內核動態調度系統,其特征在于,所述請求管理模塊,用于獲取任務請求,根據所述任務請求確定需要執行的目標任務,并確定執行所述目標任務時需要通過指定芯片運行的至少一個待運行計算內核,針對每個待運行計算內核,根據該待運行計算內核所屬的目標任務的任務類型,將該待運行計算內核存放到預設的各等候隊列中與該待運行計算內核相匹配的等候隊列中,所述等候隊列包括:實時任務等候隊列、非實時任務等候隊列、中斷任務等候隊列;
3.如權利要求1所述的計算內核動態調度系統,其特征在于,所述目標任務的任務類型包括:實時任務、非實時任務;
4.如權利要求3所述的計算內核動態調度系統,其特征在于,所述調度管理模塊,用于在根據該待運行計算內核的后置系數,確定該待運行計算內核為目標計算內核,并且根據所述運行狀態數據,確定所述各處理單元中不存在處于空閑狀態的處理單元時,根據每個處理單元正在運行的計算內核的服務性能指標參數,從所述各處理單元中,確定出目標處理單元,并將所述目標計算內核以及所述目標處理單元發送給所述運行管理模塊;
5.如權利要求4所述的計算內核動態調度系統,其特征在于,所述處理單元包括:計算單元、計算單元中的計算核心;
6.如權利要求1所述的計算內核動態調度系統,其特征在于,所述目標任務的任務類型包括:實時任務、非實時任務;
7.如權利要求6所述的計算內核動態調度系統,其特征在于,所述調度管理模塊,用于在根據該待運行計算內核的后置系數,確定該待運行計算內核為目標計算內核,并且根據所述運行狀態數據,確定所述各處理單元中存在處于空閑狀態的處理單元時,將所述處于空閑狀態的處理單元作為目標處理單元,并在確定運行該待運行計算內核時所需的浮點運算次數小于預設的閾值時,根據預設的目標組合策略,從所述各待運行計算內核中確定出至少部分待運行計算內核與所述目標計算內核組成目標計算內核集,將所述目標計算內核集以及所述目標處理單元發送給所述運行管理模塊。
8.如權利要求7所述的計算內核動態調度系統,其特...
【專利技術屬性】
技術研發人員:李勇,何水兵,薛輝,程宏才,周伯陽,范康,
申請(專利權)人:之江實驗室,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。