自適應(yīng)眾核資源調(diào)度方法
【專利摘要】本發(fā)明提供了一種自適應(yīng)眾核資源調(diào)度方法,面向環(huán)境自適應(yīng)的多形態(tài)眾核計算特征,引入了泛環(huán)境、計算形態(tài)、眾核任務(wù)等模型與相應(yīng)的管理方法,根據(jù)環(huán)境變化,自動決策眾核任務(wù)集及其屬性,進而根據(jù)輸入數(shù)據(jù)規(guī)模的變化及任務(wù)執(zhí)行的時間約束,自主測算任務(wù)中各計算步的時間復(fù)雜度、資源?效能擬合關(guān)系。在高關(guān)鍵度任務(wù)優(yōu)先的前提下,對等待啟動的任務(wù)進行資源預(yù)分配規(guī)劃,并根據(jù)各任務(wù)的資源?效能擬合關(guān)系實現(xiàn)計算步效能均衡的資源分配。本發(fā)明能夠為環(huán)境自適應(yīng)的眾核任務(wù)多形態(tài)管理及整體計算效能的優(yōu)化提供良好支撐。
【專利說明】
自適應(yīng)眾核資源調(diào)度方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及眾核處理器上的核計算資源自適應(yīng)調(diào)度方法,尤其涉及一種部署于高 性能多形態(tài)計算系統(tǒng)的具有"資源-效能"平衡優(yōu)化的核資源分配與調(diào)度方法。
【背景技術(shù)】
[0002] 新型航空航天系統(tǒng)、智能機器人等復(fù)雜嵌入式系統(tǒng)正日益呈現(xiàn)出深度信息、物理 融合以及高度智能化的發(fā)展特征,其具有開放、動態(tài)環(huán)境自適應(yīng)的計算特征。針對由計算熱 點隨環(huán)境變化而發(fā)生切換所引起的計算形態(tài)變化,尤其是并行計算任務(wù)及其效能約束的變 化,需要研究一種新的自適應(yīng)調(diào)度方法,能夠評估不同計算任務(wù)的動態(tài)計算效能,進而根據(jù) 全局效能優(yōu)化的策略對眾核資源進行分配和構(gòu)造,以提升并行計算任務(wù)的效能。
[0003] 現(xiàn)有研究中,主要是包括了眾核計算資源的均衡分配及適應(yīng)數(shù)據(jù)變化的眾核資源 分配等,并以算法均衡度、數(shù)據(jù)處理時間作為關(guān)鍵評價指標(biāo)。文獻"眾核處理器系統(tǒng)核資源 動態(tài)分組的自適應(yīng)調(diào)度算法,曹仰杰等,軟件學(xué)報,2012 23卷第2期"中研究提出了一種支 持核資源動態(tài)分組的自適應(yīng)調(diào)度算法CASM,其通過對任務(wù)簇的拆分與合并,動態(tài)構(gòu)建可彈 性分區(qū)的核邏輯組實現(xiàn)核資源的隔離優(yōu)化訪問,針對任務(wù)簇間和簇內(nèi)的不同特點,算法分 別采用公平性較好的均衡調(diào)度算法和資源利用率較高的自適應(yīng)調(diào)度算法;"面向數(shù)據(jù)包處 理的眾核處理器核資源分配方法,羅章琪等,計算機研究與發(fā)展,2014 51卷第6期"中針對 路由器應(yīng)用研究了面向數(shù)據(jù)包流水處理機制的核資源優(yōu)化分配方法,該方法根據(jù)數(shù)據(jù)包的 處理步驟將任務(wù)劃分為多個子階段并通過對各子階段的執(zhí)行時間進行評估來計算各階段 應(yīng)該分配的核數(shù)量。上述方法主要考慮單一任務(wù)/單一處理模式下的資源均衡和性能優(yōu)化, 未考慮環(huán)境自適應(yīng)多態(tài)應(yīng)用中的可變計算形態(tài)及動態(tài)效能特征,不能為該類應(yīng)用提供有效 的方法支持。
【發(fā)明內(nèi)容】
[0004] 為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種眾核處理機中的核資源自適應(yīng)分配與 調(diào)度方法,在環(huán)境、資源狀態(tài)實時判斷的基礎(chǔ)上,自主決策并行計算任務(wù)組中的任務(wù)效能屬 性,進而根據(jù)不同任務(wù)的特性進行核資源分配,從而保證全局優(yōu)化的計算形態(tài)構(gòu)造,提升資 源利用率及計算效率。本發(fā)明能夠增強眾核處理機資源的優(yōu)化分配與調(diào)度管理能力,從而 為構(gòu)建高性能復(fù)雜智能嵌入式應(yīng)用提供有效的方法支撐。
[0005] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包括以下步驟:
[0006] 步驟A、將物理環(huán)境表示為E,包括系統(tǒng)運行相關(guān)的η個環(huán)境因素ε,記為<ει,ε2,···, ε η>;系統(tǒng)內(nèi)部資源表示為R,記為〈。,。,…,。,!!!為資源類型的數(shù)量:將物理環(huán)境因素^系 統(tǒng)資源歸一表示為泛環(huán)境Ue;
[0007] 計算形態(tài)M描述了計算系統(tǒng)在運行時軟硬件資源的基本構(gòu)造模式及狀態(tài),表示為〈 ,,ζ^ 其中,ζ表示集合,τ是并行計算任務(wù)個體;r是眾核計算資源個體,φ存儲任 務(wù)或資源的運行參數(shù)或分配參數(shù);ζ<τ. φ>_表示任務(wù)及其運行參數(shù)的集合,ζα φ>表示資源及 其數(shù)量參數(shù)的集合;
[0008]并行計算任務(wù)τ定義為〈丨(1,人,0,€[,(11,隊11,隊1^〈 101,102,~,1^>>,其中丨(1為任務(wù)的標(biāo) 識;λ表示任務(wù)的狀態(tài),0值表示未創(chuàng)建,1值表示已創(chuàng)建;P為任務(wù)的關(guān)鍵度;α為任務(wù)體的復(fù) 雜度;dl為任務(wù)的最大執(zhí)行時間長度;β ιη為眾核處理機內(nèi)存中的輸入數(shù)據(jù)區(qū)域,為輸出 數(shù)據(jù)區(qū)域;任務(wù)τ共有s個計算步,^為第i個計算步,其輸入數(shù)據(jù)區(qū)域為隊,輸出數(shù)據(jù)區(qū)域為 β 1+1;配置方案集Q在數(shù)據(jù)庫中靜態(tài)記錄了已經(jīng)存在的任務(wù)計算步資源比例及分配方案; [0009] 為多形態(tài)計算系統(tǒng)設(shè)id個用于決策計算形態(tài)的決策器M-Agent: : =〈〈Ue,Mi>, MDJm,M?!担詣討B(tài)采集到的泛環(huán)境Ue因素和當(dāng)前的計算形態(tài)1作為決策輸入,MD是基于模 糊推理或人工神經(jīng)網(wǎng)絡(luò)設(shè)計的形態(tài)決策邏輯;
[0010] 決策器根據(jù)用戶定義的推理規(guī)則,對所采集環(huán)境因素的狀態(tài)進行在線判斷,進而 從形態(tài)集合ζΜ中決策出新的計算形態(tài)M。及其參數(shù);
[0011] 決策器根據(jù)眾核資源占用狀態(tài)、可并行執(zhí)行任務(wù)的關(guān)鍵度與時間約束參數(shù)的綜合 約束,在有足夠可用眾核資源的情況下,依次按照任務(wù)的關(guān)鍵度和時間約束,選擇出關(guān)鍵度 高或時間約束更為緊急的并行任務(wù),進而形成可部署并行任務(wù)集ζ< τ.(Ρ>;
[0012] 步驟Β、單任務(wù)的計算復(fù)雜度評估,包括以下步驟:
[0013] Β1、接收到待處理的矩陣數(shù)據(jù),h為矩陣高度,w為矩陣寬度;若在Q中查詢到任務(wù)T1 的計算開銷矩陣Z JMw)和分配方案,且分配方案不存在任何元素的值為0,則轉(zhuǎn)入步驟C, 否則轉(zhuǎn)入步驟B2;
[0014] B2、任務(wù)的η核模式復(fù)雜度計算,包括以下步驟:
[0015] Β21、根據(jù)任務(wù)T1Sn核形態(tài)時,T1所需核資源s*n不超過可分配計算核的數(shù)量N的約 束,為η設(shè)置初值1,設(shè)定一個非負(fù)整型的遞增步長Λη,Δη< int(N/s)-n;建立大小為s* (int((N-l)/ △ n) + l)的計算開銷矩陣 Z i(h*w)
矩陣元素Tpq表示4在1!核模式下的時間開銷,p為元組的行下標(biāo),q為元素的列下標(biāo),Igqg
;元素初值全部為〇;
[0016] B22、創(chuàng)建η核形態(tài)的任務(wù)Ti,包括了S個η核模式的計算步IC1, K2,…,Ks,共分配了η* s個計算核;
[0017] Β23、將待計算數(shù)據(jù)輸入計算步K1,并統(tǒng)計其計算時間Tin,若s>l,將數(shù)據(jù)輸出到緩 沖區(qū)β2;依次完成^至^^任務(wù)的計算時間統(tǒng)計;
[0018] B24、Ksi行完后,統(tǒng)計1^,銷毀當(dāng)前η核模式的任務(wù)τ1;
[0019] Β25、如9〈(1的(0-1)/么11)+1)4知的值加1,并計算新的11值,返回步驟822 ;否則 在數(shù)據(jù)文件Q中存儲Ti任務(wù)對h*w大小數(shù)據(jù)的時間開銷矩陣Z i(h*w)及其△ η,轉(zhuǎn)入步驟Β3;
[0020] B3、各計算步的核模式選擇,包括以下步驟:
[0021] B31、建立一個Ti計算步的核數(shù)量矩陣Cs*(int((N-υ/Ληκυα),元素c為二元組<ω,τ> 中ω為各計算步分配的計算核數(shù)量,T為該核數(shù)量時計算步的時間開銷,初值全部為 <〇, 〇>
設(shè)置? = 14=1,從2辦抑)讀取1^的 值并賦予T',C11設(shè)置為〈I,Τη>;
[0022] Β32、遍歷Z i(h*w)的(ρ+1)行,選擇與Τ'的差最小一個元素T(P+i)q',將c(P+i)q的值置 為《1+(9'-1)*八11),1'([)+1)(1'>,將1''賦值為1&?(。 1(1.1',。2(1.1',",。([)+1)(1.1');
[0023] B33、若p小于s,將p值加1,轉(zhuǎn)入B32;若p不小于s,將p賦值為l,q的值加1,轉(zhuǎn)入B34;
[0024] B34、若q < (int( (N-1)/ Δ n)+l),B32;否則,轉(zhuǎn)入B35;
[0025] B35、對Cs*(int((N-1)/An)+I)(i)的每一列,將同列兀素的時間ω和T分別求和,得到該 列方案時^的核資源總數(shù)和時間開銷;
[0026] Β36、選擇時間開銷小于T1. dl且所需資源最少的一列q作為^的任務(wù)構(gòu)造方案,并 將該列以兀組〈Clq,C2q,C3q,…,Csq〉存入ζ。;
[0027] 837、若〇^^>中存在未評估任務(wù),則在(<1.(?>中選擇新的任務(wù)^并轉(zhuǎn)到81;否則轉(zhuǎn)步 驟C;
[0028] 步驟C、多任務(wù)間的核資源優(yōu)化分配,包括以下步驟:
[0029]在已運行任務(wù)中,比新到來任務(wù)關(guān)鍵度高的所有任務(wù)繼續(xù)運行,其他已運行任務(wù) 與新到達任務(wù)構(gòu)成待部署任務(wù)集合^'^,^,統(tǒng)計待部署任務(wù)集合中任務(wù)所占用核資源與系 統(tǒng)空閑核資源的和Ct,以待分配;
[0030] 根據(jù)關(guān)鍵度優(yōu)先、任務(wù)時間約束及可用核資源數(shù)量,進行多任務(wù)資源的預(yù)分配:
[0031] a)按照關(guān)鍵度由高到低,依次從選取一個任務(wù)T,根據(jù)Gc中的方案計算其 所需的核資源數(shù)C;
[0032] b)若Ct 2 C,為任務(wù)τ預(yù)分配C個核資源,將Ct的值減去C;否則,轉(zhuǎn)入步驟c);
[0033] c)若中存在未分配核資源的任務(wù),跳轉(zhuǎn)至a)執(zhí)行直到ζ%#為空或不存在 任務(wù)所需的C小于Ct;
[0034] 生成預(yù)分配方案;若存在不可滿足資源數(shù)量要求的任務(wù),將任務(wù)集輸出反饋給用 戶;
[0035] 對于已運行且關(guān)鍵度不高于新任務(wù)的任務(wù),若預(yù)分配成功,則根據(jù)預(yù)分配方案及 Gc中的計算步資源比例,重新分配資源啟動該任務(wù);否則,銷毀任務(wù),釋放核資源及存儲資 源;
[0036] 對于新到達的每一個任務(wù),若預(yù)分配成功,則根據(jù)心中的計算步資源比例為每一 個計算步分配核資源及存儲資源,構(gòu)造任務(wù)并啟動,將任務(wù)的狀態(tài)λ置為1;若預(yù)分配不成 功,則將任務(wù)的狀態(tài)λ置為O,取消該任務(wù)并進行系統(tǒng)提示;
[0037]最后,完成任務(wù)集中所有任務(wù)的啟動;
[0038] 步驟D、返回步驟A,直至系統(tǒng)停機。
[0039] 本發(fā)明的有益效果是:面向環(huán)境自適應(yīng)的多形態(tài)眾核計算特征,引入了泛環(huán)境、計 算形態(tài)、眾核任務(wù)等模型與相應(yīng)的管理方法。本發(fā)明可以根據(jù)環(huán)境變化,自動決策眾核任務(wù) 集及其屬性,進而可以根據(jù)輸入數(shù)據(jù)規(guī)模的變化及任務(wù)執(zhí)行的時間約束,自主測算任務(wù)中 各計算步的時間復(fù)雜度、資源-效能擬合關(guān)系。在高關(guān)鍵度任務(wù)優(yōu)先的前提下,對等待啟動 的任務(wù)進行資源預(yù)分配規(guī)劃,并根據(jù)各任務(wù)的"資源-效能擬合關(guān)系"實現(xiàn)計算步效能均衡 的資源分配。該方法可以為環(huán)境自適應(yīng)的眾核任務(wù)多形態(tài)管理及整體計算效能的優(yōu)化提供 良好支撐。
【附圖說明】
[0040] 圖1描述了本發(fā)明中的流式眾核任務(wù)計算步處理邏輯;
[0041] 圖2描述了本發(fā)明中M-Agent的基于泛環(huán)境因素的計算形態(tài)決策邏輯;
[0042]圖3描述了本發(fā)明中的眾核任務(wù)形態(tài)構(gòu)造與管理流程。
【具體實施方式】
[0043] 下面結(jié)合附圖和實施例對本發(fā)明進一步說明,本發(fā)明包括但不僅限于下述實施 例。
[0044] 本發(fā)明的技術(shù)方案包括以下步驟:
[0045] Α、眾核任務(wù)及其運行屬性決策。
[0046] 對于信息物理融合的智能化嵌入式系統(tǒng)而言,其并行任務(wù)集及其運行屬性決策與 當(dāng)前外部所處的物理世界狀態(tài)和內(nèi)部的系統(tǒng)資源構(gòu)造形態(tài)及運行狀態(tài)密切相關(guān),是一個更 為復(fù)雜的過程。基于如下物理環(huán)境、系統(tǒng)軟硬件資源、運行形態(tài)等模型,可將并行任務(wù)運行 屬性的實時決策機制分為如下步驟進行描述。
[0047]物理環(huán)境表示為Ε,其包括了系統(tǒng)運行相關(guān)的η個環(huán)境因素ε,并記為<ει,ε2,···,ε η >;系統(tǒng)內(nèi)部資源表示為R,其包括了系統(tǒng)計算、通信、存儲、控制等資源,表示為〈η,κ,···,η >,m為資源類型的數(shù)量。本發(fā)明中,內(nèi)部資源是指眾核計算資源。統(tǒng)一地,將物理環(huán)境因素、 系統(tǒng)資源歸一表示為泛環(huán)境Ue。
[0048] 計算形態(tài)M描述了計算系統(tǒng)在運行時軟硬件資源的基本構(gòu)造模式及狀態(tài),表示為〈 ζ<τ,φ>,ζ <. r,. 其中,ζ表示集合,τ是并行計算任務(wù)個體;r是眾核計算資源個體,φ存儲任 務(wù)或資源的運行參數(shù)或分配參數(shù);ζ<τ,.φ>表示任務(wù)及其運行參數(shù)的集合,ζ<ι·.φ>表示資源及 其數(shù)量參數(shù)的集合。進而,并行計算任務(wù)T定義為〈1(1,1,0,€[,(11,0111,0。 1^〈101,102,~, 1^>>,其 中id為任務(wù)的標(biāo)識;λ表示任務(wù)的狀態(tài),0值表示未創(chuàng)建,1值表示已創(chuàng)建;P為任務(wù)的關(guān)鍵度, 其值越小標(biāo)識任務(wù)的重要程度越高;α為任務(wù)體的復(fù)雜度;dl為任務(wù)的最大執(zhí)行時間長度; β ιη為眾核處理機內(nèi)存中的輸入數(shù)據(jù)區(qū)域,為輸出數(shù)據(jù)區(qū)域;任務(wù)τ共有s個計算步,^為 第i個計算步,共s個,其輸入數(shù)據(jù)區(qū)域為&,輸出數(shù)據(jù)區(qū)域為β 1+1;配置方案集Gc在數(shù)據(jù)庫中 靜態(tài)記錄了已經(jīng)存在的任務(wù)計算步資源比例及分配方案。
[0049] Al、環(huán)境適應(yīng)的任務(wù)集決策。
[0050]不同計算形態(tài)下,定義了不同的計算任務(wù)集、資源基本構(gòu)型及運行時參數(shù)。眾核處 理機上,計算形態(tài)的切換首先是并行計算任務(wù)集的決策以及對各任務(wù)眾核計算資源的構(gòu)型 決策。具體操作為:
[0051]首先,為多形態(tài)計算系統(tǒng)設(shè)計一個用于決策計算形態(tài)的軟件模塊Μ-Agent::=〈〈 υθ,ΜΟ,ΜΟ,ζΜ,Μ。〉,稱之為形態(tài)決策器。該決策器以動態(tài)采集到的泛環(huán)境Ue因素和當(dāng)前的計 算形態(tài)1作為決策輸入,MD是基于模糊推理或人工神經(jīng)網(wǎng)絡(luò)等智能化方法設(shè)計的形態(tài)決策 邏輯;
[0052]然后,決策器根據(jù)用戶定義的推理規(guī)則,對所采集環(huán)境因素的狀態(tài)進行在線判斷, 進而從形態(tài)集合ζΜ中決策出新的計算形態(tài)M。及其參數(shù);
[0053]最后,決策器根據(jù)眾核資源占用狀態(tài)、可并行執(zhí)行任務(wù)的關(guān)鍵度與時間約束參數(shù) 的綜合約束;在有足夠可用眾核資源的情況下,依次按照任務(wù)的關(guān)鍵度和時間約束,選擇出 關(guān)鍵度高或時間約束更為緊急的并行任務(wù),進而形成可部署并行任務(wù)集《^>。
[0054] Β、單任務(wù)的計算復(fù)雜度評估。
[0055] 并行任務(wù)集的確定以及面向任務(wù)屬性的眾核資源優(yōu)化分配,是在眾核處理機中實 現(xiàn)全局優(yōu)化并行計算的關(guān)鍵。對于確定數(shù)量的眾核資源,為M形態(tài)下ζ< τ.<ρ>中的并行任務(wù)集 合理的分配計算資源,使得各任務(wù)在滿足基本執(zhí)行時間和精度要求的基礎(chǔ)上,盡可能地提 高執(zhí)行效率是保障其關(guān)鍵度的重要體現(xiàn)。
[0056] Bl、查詢給定數(shù)據(jù)規(guī)模時的任務(wù)復(fù)雜度參數(shù)。
[0057] 接收到待處理的矩陣數(shù)據(jù);根據(jù)該數(shù)據(jù)矩陣大小h*w,其中h為矩陣高度、w為寬度; 若在Q中可查詢到任務(wù)^的計算開銷矩陣Z 1(Mw)和分配方案,且分配方案不存在任何元 素的值為〇,則轉(zhuǎn)入步驟C處理,否則轉(zhuǎn)入步驟B2處理。
[0058] B2、任務(wù)的η核模式復(fù)雜度計算。
[0059] α為任務(wù)的基本計算復(fù)雜度,可由任務(wù)設(shè)計者設(shè)定。但對于數(shù)據(jù)規(guī)??勺兊牟⑿杏?算任務(wù)而言,算法的執(zhí)行時間與數(shù)據(jù)規(guī)模密切相關(guān)。為此,在創(chuàng)建任務(wù)^時,若單個輸入數(shù) 據(jù)規(guī)模發(fā)生變化,就需要在不改變其并行邏輯的前提下動態(tài)估算單核形態(tài)下的任務(wù)計算復(fù) 雜度。具體操作如下:
[0060] 首先,根據(jù)"任務(wù)T1Sn核形態(tài)時,T1所需核資源s*n不超過可分配計算核的數(shù)量Ν" 這一約束,為η設(shè)置初值1(表示單核任務(wù)模式),設(shè)定一個非負(fù)整型的遞增步長Δη,Δη < ;[111:(1'1/8)-11;建立式(1)所示大小為8*(;[111:((1'|-1)/411)+1)的計算開銷矩陣2 :1(]1抑),矩陣 元素TPq(p為元組的行下標(biāo),q為元素的列下標(biāo))表示4在11核模式下的時間開銷,I < q < (int (0-1)/^11)+1),11值可由式(2)計算;元素初值全部為〇;
[0061 ]
式(O
[0062]
式 α)
[0063] 第二,倉ll建η核形態(tài)的任務(wù)Ti,包括了 s個η核模式的計算步:K1,Κ2,…,Ks,共分配了 n*s個計算核;
[0064] 第三,將待計算數(shù)據(jù)輸入計算步K1,并統(tǒng)計其計算時間Tln,若s>l,將數(shù)據(jù)輸出到緩 沖區(qū)(62 ;按此方式,依次完成K2至KH任務(wù)的計算時間統(tǒng)計;
[0065] 第四,^執(zhí)行完后,統(tǒng)計Tsn,銷毀當(dāng)前η核模式的任務(wù)τ1;
[0066] 最后,如q〈(int((N-l)/Δn) + l),將q的值加 l,并依據(jù)式(2)計算新的n值,返回第 二步繼續(xù);否則在數(shù)據(jù)文件k中存儲T1任務(wù)對h*w大小數(shù)據(jù)的時間開銷矩陣Z KMw)及其Δ η,轉(zhuǎn)入B3步驟執(zhí)行。
[0067] Β3、各計算步的核模式選擇,具體操作為:
[0068] 根據(jù)"各計算步的計算時間開銷盡量接近"這一條件,基于矩陣的數(shù)據(jù)為任務(wù)^各 個計算步設(shè)定并行的核數(shù)量。
[0069] 首先,建立一個Ti計算步的核數(shù)量矩陣Cs*(int((Ν-υ/Μ+υ (i),元素 C為二元組〈ω,T >其中ω為各計算步分配的計算核數(shù)量,T為該核數(shù)量時計算步的時間開銷,初值全部為〈0, 〇>,如式⑶所示;設(shè)置p = l,q = l,從Zi(h*w)讀取Tpq的值并賦予T',C11設(shè)置為<1,Τη>;
[0070]
式(3) 務(wù)全局效能的優(yōu)化。具體操作如下:
[0079] Cl、任務(wù)的核資源數(shù)量計算
[0080] 首先,已運行任務(wù)中,比新到來任務(wù)關(guān)鍵度高的所有任務(wù)繼續(xù)運行;其他已運行任 務(wù)與新到達任務(wù)構(gòu)成待部署任務(wù)集合ζ'<τ. (Ρ>,統(tǒng)計該集合中任務(wù)所占用核資源與系統(tǒng)空閑 核資源的和Ct,以待分配;
[0081] 第二,根據(jù)關(guān)鍵度優(yōu)先、任務(wù)時間約束及可用核資源數(shù)量,進行多任務(wù)資源的預(yù)分 配;
[0082] a)從關(guān)鍵度由高到低,依次從選取一個任務(wù)τ,根據(jù)Gc中的方案計算其所 需的核資源數(shù)C;
[0083] b)若Ct 2 C,為任務(wù)τ預(yù)分配C個核資源,將Ct的值減去C;否則,轉(zhuǎn)入步驟c);
[0084] c)若ζ'<τ,_中存在未分配核資源的任務(wù),跳轉(zhuǎn)至a)執(zhí)行直至Ι」ζ':< τ,<ρ為空或不存在 任務(wù)所需的C小于Ct。
[0085] 最后,生成預(yù)分配方案;若存在不可滿足資源數(shù)量要求的任務(wù),將任務(wù)集輸出反饋 給用戶。
[0086] C2、任務(wù)資源分配與重構(gòu)。
[0087] 首先,對于已運行且關(guān)鍵度不高于新任務(wù)的任務(wù),若預(yù)分配成功,則根據(jù)預(yù)分配方 案及Q中的計算步資源比例,重新分配資源啟動該任務(wù);否則,銷毀任務(wù),釋放核資源及存 儲資源;
[0088] 然后,對于新到達的每一個任務(wù),若預(yù)分配成功,則根據(jù)心中的計算步資源比例為 每一個計算步分配核資源及存儲資源,構(gòu)造任務(wù)并啟動,將任務(wù)的狀態(tài)λ置為1;若預(yù)分配不 成功,則將任務(wù)的狀態(tài)λ置為0,取消該任務(wù)并進行系統(tǒng)提示;
[0089] 最后,完成任務(wù)集中所有任務(wù)的啟動。
[0090] 步驟D、周期性地執(zhí)行步驟A、B、C、D,直至系統(tǒng)停機。
[0091] 結(jié)合圖1-圖3,本發(fā)明實施例的工作過程如下:
[0092] 首先M-Agent感知泛環(huán)境Ue的變化,動態(tài)決策、生成新的眾核任務(wù)集ζ<τ,進入任 務(wù)效能評估階段,M-Agent依次對中尚未評估的任務(wù)(即中不存在該任務(wù)的信息)創(chuàng) 建不同核數(shù)量的形態(tài)實體,并采用運行時統(tǒng)計的方式統(tǒng)計計算任務(wù)各計算步的資源比例模 型和不同核資源規(guī)模下的執(zhí)行時間,計入ζ^Μ-Agent從已運行任務(wù)中選擇關(guān)鍵度小于 ζ、-τ. ?ρ>中任一任務(wù)關(guān)鍵度的所有任務(wù),與新任務(wù)一同構(gòu)成待部署任務(wù)集,統(tǒng)計該類任 務(wù)當(dāng)前所占用的計算核資源數(shù)量;依關(guān)鍵度從高到低,M-Agent從ζ' <τ,(ρ>中依次選擇各個 任務(wù),根據(jù)其時間約束計算并分配特定數(shù)量的核資源;對分配了資源且未運行的各個任務(wù), 依據(jù)Gc中的計算步資源比例構(gòu)造和啟動各計算步,對于未能成功分配資源的低關(guān)鍵度任 務(wù),銷毀該任務(wù);返回開始的泛環(huán)境監(jiān)測執(zhí)行。
[0093]本發(fā)明目前已成功實施于多任務(wù)流式眾核處理模式中,結(jié)合圖3及多任務(wù)并行計 算這一應(yīng)用場景,本發(fā)明實施的具體步驟如下:
[0094]步驟Α、眾核任務(wù)及其運行屬性決策。
[0095]本實施例中,基于Kepler⑶DA的眾核處理機共有2496個計算核,共有6個眾核計 算任務(wù)Tl、T2、τ3、τ4、τ5、τ6和四個計算形態(tài)Mo、Μι、M2和M3,定義如下。
[0096] Tl:=<l,〇,l〇,null, 80mS , β?η , Pout, <Kl ,K2jK3jK4jK5jK6, κ7?
[0097] τ2: =<2,0,10,null ,3ms,β?η,Pout,<κι,κ2?
[0098] τ3: =〈3,0,10,nulI,15ms,Pin,,〈κι,Κ2,κ3,K4,κ5,κ 6,κ7,κ8>>
[0099] τ4: =<4,0,10,null ,21ms,β?η,Pout,<κι,κ2,κ3,Κ4?
[0100] Τ51 -〈5,0,10, nul 1,3rns, β:?η,Pout,〈κι, ι〇2, 1C3, 1C4, Kg, Kg〉〉
[0101 ] τ6: =〈1,〇,10 ,null,0.5ms,0in,0out,〈Ki>>
[0102] Mo: =〈{null},{null}〉/*異常態(tài)*/
[0103] Μι: = <{<τι,τι.ρ = 1>,<τ2,τ2.ρ = 8>,<τ3,τ3.ρ = 3>} , {1024}>
[0104] M2: = <{<τι,τ?·Ρ = 6>,<τ4,τ4.Ρ=1>,<τ5,τ5.Ρ = 2>} , {512}>
[0105] M3: =<{<ti,ti.p = 1>,<T2,T2.p=10>,<T3,t3.p = 5>,<T6,t6.p = 4>} , {2048}>
[0106] 步驟Al、環(huán)境適應(yīng)的任務(wù)集決策。
[0107] 本實施例中,形態(tài)決策器M-Agent基于模糊推理邏輯設(shè)計。其以外界環(huán)境中的障礙 物距離d、障礙物的威脅程度r以及計算平臺中的可用眾核資源及其狀態(tài)作為輸入,其輸入 變量屬性的模糊子集如表1、表2所示,輸入變量的離散域模糊集合隸屬度分布如表3所示。
[0108] 表1物理環(huán)境側(cè)面的模糊子集說明
[0109]
[0110]
[0111]
[0112]
[0113]
[0114] M-Agent實時感知泛環(huán)境中環(huán)境側(cè)面或事件的變化,并通過設(shè)定的模糊推理規(guī)則 實時決策出新的計算形態(tài)。進而,根據(jù)眾核資源的狀態(tài)以及新形態(tài)下任務(wù)的重要程度來決 策出可部署于中和處理器的并行任務(wù)集。障礙物距離d實際論域的取值范圍為[0,104],威 脅程度r實際論域的取值范圍為[0,100]。根據(jù)量化公式1和2將其量化至離散論域[0,6]中。
[0115] % =. 4」 式 1
[0116] =[0.06 Xe. \ 式 2
[0117] 如上所述,輸出變量M為計算形態(tài),其值劃分為MtKM1、M2、M 3等4個值,并量化至離散 論域[0,6]中。若計算資源異常,所有模態(tài)轉(zhuǎn)入Mo計算形態(tài)。由此,輸出變量的隸屬度函數(shù)及 其決策規(guī)則分別如表4、表5所不。
[0118]表4輸出變量M的隸屬度函數(shù)
[0122] 實際中,用戶可根據(jù)應(yīng)用特點及需要設(shè)計不同的M-Agent決策邏輯和相關(guān)規(guī)則。
[0123] 步驟B、單任務(wù)的計算復(fù)雜度評估。
[0124]在構(gòu)造、部署任務(wù)之前,先通過自適應(yīng)運行測試的方法對特定數(shù)據(jù)規(guī)模下的眾核 任務(wù)計算復(fù)雜度進行評估。
[0125]步驟Bl、查詢給定數(shù)據(jù)規(guī)模時的任務(wù)復(fù)雜度參數(shù)。
[0126]接收到待處理的矩陣數(shù)據(jù);輸入數(shù)據(jù)矩陣大小(h = 640,w = 480),若在ζ。中可查詢 到任務(wù)T1的多核計算開銷矩陣Z ,,且分配方案不存在任何元素的值為〇,則轉(zhuǎn)入步驟C處理, 否則轉(zhuǎn)入步驟B2處理。
[0127]步驟B2、任務(wù)的η核模式復(fù)雜度計算。
[0128]步驟Β21,根據(jù)s個計算步的任務(wù)Ti所需核數(shù)量s*n(n指任務(wù)T i為η核形態(tài))不超過可 分配計算核N= 350這一約束,設(shè)定一個遞增步長Δ η = 8;建立式(1)所示大小為8*(;[111:((1'1-1)/ A η)+1)的計算開銷矩陣Z辦抑),矩陣元素Tpq表示Kt^n核模式下的時間開銷,I < q < (11^(0-1)//\11)+1),11值可由式(1)計算;元素初值全部為0; r ^ fl; q=l 時
[0129] IY= \ ^ 式⑴
[(q-1) X Δη; q>l時
[0130] 步驟B22,創(chuàng)建η核形態(tài)的任務(wù)Ti,其實際上是包括了S個η核的計算步:K1^2,…, ks,共占用n*s個計算核;
[0131 ]步驟B23,將待計算數(shù)據(jù)輸入計算步K1,并統(tǒng)計其計算時間Ti;若s>l,將數(shù)據(jù)輸出到 緩沖區(qū);按此方式,依次完成K2至Kh任務(wù)的計算時間統(tǒng)計;
[0132] 步驟Β24,^執(zhí)行完后,統(tǒng)計Tsn,銷毀當(dāng)前η核模式的任務(wù)^;
[0133] 步驟Β25,如q〈(int( (N-I)/ Δ η) + 1),將q的值加1,并依據(jù)式(1)計算新的η值,返回 第二步繼續(xù);否則在數(shù)據(jù)文件Q中存儲T1任務(wù)對h*w大小數(shù)據(jù)的時間開銷矩陣Z ,(Mw)及其 Δ η,轉(zhuǎn)入B3步驟執(zhí)行。τ5任務(wù)的復(fù)雜度如表6所示。
[0134] 表6η核模式的^任務(wù)復(fù)雜度矩陣(ms)
[0136] 步驟B3、各計算步間的多核模式選擇
[0137] 步驟B31,建立一個Ti計算步的核數(shù)量矩陣Cs*(int((N-d/w+dG),全部元素c的初值 均為〈〇,〇>;設(shè)置P = I,q = 1,從z i(h*w)讀取Tpq的值并賦予T',C11設(shè)置為〈I,Tn>;
[0138] 步驟Β32,遍歷Z1(Mw)的(ρ+1)行,根據(jù)"與Τ'的差最小"這一條件選擇一個元素 T(P+1) q,,分別將c(P+1)q的值置為《l + (q'-1 )* Δ n),T(P+1)q,>;將T' 賦值為Max(clq. T,c2q. T,…, C(p+l)q . T);
[0139] 步驟Β33,若ρ小于s,將ρ值加I,轉(zhuǎn)入第二步;若ρ不小于s,將ρ賦值為I,q的值加I, 轉(zhuǎn)入第四步;
[0140] 步驟B34,若q < (int((N_l)/An) + l),轉(zhuǎn)入第二步;否則,得出表7所示的計算結(jié) 果,轉(zhuǎn)入第五步;
[0141] 表7任務(wù)T1的計算步核數(shù)量分配矩陣
[0142]
[0143] 步驟B35,對Cs*(int((N-1)/Δη) + 1)( i)的每一列,將同列兀素的時間ω和T分別求和,得 到該列方案時T1的核資源總數(shù)和時間開銷;如T5的不同構(gòu)造方案及其時間開銷為:〈84, 3.852>,<99,3.108>,<107,2.815>,<138,2.367>,<193,1.818>,<209,1.705>,<217,1.659 >,<225,1.62>〇
[0144] 步驟Β36,選擇時間開銷小于T1. dl且所需資源最少的一列q作為T1的任務(wù)構(gòu)造方 案,并將該列以元組<ciq,c 2q,c3q,…,csq> 存入((:。如15.(11 為 3ms 時,方案〈107,2.815>、〈138, 2 · 367>、〈193,1 · 818>、〈209,1 · 705>、〈217,1 · 659>、〈225,1 · 62> 均可滿足時間要求,但根據(jù) 資源最少的原則,最終選定〈107,2.815>對應(yīng)的任務(wù)構(gòu)造方案,SPC5矩陣中的第三列。
[0145] 步驟C、多任務(wù)間的核資源優(yōu)化分配
[0146] 步驟CU任務(wù)的核資源數(shù)量計算
[0147] 步驟Cl 1,已運行任務(wù)中,比新到來任務(wù)關(guān)鍵度高的所有任務(wù)繼續(xù)運行,如M1轉(zhuǎn)到M3 時,任務(wù)T1的關(guān)鍵度最高,繼續(xù)運行;其他已運行任務(wù)與新到達任務(wù)構(gòu)成待部署任務(wù)集合 ζ'<τ,CP= ?τ2, T3, L丨,統(tǒng)計該集合中任務(wù)所占用核資源與系統(tǒng)空閑核資源的和Ct,以待分配;
[0148] 步驟C12,根據(jù)關(guān)鍵度優(yōu)先、任務(wù)時間約束及可用核資源數(shù)量,進行多任務(wù)資源的 預(yù)分配;
[0149] a)從關(guān)鍵度由高到低,從匕^>中依次選取任務(wù),如τ6、τ3、τ 2,根據(jù)GC計算其所需 的最少資源數(shù)C;
[0150] b)若Ct 2 C,為任務(wù)τ預(yù)分配C個核資源;將Ct的值減去C;否則,轉(zhuǎn)入步驟c)執(zhí)行;
[0151] c)若ζ'<τ.<ρ>中存在未分配核資源的任務(wù),跳轉(zhuǎn)至a)執(zhí)行直到ζ%,#為空或不存在 任務(wù)所需的C小于Ct。
[0152] 步驟C13,生成預(yù)分配方案;若存在不可滿足資源數(shù)量要求的任務(wù),將任務(wù)集輸出 反饋給用戶。
[0153] 步驟C2、任務(wù)資源分配與重構(gòu)。
[0154] 步驟C21,對于已運行且關(guān)鍵度不高的任務(wù),如13和12,若預(yù)分配成功,則根據(jù)預(yù)分 配方案及Q中的計算步資源比例,重新分配資源啟動該任務(wù);否則,銷毀任務(wù),釋放核資源 及存儲資源;
[0155] 步驟C22,對于新到達的每一個任務(wù),如τ6,若預(yù)分配成功,則根據(jù)心中的計算步資 源比例為每一個計算步分配核資源及存儲資源,構(gòu)造任務(wù)并啟動,將任務(wù)的狀態(tài)λ置為1;若 預(yù)分配不成功,則將任務(wù)的狀態(tài)λ置為0,取消該任務(wù)并進行系統(tǒng)提示;
[0156] 步驟C23,完成任務(wù)集中所有任務(wù)的啟動。
[0157] 步驟D、周期性地執(zhí)行步驟A、B、C、D,直至系統(tǒng)停機。
[0158] 本發(fā)明可為具有環(huán)境自適應(yīng)能力的智能化高性能眾核計算系統(tǒng)設(shè)計提供方法支 撐。在將物理環(huán)境、計算資源等因素規(guī)約為系統(tǒng)運行所處泛環(huán)境的基礎(chǔ)上,通過計算形態(tài)智 能決策機制以及眾核計算任務(wù)及其計算步復(fù)雜度的運行時自適應(yīng)評估,可以實現(xiàn)"資源-效 能"優(yōu)化的任務(wù)形態(tài)構(gòu)造和部署,在保證各任務(wù)時間約束的同時也提升眾核資源的利用率。 本發(fā)明適用于多計算形態(tài)的智能化高性能計算系統(tǒng),尤其可以為無人航行器、智能機器人 等智能系統(tǒng)的實時數(shù)據(jù)處理與識別以及輸入數(shù)據(jù)規(guī)??勺兊拇髷?shù)據(jù)實時處理系統(tǒng)等的設(shè) 計提供方法支撐。
[0159] 依據(jù)本發(fā)明,本領(lǐng)域的技術(shù)人員可以很容易地設(shè)計出環(huán)境自適應(yīng)的多形態(tài)眾核任 務(wù)計算系統(tǒng)實施例。
【主權(quán)項】
1. 一種自適應(yīng)眾核資源調(diào)度方法,其特征在于包括下述步驟: 步驟A、將物理環(huán)境表示為E,包括系統(tǒng)運行相關(guān)的η個環(huán)境因素 ε,記為<ει,62, 一,60): 系統(tǒng)內(nèi)部資源表示為R,記為如1,^,-,^。〉,111為資源類型的數(shù)量;將物理環(huán)境因素、系統(tǒng)資 源歸一表示為泛環(huán)境化; 計算形態(tài)Μ描述了計算系統(tǒng)在運行時軟硬件資源的基本構(gòu)造模式及狀態(tài),表示為< ζ勺.φ>,ζ < η φ>>;其中,ζ表示集合,τ是并行計算任務(wù)個體;r是眾核計算資源個體,φ存儲任務(wù) 或資源的運行參數(shù)或分配參數(shù);ζ沖φ>表示任務(wù)及其運行參數(shù)的集合,ζ<ι,φ>表示資源及其 數(shù)量參數(shù)的集合; 并行計算任務(wù)Τ定義為<id,λ,p,α,dl,βln,β。ut,<Kl,K2,…,Ks〉〉,其中id為任務(wù)的標(biāo)識;λ 表示任務(wù)的狀態(tài),0值表示未創(chuàng)建,1值表示已創(chuàng)建;Ρ為任務(wù)的關(guān)鍵度;α為任務(wù)體的復(fù)雜度; dl為任務(wù)的最大執(zhí)行時間長度;βιη為眾核處理機內(nèi)存中的輸入數(shù)據(jù)區(qū)域,iW為輸出數(shù)據(jù)區(qū) 域;任務(wù)τ共有S個計算步,Κι為第i個計算步,其輸入數(shù)據(jù)區(qū)域為01,輸出數(shù)據(jù)區(qū)域為βι+ι;配 置方案集Cc在數(shù)據(jù)庫中靜態(tài)記錄了已經(jīng)存在的任務(wù)計算步資源比例及分配方案; 為多形態(tài)計算系統(tǒng)設(shè)計一個用于決策計算形態(tài)的決策器M-Agent: : = <OJe,Mi〉,MD,CM, M〇〉,W動態(tài)采集到的泛環(huán)境化因素和當(dāng)前的計算形態(tài)Ml作為決策輸入,MD是基于模糊推理 或人工神經(jīng)網(wǎng)絡(luò)設(shè)計的形態(tài)決策邏輯; 決策器根據(jù)用戶定義的推理規(guī)則,對所采集環(huán)境因素的狀態(tài)進行在線判斷,進而從形 態(tài)集合ζΜ中決策出新的計算形態(tài)M。及其參數(shù); 決策器根據(jù)眾核資源占用狀態(tài)、可并行執(zhí)行任務(wù)的關(guān)鍵度與時間約束參數(shù)的綜合約 束,在有足夠可用眾核資源的情況下,依次按照任務(wù)的關(guān)鍵度和時間約束,選擇出關(guān)鍵度高 或時間約束更為緊急的并行任務(wù),進而形成可部署并行任務(wù)集(<r.cp>; 步驟B、單任務(wù)的計算復(fù)雜度評估,包括W下步驟: B1、接收到待處理的矩陣數(shù)據(jù),h為矩陣高度,W為矩陣寬度;若在中查詢到任務(wù)τι的計 算開銷矩陣Ζ 1化*w)和分配方案,且分配方案不存在任何元素的值為0,則轉(zhuǎn)入步驟C,否則 轉(zhuǎn)入步驟B2; B2、任務(wù)的η核模式復(fù)雜度計算,包括W下步驟: Β21、根據(jù)任務(wù)τι為η核形態(tài)時,τι所需核資源s*n不超過可分配計算核的數(shù)量Ν的約束, 為η設(shè)置初值1,設(shè)定一個非負(fù)整型的遞增步長Δη, An^int(N/s)-n;建立大小為s*(int ((N-1)/ Δ n)+l)的計算開銷矩陣Z,矩陣 元素 Tpq表示κρ在η核模式下的時間開銷,P為元組的行下標(biāo),q為元素的列下標(biāo),l<q< (int ((Ν-1)/Δη)+1)元素初值全部為0; B22、倉幡η核形態(tài)的任務(wù)Ti,包括了 s個η核模式的計算步Κι, Κ2, · · ·, Ks,共分配了n*s個計 算核; B23、將待計算數(shù)據(jù)輸入計算步K1,并統(tǒng)計其計算時間Tin,若s〉l,將數(shù)據(jù)輸出到緩沖區(qū) 02 ;依次完成K2至Ks-l任務(wù)的計算時間統(tǒng)計; B24、Ks執(zhí)行完后,統(tǒng)計Tsn,銷毀當(dāng)前η核模式的任務(wù)τι; Β25、如q<(int((N-l)/An) + l),將q的值加1,并計算新的η值,返回步驟Β22;否則在數(shù) 據(jù)文件Cc中存儲τι任務(wù)對h*w大小數(shù)據(jù)的時間開銷矩陣Ζ 1化*w)及其Δ η,轉(zhuǎn)入步驟Β3; Β3、各計算步的核模式選擇,包括W下步驟: Β31、建立一個Ti計算步的核數(shù)量矩陣Cs*(int((N-i)/An)+i)(i),元素 C為二元組< ω ,τ>中ω 為各計算步分配的計算核數(shù)量,Τ為該核數(shù)量時計算步的時間開銷,初值全部為<0,0〉,設(shè)置P = l、q = l,從Ζ i化*w)讀取Tpq的值并賦予 Τ',cii設(shè)置為<1 ,Τιι> ; Β32、遍歷Ζ i化*w)的(ρ+1)行,選擇與Τ'的差最小一個元素 T(p+i)q',將c(p+i)q的值置為< (l + (q'-l)*An) ,T(p+l)q'>,將Τ' 賦值為 Max(ciq. T, C2q. T ,…,C(p+l)q. T); B33、若p小于s,將p值加1,轉(zhuǎn)入B32;若p不小于s,將p賦值為1,q的值加1,轉(zhuǎn)入B34; B34、若q< (int((N-l)/Δn)+l),B32;否貝lJ,轉(zhuǎn)入B35; B35、對Cs*(int((N-l)/An)+l)a)的每一列,將同列元素的時間ω和T分別求和,得到該列方 案時τι的核資源總數(shù)和時間開銷; Β36、選擇時間開銷小于τι.dl且所需資源最少的一列q作為τι的任務(wù)構(gòu)造方案,并將該 列!?Α 兀組〈Clq , C2q , C3q , ... , Csq〉存入Cc ; B37、若弓<^. 中存在未評估任務(wù),則在ζ<τ,中選擇新的任務(wù)τι并轉(zhuǎn)到B1;否則轉(zhuǎn)步驟C; 步驟C、多任務(wù)間的核資源優(yōu)化分配,包括W下步驟: 在已運行任務(wù)中,比新到來任務(wù)關(guān)鍵度高的所有任務(wù)繼續(xù)運行,其他已運行任務(wù)與新 到達任務(wù)構(gòu)成待部署任務(wù)集合ζ'<τ,op。,統(tǒng)計待部署任務(wù)集合中任務(wù)所占用核資源與系統(tǒng)空 閑核資源的和Ct,W待分配; 根據(jù)關(guān)鍵度優(yōu)先、任務(wù)時間約束及可用核資源數(shù)量,進行多任務(wù)資源的預(yù)分配: a) 按照關(guān)鍵度由高到低,依次從;'<了.<^>中選取一個任務(wù)τ,根據(jù)Cc中的方案計算其所需 的核資源數(shù)C; b) 若Ct > C,為任務(wù)τ預(yù)分配C個核資源,將Ct的值減去C;否則,轉(zhuǎn)入步驟C); C)若ζ%,φ>中存在未分配核資源的任務(wù),跳轉(zhuǎn)至a)執(zhí)行直到ζ>々,φ>為空或不存在任務(wù)所 需的C小于Ct; 生成預(yù)分配方案;若存在不可滿足資源數(shù)量要求的任務(wù),將任務(wù)集輸出反饋給用戶; 對于已運行且關(guān)鍵度不高于新任務(wù)的任務(wù),若預(yù)分配成功,則根據(jù)預(yù)分配方案及Cc中的 計算步資源比例,重新分配資源啟動該任務(wù);否則,銷毀任務(wù),釋放核資源及存儲資源; 對于新到達的每一個任務(wù),若預(yù)分配成功,則根據(jù)Cc中的計算步資源比例為每一個計算 步分配核資源及存儲資源,構(gòu)造任務(wù)并啟動,將任務(wù)的狀態(tài)λ置為1;若預(yù)分配不成功,則將 任務(wù)的狀態(tài)λ置為0,取消該任務(wù)并進行系統(tǒng)提示; 最后,完成任務(wù)集中所有任務(wù)的啟動; 步驟D、返回步驟A,直至系統(tǒng)停機。
【文檔編號】G06F9/50GK105843679SQ201610155980
【公開日】2016年8月10日
【申請日】2016年3月18日
【發(fā)明人】張凱龍, 周少麗, 胡亮, 楊安勝, 蘇航, 吳曉, 姚遠
【申請人】西北工業(yè)大學(xué)