[發明專利]一種在云端下進行GPU內核程序高效率調度的運行時系統在審
| 申請號: | 202011058582.0 | 申請日: | 2020-09-30 |
| 公開(公告)號: | CN112181689A | 公開(公告)日: | 2021-01-05 |
| 發明(設計)人: | 彭貝城;李志方;翁楚良 | 申請(專利權)人: | 華東師范大學 |
| 主分類號: | G06F9/54 | 分類號: | G06F9/54;G06F9/50 |
| 代理公司: | 上海藍迪專利商標事務所(普通合伙) 31215 | 代理人: | 徐筱梅;張翔 |
| 地址: | 200241 *** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 云端 進行 gpu 內核 程序 高效率 調度 運行 系統 | ||
1.一種在云端下進行GPU內核程序高效率調度的運行時系統,其特征在于,所述運行時系統采用遠程過程調用的運行方式,其系統具體包括:
網絡守護模塊:通過網絡將接收到的GPU內核程序傳輸至云端,在GPU內核程序完成執行之后,再通過網絡將運行結果傳輸至調用方;
調度器模塊:將GPU內核程序與普通CPU程序進行分離,對GPU內核程序的執行與操作系統的進程調度器進行解耦合,并對GPU內核程序進行啟發式分類,再將GPU內核程序通過不同的調度策略進行調度以及對GPU內核程序進行入列任務隊列;在GPU內核程序入列任務隊列的同時,擇時將任務裝載到GPU硬件上,并集中調度,完成執行。
2.根據權利要求1所述的在云端下進行GPU內核程序高效率調度的運行時系統,其特征在于,所述遠程過程調用的運行方式,具體為:調用方將GPU內核程序與運行參數進行序列化操作,再將序列化操作之后的數據通過遠程過程調用(RPC)的方式傳輸至網絡守護模塊;所述GPU內核程序通過CUDA編程語言源代碼或者PTX匯編代碼表達;所述運行參數包含GPU線程塊信息、GPU內核程序參數列表和數據。
3.根據權利要求1所述的在云端下進行GPU內核程序高效率調度的運行時系統,其特征在于,所述對GPU內核程序的執行與操作系統的進程調度器進行解耦合;
CPU程序二進制可執行代碼段不包含GPU內核程序代碼端,網絡守護模塊和調度器模塊的守護進程分別調用taskset系統調用,用來對某一個CPU核心采取固定操作;網絡守護模塊和調度器模塊的守護進程再調用renice系統調用自身的優先級。
4.根據權利要求1所述的在云端下進行GPU內核程序高效率調度的運行時系統,其特征在于,所述對GPU內核程序進行啟發式分類,具體為:將GPU內核程序分類為重內核與輕內核;重內核GPU內核程序的特征為:并發數高,運行時間長;輕內核GPU內核程序的特征為:并發數小,運行時間短;對GPU內核程序進行特征提取,并量化為具體數值;若超過既定閾值,判定為重內核GPU內核程序,若不超過,判定為輕內核GPU內核程序。
5.根據權利要求1所述的在云端下進行GPU內核程序高效率調度的運行時系統,其特征在于,所述將GPU內核程序通過不同的調度策略進行調度,具體為:所述的調度策略依賴于被調度的GPU內核程序的特性;對輕內核采取一個CUDA上下文對應多個裝載有GPU內核程序的線程的策略,對重內核采取一個CUDA上下文對應一個GPU內核程序的策略。
6.根據權利要求1所述的在云端下進行GPU內核程序高效率調度的運行時系統,其特征在于,所述運行時系統的啟動步驟如下:
步驟A-1:所述調度器模塊與網絡守護模塊開辟新的CPU端內存空間與GPU端內存空間;
步驟A-2:所述調度器模塊與網絡守護模塊生成線程池與進程池,并在對應的進程中生成CUDA上下文;
步驟A-3:所述網絡守護模塊開啟監聽端口,開始接收服務。
7.根據權利要求1所述的在云端下進行GPU內核程序高效率調度的運行時系統,其特征在于,調用方對所述運行時系統進行調用的步驟如下:
步驟B-1:調用方將GPU內核程序與運行參數進行序列化;
步驟B-2:調用方通過網絡傳輸的方式將序列化后的數據通過遠程過程調用(RPC)的方式傳遞至網絡守護模塊;
步驟B-3:調用方等待調度器模塊完成GPU內核程序的執行,網絡守護模塊返回結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華東師范大學,未經華東師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011058582.0/1.html,轉載請聲明來源鉆瓜專利網。





