王松燁
【摘 要】工業(yè)生產(chǎn)活動中的多任務(wù)并發(fā)卸載過程會利用大量計(jì)算資源,但是多源異構(gòu)的任務(wù)需要執(zhí)行的時(shí)間存在差異,系統(tǒng)的計(jì)算資源和網(wǎng)絡(luò)負(fù)載等情況也會極大地影響任務(wù)資源分配的方案。文章針對上述問題進(jìn)行研究,首先設(shè)計(jì)模型模擬實(shí)際工業(yè)場景并分析資源分配過程;然后使用DQN算法以最大化任務(wù)完成數(shù)量為目標(biāo),對每個任務(wù)進(jìn)行資源分配;最后通過分析算法性能為工業(yè)智能制造應(yīng)用提供理論依據(jù)。實(shí)驗(yàn)仿真結(jié)果表明,文章提出的資源分配方案比平均分配方案性能更高,更適用于多任務(wù)卸載的時(shí)變的工業(yè)環(huán)境中。
【關(guān)鍵詞】邊緣計(jì)算;資源分配;智能制造;深度Q學(xué)習(xí)
【中圖分類號】TP391.9 【文獻(xiàn)標(biāo)識碼】A 【文章編號】1674-0688(2022)04-0050-04
1 概述
工業(yè)生產(chǎn)活動中產(chǎn)生的計(jì)算任務(wù)大部分屬于無關(guān)聯(lián)、多結(jié)構(gòu)、高并發(fā)的,同時(shí)工業(yè)環(huán)境下無線網(wǎng)絡(luò)資源有限,大規(guī)模的并發(fā)卸載任務(wù)會造成任務(wù)阻塞[1]。邊緣計(jì)算服務(wù)器相較于云計(jì)算服務(wù)器計(jì)算和存儲能力小。在這些條件下,多終端任務(wù)的并行處理不僅要考慮處理任務(wù)的總時(shí)延,還要考慮邊緣計(jì)算服務(wù)器的計(jì)算資源能否滿足計(jì)算需求。當(dāng)發(fā)生計(jì)算卸載的情況時(shí),主要影響計(jì)算服務(wù)質(zhì)量的因素有兩點(diǎn):一是網(wǎng)絡(luò)傳輸環(huán)境的條件,二是計(jì)算資源的分配情況。
工業(yè)生產(chǎn)過程中產(chǎn)生的任務(wù),一般情況下需要服務(wù)器提供計(jì)算和存儲兩種資源,并且由于工業(yè)網(wǎng)絡(luò)環(huán)境不穩(wěn)定的因素,因此邊緣服務(wù)器需要根據(jù)具體的任務(wù)計(jì)算信息為其分配合理的計(jì)算資源和網(wǎng)絡(luò)資源。在并發(fā)卸載的過程中,服務(wù)器的處理壓力將會增加[2]。如果在任務(wù)卸載發(fā)生時(shí)未對邊緣服務(wù)器計(jì)算資源進(jìn)行合理分配,導(dǎo)致服務(wù)器資源的浪費(fèi)和計(jì)算阻塞,會造成后續(xù)任務(wù)的長時(shí)間等待,最終影響工業(yè)服務(wù)質(zhì)量。同時(shí),由于任務(wù)存在約束時(shí)間,所以任務(wù)對時(shí)間十分敏感,在進(jìn)行任務(wù)卸載時(shí)會以時(shí)間作為限制因素,資源分配時(shí)也會將其作為重要參考。
為了解決上述問題,本文提出了基于深度Q學(xué)習(xí)的多任務(wù)資源分配方案?;贒QN的多任務(wù)資源分配方案考慮了實(shí)際工業(yè)場景中的網(wǎng)絡(luò)、計(jì)算時(shí)隙及服務(wù)器性能等影響因素,實(shí)現(xiàn)了計(jì)算資源對照任務(wù)需求的合理分配,有效緩解了工業(yè)終端并發(fā)卸載過程中服務(wù)器資源搶占熱度高的問題。本文提出的方案將任務(wù)的時(shí)延需求作為約束條件,以任務(wù)完成數(shù)量作為服務(wù)質(zhì)量的描述,從而對計(jì)算資源分配方案進(jìn)行優(yōu)化,降低產(chǎn)生任務(wù)阻塞的可能性。
2 基于DQN的多任務(wù)資源分配方案
生產(chǎn)活動中任務(wù)集合可以表示為M={1,2,L,M},任務(wù)對時(shí)間的敏感度不同。假設(shè)將時(shí)間分成等長的時(shí)隙,在時(shí)隙t時(shí)終端都會產(chǎn)生計(jì)算密集型的任務(wù),由任務(wù)屬性將該任務(wù)定義為Rm(Dm,Cm,φm)。其中,Dm代表計(jì)算任務(wù)所需要處理的數(shù)據(jù)量;Cm是指任務(wù)計(jì)算復(fù)雜度,一般為任務(wù)計(jì)算過程中的步驟,表示完成計(jì)算密集型任務(wù)Rm所需要的CPU周期;Dm和Cm成正比線性關(guān)系;φm是指計(jì)算任務(wù)需求時(shí)限,即完成計(jì)算任務(wù)m所花費(fèi)的時(shí)間不超過φm;φm越小代表任務(wù)對時(shí)延越敏感[3]。
資源分配過程要充分考慮外部通信環(huán)境、自身設(shè)備信息(包含網(wǎng)絡(luò)狀況和CPU當(dāng)前負(fù)載占用率)等因素及計(jì)算任務(wù)的相關(guān)信息,根據(jù)指定的算法進(jìn)行計(jì)算資源分配。
2.1 網(wǎng)絡(luò)模型
在進(jìn)行工業(yè)生產(chǎn)活動時(shí),發(fā)生計(jì)算卸載的任務(wù)將卸載至服務(wù)器。任務(wù)i在卸載時(shí)通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)傳輸速率vi計(jì)算如下:
其中,K表示分配的帶寬資源,Pi表示終端設(shè)備的傳輸功率;hi表示服務(wù)器基站和終端之間的信道增益幅值,并在時(shí)隙t內(nèi)保持穩(wěn)定;σ表示信道傳輸噪聲功率。
2.2 問題模型
在時(shí)隙t內(nèi),卸載任務(wù)會傳輸數(shù)據(jù),產(chǎn)生傳輸?shù)难舆t表示如下:
當(dāng)計(jì)算任務(wù)卸載到邊緣服務(wù)器處理時(shí),任務(wù)處理的時(shí)間取決于在服務(wù)器中實(shí)際分配得到的資源。在時(shí)隙t內(nèi),任務(wù)i在服務(wù)器中的處理時(shí)延表示如下:
其中,θi表示任務(wù)i在服務(wù)器中分配得到的計(jì)算資源占比,滿足條件■(θi)≤1,θi≥0;F代表服務(wù)器的計(jì)算資源。根據(jù)公式(2)和公式(3)可得出任務(wù)i的處理總時(shí)延如下:
2.3 目標(biāo)模型
假設(shè)所有任務(wù)的最大容忍時(shí)限都小于時(shí)隙t,綜合考慮網(wǎng)絡(luò)情況、終端任務(wù)和計(jì)算資源,任務(wù)在時(shí)隙t內(nèi)完成則記為成功,否則任務(wù)被記為失敗。為了得到最多的任務(wù)成功數(shù)量,目標(biāo)模型表達(dá)式如下:
其中,Gi代表任務(wù)執(zhí)行成功。當(dāng)Gi=0時(shí),代表任務(wù)執(zhí)行失敗;當(dāng)Gi=1時(shí),代表任務(wù)執(zhí)行成功。φi的約束條件為容忍時(shí)限小于時(shí)隙t。
2.4 資源分配方案
多任務(wù)場景下,以最大化任務(wù)完成數(shù)量為目標(biāo)可以動態(tài)調(diào)整資源的分配情況。使用DQN算法能夠在時(shí)間約束的情況下尋找最優(yōu)的分配方案。
首先將任務(wù)執(zhí)行情況及服務(wù)器資源情況作為狀態(tài)信息S,表示為S=(G,F(xiàn)? '),其中G表示任務(wù)處理成功數(shù)量,F(xiàn)? '表示處理任務(wù)剩余計(jì)算資源。定義任務(wù)的分配資源占比情況為動作,表示為A=[θ1,θ2,L,θM];將單個時(shí)隙內(nèi)任務(wù)執(zhí)行成功數(shù)量作為獎勵,表示為R=■Gi;然后根據(jù)DQN兩個神經(jīng)網(wǎng)絡(luò)進(jìn)行參數(shù)選取;最后設(shè)計(jì)DQN資源分配算法[4]。如圖1所示,DQN使用雙神經(jīng)網(wǎng)絡(luò)技術(shù),利用兩個網(wǎng)絡(luò)結(jié)構(gòu)相同、參數(shù)不同的特性,使神經(jīng)網(wǎng)絡(luò)快速收斂;同時(shí),DQN具備經(jīng)驗(yàn)回放技術(shù),通過設(shè)立一塊固定的內(nèi)存空間用于存放以往訓(xùn)練記錄,利用這一技術(shù)能夠打破樣本間的相關(guān)性,也可以重復(fù)使用過去的經(jīng)驗(yàn),發(fā)揮算法統(tǒng)籌優(yōu)勢,提升訓(xùn)練效果。
3 仿真結(jié)果及分析
為了充分體現(xiàn)實(shí)驗(yàn)的合理性,實(shí)驗(yàn)會從任務(wù)成功執(zhí)行、任務(wù)執(zhí)行超時(shí)和任務(wù)被丟棄的數(shù)量3個角度進(jìn)行評估,其中任務(wù)被丟棄表示服務(wù)器的計(jì)算資源無法滿足當(dāng)前任務(wù)的需求,放棄執(zhí)行該任務(wù);任務(wù)執(zhí)行超時(shí)意味著當(dāng)前分配的計(jì)算資源不足;任務(wù)成功執(zhí)行意味著分配資源足夠。實(shí)驗(yàn)中將折扣率γ調(diào)整為0.9,因?yàn)橄乱浑A段的資源剩余是最能夠體現(xiàn)資源分配策略性能優(yōu)劣的指標(biāo),所以調(diào)高折扣率會使系統(tǒng)更加關(guān)注即時(shí)獎勵。設(shè)置迭代次數(shù)設(shè)置為1 000次,單次迭代步長為20,以保障訓(xùn)練次數(shù)。設(shè)置批量采樣大小為64,參數(shù)更新步長為100。此外,任務(wù)數(shù)量為50條,因?yàn)閷?shí)驗(yàn)主要突出資源分配方案的影響,所以將信道帶寬、環(huán)境噪聲等設(shè)置為固定值,將任務(wù)屬性轉(zhuǎn)化為變量,并選取Q-learning資源平均分配算法進(jìn)行對比[5]。
3.1 時(shí)隙大小對算法性能的影響
在時(shí)間約束的環(huán)境下,最大容忍時(shí)隙決定了大部分任務(wù)的執(zhí)行效果。圖2展示了在服務(wù)器算力為100 GHz/s時(shí),不同時(shí)隙下DQN和Q-learning[6]兩種算法的任務(wù)執(zhí)行成功率。從圖2中可以觀察到,隨著時(shí)隙的增加,兩種算法獲得的任務(wù)執(zhí)行成功的概率也會增加,時(shí)隙長度增加會讓任務(wù)最大容忍時(shí)限變得寬松;反之,時(shí)隙長度越小,需求時(shí)間越受約束,處理較復(fù)雜的任務(wù)越難以完成。
由圖2可知,隨著時(shí)隙增加,DQN算法和Q-learning算法獲得的任務(wù)執(zhí)行成功概率不斷提升,但在時(shí)隙增加至0.95 s之后,Q-learning算法得到的任務(wù)執(zhí)行成功概率趨于穩(wěn)定。Q-learning算法和DQN算法相比較,DQN算法的性能是最優(yōu)的,比Q-learning平均提升25%。
此外,在Q-learning算法中只存在兩種選擇,并且對于每個任務(wù)的資源都是平均分配的,所以任務(wù)執(zhí)行成功率和資源利用率并不是很高;而DQN算法對于每個任務(wù)的資源分配都是按照篩選比例進(jìn)行的,未能在約束時(shí)間內(nèi)完成的任務(wù)所分配的資源會在下次迭代中提升分配占比,對于可以在約束時(shí)間內(nèi)完成的任務(wù)保持現(xiàn)有占比或隨機(jī)下調(diào)以增加空閑計(jì)算資源,這種方式將空閑計(jì)算資源作為中介在任務(wù)之間進(jìn)行流動,有利于動態(tài)探索資源的最優(yōu)分配方案。
3.2 服務(wù)器性能對算法性能的影響
針對DQN算法對計(jì)算資源的分配情況,可以將任務(wù)的執(zhí)行情況分為3種:執(zhí)行成功、執(zhí)行超時(shí)和丟棄任務(wù)。執(zhí)行成功說明任務(wù)可以在規(guī)定的時(shí)隙內(nèi)完成任務(wù);執(zhí)行超時(shí)意味著分配的資源不能夠滿足任務(wù)的需求;丟棄任務(wù)意味著系統(tǒng)沒有更多的計(jì)算資源能夠分配給任務(wù),或者任務(wù)所需的分配占比過高導(dǎo)致系統(tǒng)放棄執(zhí)行該任務(wù)。經(jīng)分析可得出,任務(wù)的執(zhí)行情況和邊緣服務(wù)器的算力息息相關(guān),當(dāng)服務(wù)器算力充足時(shí),可分配的空閑資源會更多地增加至未能執(zhí)行成功的任務(wù)中。為了測試服務(wù)器性能對資源分配方案的影響,設(shè)計(jì)服務(wù)器算力在70~100 GHz/s的任務(wù)執(zhí)行情況。
圖3、圖4展示了在時(shí)隙為1.1 s時(shí),使用DQN算法及使用Q-learning算法,服務(wù)器算力變化對任務(wù)執(zhí)行的影響。隨著服務(wù)器算力的增加,任務(wù)成功執(zhí)行的數(shù)量不斷增加,超時(shí)的任務(wù)和被丟棄的任務(wù)數(shù)量不斷減少。這是因?yàn)榉?wù)器算力的增加意味著更多的計(jì)算資源會分配給超時(shí)或被丟棄的任務(wù),當(dāng)任務(wù)的計(jì)算需求被滿足時(shí),被丟棄的任務(wù)會進(jìn)行計(jì)算;當(dāng)計(jì)算資源給超時(shí)任務(wù)分配得更多時(shí),任務(wù)計(jì)算的時(shí)間也因此降低,最終會在約束時(shí)間內(nèi)完成計(jì)算任務(wù)。因此,提升邊緣服務(wù)器的算力能夠改善系統(tǒng)的服務(wù)質(zhì)量,但是同樣會造成經(jīng)濟(jì)壓力和資源利用不充分等問題。對比DQN和Q-learning兩種方案的性能可知,DQN方案任務(wù)執(zhí)行成功率比Q-learning方案高22%,任務(wù)被丟棄,低于41.5%,說明DQN方案可以在各種服務(wù)器資源場景下獲得良好的分配方案。
3.3 任務(wù)計(jì)算復(fù)雜度對算法性能的影響
圖5表示在時(shí)隙為1.1 s、服務(wù)器算力為100 GHz/s時(shí),本文提出的DQN算法和對比算法Q-learning隨著任務(wù)單位數(shù)據(jù)所需CPU計(jì)算周期的變化性能的變化情況。從圖5中可以看出,隨著計(jì)算復(fù)雜度的提升,兩種算法的性能都下降。由此可以得出,單位數(shù)據(jù)所需CPU周期越多,占用服務(wù)器計(jì)算資源越多,任務(wù)的處理時(shí)延越長,進(jìn)而導(dǎo)致任務(wù)執(zhí)行成功率下降。
3.4 算法收斂效果
收斂效果決定了DQN算法能否快速達(dá)到最優(yōu)效果[7]。圖6展示了在時(shí)隙為1.1s、服務(wù)器算力為100 GHz/s時(shí),DQN算法對任務(wù)執(zhí)行成功率的優(yōu)化效果,可以看出,從開始訓(xùn)練到訓(xùn)練迭代次數(shù)到6 000次時(shí),成功概率迅速增加到0.86%左右,之后迅速收斂并在0.92%上下浮動,代表著神經(jīng)網(wǎng)絡(luò)已經(jīng)訓(xùn)練達(dá)到比較高的精度,可以對任何環(huán)境狀態(tài)做出最優(yōu)方案。
4 結(jié)束語
本文針對工業(yè)場景中受時(shí)間約束的多任務(wù)卸載至邊緣服務(wù)器后的資源規(guī)劃問題,設(shè)計(jì)了一種基于深度Q學(xué)習(xí)的資源分配方案。所提出的方法通過DQN算法將空閑計(jì)算資源作為中間介質(zhì)流動于任務(wù)之間,有利于動態(tài)探索最優(yōu)的資源分配策略,使任務(wù)成功率在各種情況下都是最高的,提高了計(jì)算資源的利用率;同時(shí),算法收斂速度也很快,可以提升系統(tǒng)計(jì)算效率。實(shí)驗(yàn)證明,DQN資源分配方案可以在各種復(fù)雜的工業(yè)生產(chǎn)環(huán)境中取得良好的效果。
參 考 文 獻(xiàn)
[1]劉曉宇,許馳,曾鵬,等.面向異構(gòu)工業(yè)任務(wù)高并發(fā)計(jì)算卸載的深度強(qiáng)化學(xué)習(xí)算法[J].計(jì)算機(jī)學(xué)報(bào),2021,44(12):2367-2381.
[2]盧海峰,顧春華,羅飛,等.基于深度強(qiáng)化學(xué)習(xí)的移動邊緣計(jì)算任務(wù)卸載研究[J].計(jì)算機(jī)研究與發(fā)展,2020,
57(7):1539-1554.
[3]尚立,蔡碩,崔俊彬,等.基于軟件定義網(wǎng)絡(luò)的電網(wǎng)邊緣計(jì)算資源分配[J].電力系統(tǒng)保護(hù)與控制,2021,49(20):136-143.
[4]鄧世權(quán),葉緒國.基于深度Q網(wǎng)絡(luò)的多目標(biāo)任務(wù)卸載算法[J/OL].計(jì)算機(jī)應(yīng)用,[2022-04-19].http://kns.cnki.net/kcms/detail/51.1307.TP.20220223.1728.004.html.
[5]高云,郭艷艷,衛(wèi)霞.移動邊緣計(jì)算網(wǎng)絡(luò)中基于DQN的能效性卸載決策及無線資源分配[J].測試技術(shù)學(xué)報(bào),2022,36(1):54-59.
[6]張延華,楊樂,李萌,等.基于Q-learning的工業(yè)互聯(lián)網(wǎng)資源優(yōu)化調(diào)度[J].北京工業(yè)大學(xué)學(xué)報(bào),2020,46(11):1213-1221.
[7]趙海濤,張?zhí)苽?,陳躍,等.基于DQN的車載邊緣網(wǎng)絡(luò)任務(wù)分發(fā)卸載算法[J].通信學(xué)報(bào),2020,41(10):172-178.