王 倩, 張雅文,2, 陳思光,2
(1. 南京郵電大學(xué) 江蘇省寬帶無線通信和物聯(lián)網(wǎng)重點實驗室, 江蘇 南京 210003; 2. 南京郵電大學(xué) 物聯(lián)網(wǎng)學(xué)院, 江蘇 南京 210003)
隨著5G技術(shù)與人工智能的蓬勃發(fā)展, 催生出一個新的智能化產(chǎn)業(yè)——物聯(lián)網(wǎng)。 據(jù)中國互聯(lián)網(wǎng)協(xié)會的統(tǒng)計, 截至2021年, 中國的物聯(lián)網(wǎng)市場規(guī)模已達1.7萬億元, 人工智能的市場規(guī)模超過3 000億元[1]。 目前, 對物聯(lián)網(wǎng)技術(shù)的研究已拓展到工業(yè)、 農(nóng)業(yè)、 環(huán)境和安保等領(lǐng)域。 物聯(lián)網(wǎng)應(yīng)用的多元化發(fā)展也使得數(shù)據(jù)規(guī)模急劇增長, 如何高效節(jié)能地處理任務(wù)密集或時延敏感型應(yīng)用已成為該領(lǐng)域亟待解決的問題[2-4]。 物聯(lián)網(wǎng)設(shè)備在處理大規(guī)模應(yīng)用時, 由于其計算能力有限, 難以保證任務(wù)的有效處理, 無法滿足用戶服務(wù)質(zhì)量。 為了改善計算能力不足造成的影響, 云計算技術(shù)被廣泛應(yīng)用。 依托于云服務(wù)器強大的計算能力, 密集型任務(wù)能夠以較低的計算成本被處理, 同時云計算還具有高擴展性、 低成本及資源豐富等優(yōu)勢[5]。 然而, 終端設(shè)備與云服務(wù)器距離較遠, 極有可能在任務(wù)傳輸過程中遇到網(wǎng)絡(luò)擁塞等問題, 這不僅會產(chǎn)生額外的通信開銷, 而且易引發(fā)高延遲服務(wù)響應(yīng)時間, 難以滿足時延敏感型應(yīng)用的需求, 從而降低用戶體驗。 面對大規(guī)模數(shù)據(jù)傳輸、 集中式數(shù)據(jù)存儲以及難以靈活應(yīng)對實時交互的應(yīng)用等問題, 傳統(tǒng)的云計算處理模式將面臨難解的瓶頸和壓力, 邊緣計算應(yīng)運而生。 邊緣計算也被稱為“微數(shù)據(jù)中心”, 由部署在靠近數(shù)據(jù)源的邊緣側(cè)節(jié)點向用戶提供集分布式計算、 存儲、 網(wǎng)絡(luò)、 應(yīng)用為一體的多元化服務(wù), 滿足大數(shù)據(jù)量和實時業(yè)務(wù)的基本需求, 縮減網(wǎng)絡(luò)服務(wù)的響應(yīng)時間[6]。 此外, 邊緣計算距離終端較近, 大部分的計算任務(wù)不需要上傳至數(shù)據(jù)中心, 一定程度上提高了用戶數(shù)據(jù)的安全性。
目前, 邊緣計算在處理實時業(yè)務(wù)、 智能應(yīng)用等方面卓有成效[7]。 為了進一步提升邊緣計算在系統(tǒng)性能方面的優(yōu)勢, 邊緣計算中的計算遷移問題也成為了研究焦點[8]。 文獻[9-13]在解決能耗問題方面取得了顯著成效。 傳統(tǒng)數(shù)學(xué)方法被廣泛用于解決能耗問題, 文獻[9]基于物聯(lián)網(wǎng)場景設(shè)計了一個云輔助的三層邊緣網(wǎng)絡(luò)框架, 同時提出了一種半定松弛與隨機映射方法相結(jié)合的計算遷移算法, 該算法在滿足任務(wù)依賴和服務(wù)完成時間的約束下, 通過聯(lián)合優(yōu)化計算遷移決策和任務(wù)準(zhǔn)備時間達到最小化物聯(lián)網(wǎng)傳感器的總能耗的目的。 文獻[10]提出了一種基于雙層規(guī)劃的方法, 得到資源分配策略, 基于該策略求解用戶關(guān)聯(lián)度, 從而實現(xiàn)最小化系統(tǒng)總能耗的目的。 文獻[11]研究了一種基于動態(tài)規(guī)劃的遷移算法, 在任務(wù)完成時延的約束下, 通過聯(lián)合優(yōu)化帶寬和計算資源實現(xiàn)移動設(shè)備的總能耗最小化。 此外, 基于學(xué)習(xí)的優(yōu)化方法也被應(yīng)用于求解能耗問題, 例如, 在移動邊緣計算網(wǎng)絡(luò)中, 文獻[12]構(gòu)建了一個基于多用戶多服務(wù)器的最小化系統(tǒng)總能耗的問題, 該問題被表述為具有約束的多維多重背包(Multidimensional multiple knapsack, MMKP)問題, 為了降低計算復(fù)雜度, 提出了基于強化學(xué)習(xí)的算法, 在時延容忍的情況下, 通過優(yōu)化遷移決策最大程度地降低移動設(shè)備的總能耗。 文獻[13]在解決非線性約束優(yōu)化問題時, 提出了一種新型混合元啟發(fā)式算法, 該算法將遺傳模擬退火理論與粒子群算法相結(jié)合, 通過聯(lián)合優(yōu)化遷移決策、 CPU速度、 傳輸功率和帶寬資源, 達到最小化移動設(shè)備總能耗的目標(biāo)。 從降低任務(wù)完成時延的角度出發(fā), 文獻[14] 提出了基于迭代的計算遷移機制, 通過聯(lián)合優(yōu)化任務(wù)遷移與調(diào)度策略, 達到最小化任務(wù)平均時延的目的。 文獻[15] 在多任務(wù)多服務(wù)器場景下, 提出了基于認(rèn)知學(xué)習(xí)的優(yōu)化方法, 在移動設(shè)備空閑時進行預(yù)計算遷移訓(xùn)練并提供預(yù)計算遷移策略, 一旦任務(wù)到達, 則使用強化學(xué)習(xí)方法進一步優(yōu)化預(yù)訓(xùn)練網(wǎng)絡(luò), 從而作出最佳遷移決策, 該方案能有效減少任務(wù)完成的時延。 為了全面地評估系統(tǒng)性能, 文獻[16-18]在聯(lián)合優(yōu)化時延和能耗方面取得了顯著效果。 例如, 在支持移動邊緣計算的蜂窩網(wǎng)絡(luò)中, 文獻[16]提出了一種智能任務(wù)遷移與協(xié)作方案, 將優(yōu)化問題分為兩個階段依次求解: 第一階段提出基于距離的合作者篩選方法, 在距離約束內(nèi)選擇最佳的合作者; 第二階段采用李雅普諾夫隨機優(yōu)化理論, 得到最優(yōu)計算策略, 實現(xiàn)了系統(tǒng)效用、 能耗和時延的聯(lián)合優(yōu)化。 文獻[17]構(gòu)建了一個高效的服務(wù)遷移模型, 并將其表述為一個非線性的0-1規(guī)劃問題, 為了提高服務(wù)器效率, 降低任務(wù)處理成本, 提出了一種基于粒子群的服務(wù)遷移方案來優(yōu)化計算資源分配與任務(wù)遷移決策, 并且采用排隊延遲預(yù)測算法預(yù)測了任務(wù)到達服務(wù)器的排隊延遲以縮小與實際應(yīng)用場景的差距。 大量仿真驗證了該方案在提升服務(wù)器處理能力和系統(tǒng)成本方面的顯著成效。 文獻[18]研究了區(qū)塊鏈賦能物聯(lián)網(wǎng)中的計算遷移問題, 提出了一種高效的分布式算法, 并引入了智能合約的理論執(zhí)行計算資源交易過程, 通過聯(lián)合優(yōu)化計算時間、 能耗和數(shù)字貨幣之間的權(quán)重, 實現(xiàn)最小化任務(wù)完成總成本的目標(biāo)。 為了將計算遷移應(yīng)用到實際場景中, 文獻[19]考慮了工業(yè)物聯(lián)網(wǎng)場景, 提出了一種兩階段Stackelberg博弈的計算遷移機制。 首先, 邊緣云為計算服務(wù)確定價格; 然后, 工業(yè)物聯(lián)網(wǎng)設(shè)備根據(jù)價格決定邊緣云的需求, 考慮到完全信息和不完全信息兩種情況, 設(shè)計了兩種動態(tài)迭代算法求解上述問題, 實現(xiàn)設(shè)備的合理化計算需求。 上述優(yōu)化方案雖然在能耗或時延方面取得了成效, 但是并未考慮服務(wù)器難以有效地為多個同時到達邊緣節(jié)點的任務(wù)合理分配計算資源, 特別是對于具有不同偏好的任務(wù)。
為了滿足不同用戶的業(yè)務(wù)需求, 任務(wù)優(yōu)先級的理論已經(jīng)被廣泛應(yīng)用其中[20]。 目前, 關(guān)于任務(wù)優(yōu)先級的研究層出不窮。 例如, 在計算密集的情況下, 文獻[21]構(gòu)建了一個基于任務(wù)QoS的系統(tǒng)效用最大化問題, 具有不同優(yōu)先級的任務(wù)可根據(jù)其獎勵函數(shù)和懲罰函數(shù)獲得遷移決策; 同時, 為了進一步降低系統(tǒng)成本, 提出了一種潛在博弈算法優(yōu)化資源分配策略, 通過仿真驗證了該方案能夠降低計算復(fù)雜度, 提升系統(tǒng)性能。 針對任務(wù)處理中的資源請求沖突問題, 文獻[22]研究了一種分布式資源分配算法, 霧節(jié)點可根據(jù)自身的資源可用性狀態(tài)和任務(wù)發(fā)來的優(yōu)先級信息來為其分配計算資源, 確定執(zhí)行順序, 并且通過仿真實驗表明該算法在降低系統(tǒng)延遲方面具有一定的優(yōu)勢。 在移動邊緣計算系統(tǒng)中, 文獻[23]構(gòu)建了一個單移動用戶與多服務(wù)器的雙層網(wǎng)絡(luò)模型, 考慮到任務(wù)之間在傳輸和執(zhí)行時間方面的公平性, 提出了一個最小化任務(wù)完成總時延的優(yōu)化問題, 并設(shè)計了一種基于動態(tài)優(yōu)先級的計算調(diào)度和遷移算法來求解該問題。 該算法通過聯(lián)合優(yōu)化遷移決策、 計算時間和傳輸時間, 最大限度地減小了系統(tǒng)總時延, 同時保證了高優(yōu)先級任務(wù)的處理延遲, 進一步提高了用戶服務(wù)質(zhì)量。 此外, 為貼合實際應(yīng)用場景, 文獻[24]研究了醫(yī)療保健服務(wù)中基于優(yōu)先級的任務(wù)遷移機制, 針對強截止時間和弱截止時間兩種類型的任務(wù), 提出了一種優(yōu)先級感知任務(wù)遷移和調(diào)度策略, 即將計算資源分配給高優(yōu)先級的任務(wù), 然后將剩余資源用于處理弱截止時間任務(wù)。 該方案能以較低的響應(yīng)時間處理強截止時間任務(wù), 然而這會增加弱截止時間任務(wù)的服務(wù)延遲。 上述基于任務(wù)優(yōu)先級的方案能夠提升高優(yōu)先級任務(wù)的處理效率, 但缺乏對遷移決策、 資源合理化分配的綜合考量。
基于以上分析發(fā)現(xiàn), 針對計算遷移的研究存在以下兩個方面的挑戰(zhàn): ① 在求解復(fù)雜的優(yōu)化問題時, 傳統(tǒng)數(shù)學(xué)方法與基于學(xué)習(xí)的方法雖然可以取得較好效果, 但是傳統(tǒng)方法對于非確定性信息的處理能力較差, 在解決動態(tài)的實際問題時易受到限制; 基于學(xué)習(xí)的優(yōu)化方法能解決大數(shù)據(jù)量導(dǎo)致的維度爆炸問題, 但是面對新環(huán)境時, 上述基于學(xué)習(xí)的方法需要具備一定的先驗知識才能做出最佳決策。 ② 上述優(yōu)化方案能夠有效地處理任務(wù)計算遷移問題, 并且不同程度地降低了系統(tǒng)能耗或時延, 特別地, 針對時延容忍較低的任務(wù), 能夠避免因任務(wù)等待時間過長而導(dǎo)致執(zhí)行失敗的現(xiàn)象。 雖然上述研究都取得了顯著成效, 但是缺乏對系統(tǒng)性能提升有極大幫助的任務(wù)優(yōu)先級、 計算遷移決策和資源分配等的綜合優(yōu)化考慮。
針對上述問題, 本文提出了一種基于優(yōu)先級的智能資源分配和計算遷移機制, 主要貢獻如下:
1) 針對時延敏感型或者需要緊急處理的任務(wù), 研究了一種基于優(yōu)先級的邊緣計算遷移模型, 基于計算遷移決策與資源分配的綜合考慮, 構(gòu)建了一個最小化系統(tǒng)總能耗的優(yōu)化問題。 同時, 根據(jù)任務(wù)的請求信息預(yù)先為其設(shè)置優(yōu)先級系數(shù), 并通過聯(lián)合優(yōu)化計算遷移決策、 帶寬資源分配與計算資源分配, 實現(xiàn)系統(tǒng)總能耗的最小化。
2) 對于上述的混合整數(shù)非線性規(guī)劃問題, 提出了一種基于優(yōu)先級的智能資源分配的計算遷移算法, 該算法設(shè)計了雙“行動者-評論家”神經(jīng)網(wǎng)絡(luò)框架, 并將確定性策略梯度算法理論與之結(jié)合, 使其訓(xùn)練過程快速收斂, 提高了算法效率。 為了解決該類混合整數(shù)規(guī)劃問題, 對該算法輸出的連續(xù)動作做概率分割處理, 得到二進制遷移決策。
3) 通過一系列的仿真分析表明, 該算法能夠以較快的速度收斂, 且與本地計算、 完全遷移兩種方案相比, 該算法的系統(tǒng)總能耗分別平均降低約52%和13%, 并且本文所提算法能夠以較低的計算開銷得到近似貪婪算法的最優(yōu)策略, 實現(xiàn)系統(tǒng)總能耗的最小化。
本節(jié)構(gòu)建了一種基于任務(wù)優(yōu)先級的邊緣計算網(wǎng)絡(luò), 如圖1 所示, 該網(wǎng)絡(luò)包含兩層結(jié)構(gòu), 分別為用戶層和邊緣層。
圖1 網(wǎng)絡(luò)模型圖
假設(shè)用戶層由N個物聯(lián)網(wǎng)設(shè)備組成。 每個設(shè)備都有一個待處理的計算任務(wù), 不同的任務(wù)類型具有不同的最大服務(wù)容忍延遲。 由于自身計算資源有限, 本地設(shè)備的計算能力可能無法滿足任務(wù)的基本需求, 為提高任務(wù)處理效率和用戶服務(wù)質(zhì)量, 將任務(wù)通過無線傳輸信道遷移至邊緣節(jié)點處理。 邊緣層部署了單個邊緣節(jié)點為接收到的任務(wù)請求提供服務(wù)。 邊緣節(jié)點根據(jù)物聯(lián)網(wǎng)設(shè)備i發(fā)來的請求信息做出最佳遷移決策, 對于需要遷移的任務(wù), 邊緣節(jié)點會為其分配最優(yōu)的帶寬資源與計算資源, 以實現(xiàn)任務(wù)完成能耗的最小化。
任務(wù)遷移時, 可能存在多個任務(wù)同時到達邊緣節(jié)點的情況, 為提高任務(wù)處理效率, 降低系統(tǒng)服務(wù)延遲, 本文考慮在邊緣節(jié)點為具有優(yōu)先級的任務(wù)分配與其優(yōu)先級別匹配的計算資源, 待計算任務(wù)處理完畢后邊緣節(jié)點將計算結(jié)果返回給物聯(lián)網(wǎng)設(shè)備。
假設(shè)用i∈{1,2,…,N}表示物聯(lián)網(wǎng)設(shè)備i, 每個設(shè)備生成的任務(wù)都是相互獨立的執(zhí)行單元, 不具有相關(guān)性, 計算任務(wù)可以在本地進行處理或遷移至邊緣節(jié)點處理。 用戶設(shè)備將請求內(nèi)容{τi,ρi}(其中τi表示設(shè)備i的任務(wù)大小,ρi表示設(shè)備i當(dāng)前任務(wù)的優(yōu)先級系數(shù))發(fā)送給邊緣節(jié)點, 邊緣節(jié)點接收到請求內(nèi)容后, 查看當(dāng)前可用的計算資源和通信資源, 給出最優(yōu)的遷移策略xi。 當(dāng)xi=0時, 表示任務(wù)在本地設(shè)備執(zhí)行; 當(dāng)xi=1時, 表示任務(wù)遷移到邊緣節(jié)點處理。
1.2.1 本地計算模型
(1)
式中:di表示計算1 kbit任務(wù)需要的CPU周期數(shù)。
因此, 任務(wù)τi的本地計算能耗為
(2)
1.2.2 遷移計算模型
當(dāng)本地設(shè)備的計算資源無法滿足任務(wù)需求時, 考慮將任務(wù)遷移到資源豐富的邊緣節(jié)點, 用xi表示設(shè)備i的遷移決策, 遷移決策由物聯(lián)網(wǎng)設(shè)備的計算資源、 任務(wù)大小和信道資源共同決定。
由于每個設(shè)備都會生成大量的數(shù)據(jù)任務(wù), 在任務(wù)傳輸時會產(chǎn)生資源競爭, 為了防止資源競爭造成鏈路擁塞, 合理分配通信資源、 安排任務(wù)處理的順序尤為重要。 任務(wù)傳輸過程中, 邊緣層基站會為系統(tǒng)中所有物聯(lián)網(wǎng)設(shè)備正交分配頻譜資源, 將總頻譜帶寬表示為B。 本文假設(shè)信道處于理想狀態(tài)下的信道增益gi是恒定的, 則任務(wù)τi的上行鏈路傳輸速率為
(3)
因此, 設(shè)備i的任務(wù)傳輸?shù)竭吘壒?jié)點所需的時間和能耗可分別表示為
(4)
(5)
當(dāng)多個任務(wù)同時到達邊緣節(jié)點時, 如果不對這些任務(wù)進行有效的管理, 很有可能出現(xiàn)資源分配不均的問題。 針對上述現(xiàn)象, 本文考慮將傳輸至邊緣節(jié)點的優(yōu)先級任務(wù)暫存于調(diào)度隊列中, 等待邊緣節(jié)點為其分配計算資源。 為保證優(yōu)先級用戶的權(quán)益, 邊緣節(jié)點會為優(yōu)先級任務(wù)額外分配計算資源, 則該設(shè)備i的任務(wù)完成時延和能耗分別表示為
(6)
(7)
任務(wù)遷移至服務(wù)器處理后, 需要將結(jié)果回傳給用戶, 然而該過程產(chǎn)生的成本遠小于其他階段, 為突顯本文的研究重點, 將忽略任務(wù)回傳所消耗的時延與能耗, 即用戶將設(shè)備i的任務(wù)遷移到邊緣節(jié)點處理所需的總時間和總能耗可分別表示為
(8)
(9)
(10)
xi∈{0,1},i∈{1,2,…,N}。
(10d)
約束10(a)表示所有設(shè)備的任務(wù)完成時間之和不得超過最大容忍延遲Tmax; 約束10(b)表示邊緣節(jié)點的計算資源約束, 即分配給所有遷移至邊緣節(jié)點的任務(wù)的計算資源占比之和不能超過1; 約束10(c)表示分配給所有需要遷移的任務(wù)的帶寬占比之和不能超過1; 約束10(d)表示遷移決策為0或1, 當(dāng)xi=0表示設(shè)備i的任務(wù)在本地計算, 當(dāng)xi=1表示設(shè)備i的任務(wù)遷移至邊緣節(jié)點處理。
針對上述混合整數(shù)非線性規(guī)劃問題, 由于其復(fù)雜的網(wǎng)絡(luò)環(huán)境, 傳統(tǒng)的方法難以捕捉動態(tài)變化的網(wǎng)絡(luò)參數(shù), 為了打破這一局限, 本文提出了基于優(yōu)先級的智能資源分配與計算遷移算法。 該算法將確定性策略梯度與深度神經(jīng)網(wǎng)絡(luò)相結(jié)合, 設(shè)計了雙重“行動者-評論家”神經(jīng)網(wǎng)絡(luò)架構(gòu)。 同時, 為了應(yīng)對這類混合離散-連續(xù)的動作空間, 該算法通過分割動作值的分布對連續(xù)動作進行離散化處理。 此外, 考慮到一般DRL算法的學(xué)習(xí)探索能力有限, 本文通過在原始動作的基礎(chǔ)上添加Ornstein-Uhlenbeck (OU)噪聲來提升算法的探索效率。
基于優(yōu)先級的智能資源分配與遷移算法將邊緣節(jié)點作為智能體與環(huán)境相互作用, 通過不斷的學(xué)習(xí)獲得最大的累計獎勵, 例如, 在t時隙智能體獲取終端設(shè)備的狀態(tài)信息st, 執(zhí)行動作at, 環(huán)境接收到此動作后會反饋給其相應(yīng)的即時獎勵rt, 同時, 智能體將轉(zhuǎn)換到下一個可能狀態(tài)st+1。 智能體的長期目標(biāo)是通過不斷的學(xué)習(xí)進一步優(yōu)化其動作決策, 最大化累積獎勵以獲得最優(yōu)遷移策略。 算法的3個關(guān)鍵要素包括狀態(tài)、 動作和獎勵, 下面將給出具體定義。
狀態(tài)空間:
St={e1(t),e2(t),…,eN(t)},
(11)
式中:St表示時隙t時用戶設(shè)備任務(wù)完成的總能耗的集合。
獎勵: 環(huán)境與生成動作at的智能體交互后會給出即時獎勵rt, 本文的優(yōu)化目標(biāo)是最小化完成所有用戶任務(wù)的總能耗, 可以將目標(biāo)函數(shù)e作為即時獎勵, 但是深度確定性策略梯度(Deep Deterministic Policy Gradient, DDPG)算法的目標(biāo)是最大化獎勵, 因此, 本文定義負的總能耗為即時獎勵函數(shù)
(12)
式中:ξ(ξ<0)是一個常數(shù), 遠小于其它策略的回報, 表示當(dāng)智能體不能滿足(10a)~(10d)的約束條件時, 當(dāng)前環(huán)境則會給出相應(yīng)的懲罰。
本文提出的基于優(yōu)先級的智能資源分配與遷移算法的具體流程如圖2 所示。 類似于深度雙Q網(wǎng)絡(luò)(Deep Double Q Networks, DDQN)的經(jīng)驗回放和雙網(wǎng)絡(luò)結(jié)構(gòu), DDPG主要有兩個網(wǎng)絡(luò)結(jié)構(gòu), 即行動者(Actor)網(wǎng)絡(luò)和評論家(Critic)網(wǎng)絡(luò)。 每一個網(wǎng)絡(luò)結(jié)構(gòu)都包含兩種結(jié)構(gòu)相同、 參數(shù)更新頻率不同的神經(jīng)網(wǎng)絡(luò), 即當(dāng)前網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)。 Actor當(dāng)前網(wǎng)絡(luò)獲得當(dāng)前狀態(tài)st后執(zhí)行動作at, 會得到新的狀態(tài)st+1和獎勵rt, 即四元組(st,at,st+1,rt), 并將四元組存入經(jīng)驗回放池。 Critic當(dāng)前網(wǎng)絡(luò)從經(jīng)驗回放池中隨機采樣L個樣本, 計算當(dāng)前的目標(biāo)Q值, 同時根據(jù)各個神經(jīng)網(wǎng)絡(luò)的參數(shù)更新策略同步更新Actor當(dāng)前網(wǎng)絡(luò)參數(shù)μ、 Actor目標(biāo)網(wǎng)絡(luò)參數(shù)μ′、 Critic當(dāng)前網(wǎng)絡(luò)參數(shù)υ和Critic目標(biāo)網(wǎng)絡(luò)參數(shù)υ′。
圖2 基于優(yōu)先級的智能資源分配與遷移算法流程圖
用戶層設(shè)備將生成的狀態(tài)信息st輸入神經(jīng)網(wǎng)絡(luò), Actor當(dāng)前網(wǎng)絡(luò)根據(jù)策略函數(shù)πμ(st)做出相應(yīng)決策, 與隨機策略相比, DDPG將確定的狀態(tài)映射到特定動作, 即他的動作選擇只有一個。 此外, 針對DDPG只能輸出連續(xù)動作的特性, 在解決本文構(gòu)建的混合整數(shù)非線性規(guī)劃問題時, 該算法考慮對輸出的動作值進行離散化處理。 定義概率κ表示Actor當(dāng)前網(wǎng)絡(luò)輸出的連續(xù)動作, 并根據(jù)其概率計算得到離散動作
(13)
同時, 為了增加學(xué)習(xí)過程的隨機性, 提升算法的探索能力, 本文在學(xué)習(xí)過程中引入了奧恩斯坦-烏倫貝克過程(OU process), 將動作決策從確定性過程轉(zhuǎn)變?yōu)殡S機過程, 即在動作選擇時加入OU噪聲o。
(14)
式中: ?表示噪聲的退火因子, 隨著迭代步數(shù)逐漸減小, ?值也會越來越小。 這樣做的目的是, 隨著神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果越來越好, 利用?值減小噪聲對其動作的干擾, 能夠保證其收斂性能, 使之更加穩(wěn)定。
在t時隙, Actor當(dāng)前網(wǎng)絡(luò)根據(jù)獲取的狀態(tài)st選擇動作at, 并給出即時獎勵rt及下一狀態(tài)st+1, 將(st,at,rt,st+1)存入經(jīng)驗回放池中等待采樣, Actor目標(biāo)網(wǎng)絡(luò)則根據(jù)經(jīng)驗回放池中的t+1時隙狀態(tài)st+1預(yù)測下一動作at+1。
Critic目標(biāo)網(wǎng)絡(luò)與Critic當(dāng)前網(wǎng)絡(luò)具有完全相同的結(jié)構(gòu), 然而兩者的參數(shù)更新頻率卻不同, Critic目標(biāo)網(wǎng)絡(luò)的初始參數(shù)υ′=υ, 此后, Critic目標(biāo)網(wǎng)絡(luò)會定期復(fù)制Critic當(dāng)前網(wǎng)絡(luò)的參數(shù)υ。 Critic目標(biāo)網(wǎng)絡(luò)從經(jīng)驗回放池中隨機取得L個樣本并計算, 這種隨機抽取的機制能夠有效避免樣本間的時間相關(guān)性, 同時防止神經(jīng)網(wǎng)絡(luò)出現(xiàn)過擬合現(xiàn)象。 其中, 第m(m∈{1,2,…,L})個樣本的價值函數(shù)為Q′(sm,am,υ′), 因此, 得到目標(biāo)Q值。
ym=rm+λQ′(sm+1,am+1,υ′),
(15)
式中:λ是折扣系數(shù)。ym包括當(dāng)前獎勵值與未來可能的獎勵值的加權(quán), 用于評估當(dāng)前狀態(tài)的價值。
相應(yīng)地, Critic當(dāng)前網(wǎng)絡(luò)根據(jù)狀態(tài)st和動作at計算當(dāng)前策略的價值函數(shù)Q(st,at), 其均方差損失函數(shù)定義為
(16)
神經(jīng)網(wǎng)絡(luò)采用梯度下降方法最小化損失函數(shù)Loss(υ), 并以學(xué)習(xí)率為η來更新網(wǎng)絡(luò)參數(shù)υ, 即
υ←υ+ηυLoss(υ)。
(17)
此外, 根據(jù)Critic當(dāng)前網(wǎng)絡(luò)對動作at的反饋, Actor當(dāng)前網(wǎng)絡(luò)可更新網(wǎng)絡(luò)參數(shù)μ, 其確定性策略梯度可表示為
(18)
(19)
式(19)可以作為Actor當(dāng)前網(wǎng)絡(luò)的評估標(biāo)準(zhǔn)。 可以看出, 當(dāng)Q值越大時, 損失函數(shù)越小。
根據(jù)神經(jīng)網(wǎng)絡(luò)的梯度反向傳播來更新參數(shù)μ, 即
μ←μ+σμG(μ),
(20)
式中:σ是μ的學(xué)習(xí)率。 Actor目標(biāo)網(wǎng)絡(luò)跟Critic目標(biāo)網(wǎng)絡(luò)類似, 會定期從Actor當(dāng)前網(wǎng)絡(luò)復(fù)制網(wǎng)絡(luò)參數(shù)。
區(qū)別于DDQN雙重網(wǎng)絡(luò)的參數(shù)更新法則, 該算法的Actor目標(biāo)網(wǎng)絡(luò)和Critic目標(biāo)網(wǎng)絡(luò)采取“軟更新”的方式分別對其網(wǎng)絡(luò)參數(shù)更新, 即
μ′←?μ+(1-?)μ′,
(21)
υ′←?υ+(1-?)υ′,
(22)
式中: ?為參數(shù)的更新速度, 通常會取1個比較小的值, 能夠使神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程更加穩(wěn)定。
為了方便理解本文所提算法的核心思想, 將算法執(zhí)行過程總結(jié)為算法1。
算法 1基于優(yōu)先級的智能資源分配和計算遷移算法:
1.輸入: 任務(wù)大小τi,i∈{1,2,…,N};
優(yōu)先級系數(shù)ρi,i∈{1,2,…,N};
3.begin
4.初始化網(wǎng)絡(luò)參數(shù)μ′=μ,υ′=υ, 清空經(jīng)驗回放池;
5.for episode=1 toMdo
6. 初始化OU噪聲o;
7. 觀測初始環(huán)境狀態(tài)st;
8. fort=0 toTdo
9. Actor當(dāng)前網(wǎng)絡(luò)根據(jù)獲取的狀態(tài)st執(zhí)行動作at;
10. 與環(huán)境交互得到st+1和rt;
11. 將四元組(st,at,st+1,rt)存入經(jīng)驗回放池;
12. 更新狀態(tài)st=st+1;
13. Critic目標(biāo)網(wǎng)絡(luò)從經(jīng)驗回放池中隨機取L個樣本, 基于式(15)計算目標(biāo)Q值;
14. 根據(jù)式(16)~式(17)更新Critic當(dāng)前網(wǎng)絡(luò)參數(shù)υ;
15. 根據(jù)式(18)~式(20)更新Actor當(dāng)前網(wǎng)絡(luò)參數(shù)μ;
16. 根據(jù)式(21)和式(22)以“軟更新”方式分別更新目標(biāo)網(wǎng)絡(luò)參數(shù)μ′和υ′;
17. end for
18.end for
20.end
通過仿真實驗驗證基于優(yōu)先級的聯(lián)合資源分配與智能遷移算法的可行性, 并通過對比幾種現(xiàn)有的計算遷移方案, 驗證本文所提方案。
Actor網(wǎng)絡(luò)不同學(xué)習(xí)率對獎勵函數(shù)收斂效果的影響見圖3。 從圖中曲線變化可以看出, 3種不同學(xué)習(xí)率的獎勵值均在前200次迭代時急劇上升, 之后趨于平緩達到收斂。 當(dāng)學(xué)習(xí)率為0.000 01和0.000 001時, 獎勵值雖然是收斂的, 但是會有一些波動, 缺乏穩(wěn)定性。 因此, 為了方便后續(xù)的實驗將Actor網(wǎng)絡(luò)的學(xué)習(xí)率設(shè)置為0.000 1。
圖3 Actor網(wǎng)絡(luò)不同學(xué)習(xí)率的獎勵函數(shù)收斂情況
在Actor網(wǎng)絡(luò)學(xué)習(xí)率設(shè)置為固定值的情況下, Critic網(wǎng)絡(luò)不同學(xué)習(xí)率對獎勵函數(shù)收斂性能的影響見圖4。
圖4 Critic網(wǎng)絡(luò)不同學(xué)習(xí)率的獎勵函數(shù)收斂情況
由圖4 可知, 學(xué)習(xí)率越大, 獎勵函數(shù)的收斂效果越穩(wěn)定。 圖中3種不同的學(xué)習(xí)率均在200次迭代內(nèi)趨于收斂, 但是學(xué)習(xí)率過小, 會使得收斂過程存在波動, 難以在有限次數(shù)內(nèi)取得最優(yōu)值。 因此, 為使獎勵函數(shù)的收斂速度和穩(wěn)定性達到相對平衡的狀態(tài), 在接下來的仿真實驗中, 將Critic網(wǎng)絡(luò)的學(xué)習(xí)率設(shè)置為0.001。
本文方法的損失函數(shù)的收斂過程見圖5。 從曲線可以看出, 隨著迭代次數(shù)的增大, 損失函數(shù)逐漸收斂至穩(wěn)定值。 前50次損失函數(shù)急劇下降, 這是因為DDPG網(wǎng)絡(luò)在訓(xùn)練初期, 其結(jié)果與理想值相差較大。 經(jīng)過400次迭代, 損失函數(shù)波動幅度減小, 逐漸逼近最優(yōu)值, 從而得到最優(yōu)的網(wǎng)絡(luò)參數(shù), 進一步使得損失函數(shù)減小并達到穩(wěn)定狀態(tài)。
圖5 損失函數(shù)的收斂過程
接下來的仿真實驗將本文提出的方案與其他4種相關(guān)方案進行對比, 從而進一步說明本文所提方案的性能優(yōu)勢。 其中, “Full offloading”表示將計算任務(wù)全部遷移至邊緣節(jié)點處理; “All local”表示全部任務(wù)均在本地設(shè)備計算; “Proposed scheme”表示本文提出的求解方案; “DQN”表示基于DQN的求解方案; “Greedy algorithm”表示貪心算法求解方案, 該方案基于本文構(gòu)建的數(shù)學(xué)模型, 根據(jù)貪心策略求得最佳遷移決策, 從而實現(xiàn)最小化系統(tǒng)總能耗的目標(biāo)。
圖6 展示了5種方案的系統(tǒng)總能耗與任務(wù)數(shù)量的關(guān)系。 從圖中可以發(fā)現(xiàn), 隨著任務(wù)數(shù)量的增多, 4種方案的總能耗均呈現(xiàn)上升趨勢。 當(dāng)任務(wù)數(shù)量較小(N≤2)時, 除了“Full offloading”, 其他4種方案的能耗基本一致, 這是因為所需資源在本地計算能力范圍內(nèi), 任務(wù)選擇在本地設(shè)備處理。 然而隨著任務(wù)數(shù)量的增加, 本地計算資源不足, 使得系統(tǒng)總能耗持續(xù)上升。 本文所提方案能夠平衡本地與遷移過程產(chǎn)生的能耗, 使得系統(tǒng)總能耗緩慢上升。 通過計算, 本文提出的方案所消耗的能量與“Full offloading”, “All local”和“DQN”3種方案相比分別平均減少約52%, 13%和7%, 并且近似貪婪算法的總能耗。 貪婪算法獲得最優(yōu)遷移策略時, 通常需要遠大于本文所提方案消耗的時間和能耗成本, 難以適用于大規(guī)模的任務(wù)處理。 通過上述分析可知, 本文提出的算法具有較為明顯的性能優(yōu)勢。
圖6 不同方案的總能耗隨任務(wù)數(shù)量變化的對比
圖7 描述了隨著邊緣節(jié)點計算能力的不斷增大, 不同方案的總能耗變化情況。
圖7 邊緣節(jié)點計算能力對總能耗的影響
由圖7 可知, 在任務(wù)數(shù)量不變的情況下, 當(dāng)邊緣節(jié)點的計算能力增大時, 除了“All local”之外, 其他3種方案的總能耗均逐漸減小, 這是因為邊緣節(jié)點能夠分配給任務(wù)更多的計算資源, 降低了處理任務(wù)所需的時間成本。 但“All local”的總能耗只與本地設(shè)備的計算能力有關(guān), 所以并不會受到邊緣節(jié)點計算能力變化的影響。 此外, “Full offloading”的總能耗依賴于邊緣節(jié)點的計算能力, 因此, 該方案隨著計算能力的不斷增加, 變化程度較為明顯。 同時, 本文提出的方案總能耗的下降程度緩慢, 這是因為更多的任務(wù)選擇遷移到邊緣節(jié)點處理, 邊緣節(jié)點的資源利用率較高, 計算能力接近飽和狀態(tài)。 此外, “DQN”由于對連續(xù)動作的離散化處理且受維度限制, 使其優(yōu)化精度降低, 相比本文所設(shè)計的求解方案, 其優(yōu)化效果較弱。 總之, 對比其他方案, 本文所提方案在優(yōu)化能耗方面優(yōu)于另外3種方案, 其中, 與“Full offloading”和“DQN”相比, 總能耗分別平均降低了約30.7%和9.4%。
針對緊急的計算任務(wù), 往往需要對其添加優(yōu)先級, 從而滿足實時業(yè)務(wù)需求。 圖8 顯示了任務(wù)有無優(yōu)先級對系統(tǒng)總能耗的影響。 由曲線變化情況可知, 隨著任務(wù)數(shù)量的增多, 兩種方案的總能耗均呈現(xiàn)上升趨勢。 當(dāng)任務(wù)數(shù)量很少時, 無優(yōu)先級任務(wù)與有優(yōu)先級任務(wù)的總能耗較為接近; 隨著任務(wù)數(shù)的增多, 兩者之間總能耗的差距逐漸變大, 大致平均相差12.9%。 由此可推斷, 在處理更多的任務(wù)時, 考慮任務(wù)的優(yōu)先級能有效降低系統(tǒng)的能耗, 提高用戶服務(wù)質(zhì)量。 該方案驗證了本文所提方案在提升系統(tǒng)性能方面的優(yōu)勢。
圖8 任務(wù)優(yōu)先級設(shè)置對總能耗的影響
為了營造高效的物聯(lián)網(wǎng)環(huán)境, 本文提出了一種物聯(lián)網(wǎng)場景下基于優(yōu)先級的邊緣計算遷移機制。 首先, 構(gòu)建了一個最小化系統(tǒng)總能耗的優(yōu)化問題, 聯(lián)合優(yōu)化了計算遷移決策、 帶寬資源分配占比以及邊緣節(jié)點計算資源占比。 為進一步提高資源利用率, 權(quán)衡了不同業(yè)務(wù)需求的緊急程度, 提出了一種基于優(yōu)先級的智能資源分配與計算遷移算法, 通過求解上述優(yōu)化問題得到最優(yōu)決策和資源分配策略。 大量仿真分析表明, 本文所提機制能夠以較低的計算成本獲得遠遠優(yōu)于本地計算、 完全遷移和DQN 3種基準(zhǔn)機制的最小總能耗。