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