[發(fā)明專利]一種用于在分布式異構(gòu)環(huán)境下實現(xiàn)多GPU調(diào)度的方法和系統(tǒng)有效
| 申請?zhí)枺?/td> | 201911296432.0 | 申請日: | 2019-12-16 |
| 公開(公告)號: | CN110955526B | 公開(公告)日: | 2022-10-21 |
| 發(fā)明(設(shè)計)人: | 李肯立;杜利凡;唐卓;賀凱林;劉翔;張學(xué)東;陽王東;周旭;劉楚波;曹嶸暉 | 申請(專利權(quán))人: | 湖南大學(xué) |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50 |
| 代理公司: | 武漢臻誠專利代理事務(wù)所(普通合伙) 42233 | 代理人: | 宋業(yè)斌 |
| 地址: | 410001 湖*** | 國省代碼: | 湖南;43 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 用于 分布式 環(huán)境 實現(xiàn) gpu 調(diào)度 方法 系統(tǒng) | ||
1.一種用于在分布式異構(gòu)環(huán)境下實現(xiàn)多GPU調(diào)度的方法,其是應(yīng)用在包括一個主節(jié)點、以及多個從節(jié)點的Spark環(huán)境中,其特征在于,所述方法包括以下步驟:
(1)主節(jié)點接收用戶發(fā)送的Spark應(yīng)用程序,對該Spark應(yīng)用程序進行解析,以得到DAG圖;
(2)主節(jié)點設(shè)置計數(shù)器i=1;
(3)主節(jié)點判斷i是否大于DAG圖中調(diào)度階段的總數(shù),如果是則過程結(jié)束,否則進入步驟(4);
(4)主節(jié)點將該DAG圖中的第i個調(diào)度階段劃分為多個可并發(fā)執(zhí)行的任務(wù),并獲取當(dāng)前Spark環(huán)境中所有從節(jié)點的計算資源,并根據(jù)所有從節(jié)點的計算資源使用Spark任務(wù)調(diào)度機制將所有任務(wù)調(diào)度到對應(yīng)從節(jié)點的JAVA虛擬機執(zhí)行;
(5)從節(jié)點對其JVM中的任務(wù)進行數(shù)據(jù)格式轉(zhuǎn)換,以將該任務(wù)對應(yīng)的數(shù)據(jù)映射到堆外內(nèi)存上,并使用Java本地訪問庫對該數(shù)據(jù)在堆外內(nèi)存中的地址進行調(diào)整,以得到物理位置連續(xù)的數(shù)據(jù);
(6)從節(jié)點調(diào)用JNA本地接口,以獲取步驟(5)JVM中的任務(wù)所對應(yīng)的數(shù)據(jù)在堆外內(nèi)存中的起始地址、以及步驟(5)中得到的物理位置連續(xù)的數(shù)據(jù)的偏移量,并根據(jù)該起始地址和偏移量創(chuàng)建GPU本地任務(wù);
(7)從節(jié)點將步驟(6)創(chuàng)建的GPU本地任務(wù)對應(yīng)的數(shù)據(jù)進行分塊處理,并為每個數(shù)據(jù)分塊創(chuàng)建對應(yīng)的GPU本地子任務(wù);
(8)從節(jié)點判斷步驟(7)創(chuàng)建的每個GPU本地子任務(wù)是數(shù)據(jù)緩存子任務(wù),還是流處理子任務(wù),如果是數(shù)據(jù)緩存子任務(wù),則進入步驟(9),如果是流處理子任務(wù),則進入步驟(10);
(9)從節(jié)點基于其所有GPU的空閑設(shè)備內(nèi)存大小、以及設(shè)備內(nèi)存使用率對該數(shù)據(jù)緩存子任務(wù)進行調(diào)度,然后進入步驟(11);
(10)從節(jié)點基于其所有GPU的數(shù)據(jù)本地性、并發(fā)流的數(shù)量、以及空閑設(shè)備內(nèi)存大小對該流處理子任務(wù)進行調(diào)度;步驟(10)包括以下子步驟:
(10-1)從節(jié)點獲取表示其所有GPU空閑設(shè)備內(nèi)存狀態(tài)的內(nèi)存狀態(tài)列表,以及表示其所有GPU流資源狀態(tài)的流資源列表;
(10-2)從節(jié)點根據(jù)流資源列表中空閑流的數(shù)量對流資源列表進行降序排列;
(10-3)從節(jié)點判斷該流處理子任務(wù)對應(yīng)的數(shù)據(jù)是否已經(jīng)被緩存在其中的一個GPU上,如果是則進入步驟(10-4),否則進入步驟(10-7);
(10-4)從節(jié)點根據(jù)該GPU從內(nèi)存狀態(tài)列表中獲取對應(yīng)的GPU的編號,根據(jù)該GPU的編號在流資源列表中獲取對應(yīng)的空閑流的數(shù)量,并根據(jù)該空閑流的數(shù)量判斷該GPU中是否有空閑的流,如果是則進入步驟(10-5),否則進入步驟(10-6);
(10-5)從節(jié)點在該GPU上為該流處理子任務(wù)分配一個空閑流,并調(diào)用該GPU的內(nèi)核程序執(zhí)行流處理子任務(wù),然后過程結(jié)束;
(10-6)從節(jié)點從流資源列表中獲取空閑流的數(shù)量最多的GPU所對應(yīng)的GPU的編號,并在該GPU編號對應(yīng)的GPU上為該流處理子任務(wù)對應(yīng)的數(shù)據(jù)分配一個空閑流,然后過程結(jié)束;
(10-7)從節(jié)點設(shè)置計數(shù)器k=1;
(10-8)從節(jié)點判斷計數(shù)器k是否大于流資源列表的大小,如果是則過程結(jié)束,否則轉(zhuǎn)入步驟(10-9);
(10-9)從節(jié)點獲取流資源列表中第k行中的空閑流的數(shù)量,并判斷該空閑流的數(shù)量是否大于0,如果是則進入步驟(10-10),否則過程結(jié)束;
(10-10)從節(jié)點獲取流資源列表中第k行中的GPU的編號,使用該GPU的編號獲取內(nèi)存狀態(tài)列表中對應(yīng)的空閑設(shè)備內(nèi)存大小,并判斷該空閑設(shè)備內(nèi)存大小是否大于等于該流處理子任務(wù)對應(yīng)的數(shù)據(jù)的大小,如果是則進入步驟(10-11),否則進入步驟(10-12);
(10-11)從節(jié)點使用該GPU的編號所對應(yīng)的GPU為該流處理子任務(wù)分配流和設(shè)備內(nèi)存,并調(diào)用該GPU的內(nèi)核程序執(zhí)行流處理子任務(wù),該過程結(jié)束;
(10-12)從節(jié)點設(shè)置計數(shù)器k=k+1,并返回步驟(10-8);
(11)從節(jié)點設(shè)置計數(shù)器i=i+1,并返回步驟(3)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟(4)中主節(jié)點是用任務(wù)調(diào)度器組件執(zhí)行任務(wù)的劃分,從節(jié)點的計算資源包括從節(jié)點的可用內(nèi)存大小、以及空閑CPU數(shù)量。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于湖南大學(xué),未經(jīng)湖南大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911296432.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種墻體砌筑施工工藝
- 下一篇:一種道路基面防水涂料噴涂裝置
- 環(huán)境服務(wù)系統(tǒng)以及環(huán)境服務(wù)事業(yè)
- 環(huán)境控制裝置、環(huán)境控制方法、環(huán)境控制程序及環(huán)境控制系統(tǒng)
- 環(huán)境檢測終端和環(huán)境檢測系統(tǒng)
- 環(huán)境調(diào)整系統(tǒng)、環(huán)境調(diào)整方法及環(huán)境調(diào)整程序
- 環(huán)境估計裝置和環(huán)境估計方法
- 用于環(huán)境艙的環(huán)境控制系統(tǒng)及環(huán)境艙
- 車輛環(huán)境的環(huán)境數(shù)據(jù)處理
- 環(huán)境取樣動力頭、環(huán)境取樣方法
- 環(huán)境艙環(huán)境控制系統(tǒng)
- 環(huán)境檢測儀(環(huán)境貓)
- 互動業(yè)務(wù)終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預(yù)報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設(shè)備實現(xiàn)方法及其實現(xiàn)裝置





