彭璧瑩,李陶深,2**,陳 燕
(1.廣西大學計算機與電子信息學院,廣西南寧 530004;2.南寧學院,廣西中國-東盟綜合交通國際聯(lián)合重點實驗室,廣西南寧 530200)
隨著無線通信技術的快速發(fā)展,越來越多的移動設備有了無線網絡訪問需求。雖然將計算密集型應用卸載到云端可以克服移動設備資源受限的弊端,但是對于時延敏感型應用而言,移動設備與云端的無線網絡連接帶來的較長延時卻并不能使用戶滿意[1]。移動邊緣計算(Mobie Edge Computing,MEC)將計算節(jié)點布置到網絡邊緣,可以滿足用戶低時延的需求。當前MEC中的計算卸載技術主要包括卸載決策、資源分配和卸載系統(tǒng)實現等3個方面,其中卸載決策主要解決的是移動終端決定如何卸載、卸載多少以及卸載什么的問題[2]。該類研究主要集中于考慮多用戶環(huán)境和多服務器環(huán)境下的卸載決策問題[3,4]。
目前,一些研究人員利用粒子群優(yōu)化 (Particle Swarm Optimization,PSO) 算法來解決計算卸載問題。Wei等[5]采用基于貪心策略的PSO算法和動態(tài)PSO算法,提出了基于動態(tài)PSO算法的單用戶多邊云設備任務分配策略,考慮了任務的相互依賴性。Bi等[6]使用基于遺傳模擬退火和PSO的啟發(fā)式算法來解決非線性約束優(yōu)化問題,聯(lián)合優(yōu)化了每個移動設備的任務卸載比、CPU速度和傳輸功率,以及可用通道的帶寬,進而實現更低能耗。Li等[7]建立了時延、能耗和多目標優(yōu)化模型,增加了平衡延遲和能量消耗的懲罰函數,提出了改進PSO算法的卸載策略(Improved Optimization Algorithm based on Particle Swarm,EIPSO)。Al-Habob等[8]則考慮了一組需要調度到服務器的相互依賴的子任務,并基于遺傳算法和沖突圖模型解決了調度問題,使卸載延遲和失效概率最小化。羅斌等[9]對邊緣云的MEC服務器進行編碼,最后通過PSO算法確定每個任務對應的服務器編號,實驗結果表明,該算法使系統(tǒng)總成本降低了20%??娫G嗟萚10]引入壓縮因子,并運用模擬退火算法思想改進PSO算法,以此實現任務卸載,其中粒子的編碼對應車輛任務分配方案,仿真結果表明其代價是傳統(tǒng)PSO算法的53.8%。
也有研究人員在計算卸載時采用緩存技術來提高優(yōu)化效果,如利用移動邊緣緩存將內容放置在用戶邊緣,這樣可以有效降低用戶請求延遲和能耗,并且避免數據通過回程鏈路傳輸,從而降低回程流量[11]。郭煜[1]將任務緩存與卸載決策最優(yōu)化問題分為兩個子優(yōu)化問題,任務卸載策略可轉變?yōu)橥棺顑?yōu)化問題,通過內點法求解;任務緩存可轉變?yōu)?-1整數規(guī)劃問題,使用分支限界法獲取最優(yōu)解,仿真實驗表明該策略在動態(tài)異構的任務執(zhí)行環(huán)境下可以實現更好的能效優(yōu)化。Nath等[12]開發(fā)了一種基于深度學習的動態(tài)調度策略,該策略將流行任務緩存到MEC服務器中避免重復卸載,以此最小化代價函數的長期平均值。Lan等[13]利用隨機理論提出了一個任務緩存優(yōu)化問題,并采用基于遺傳算法的任務緩存算法進行求解。
分析以上的研究工作可以發(fā)現,對于MEC場景中基于PSO算法的計算卸載問題,現有的工作大多集中在粒子編碼或融合其他算法的研究上,從時延或能效優(yōu)化的角度對算法優(yōu)劣進行評估。此外,與其他算法結合的PSO算法的優(yōu)化結果優(yōu)于傳統(tǒng)算法,且加入任務緩存策略的卸載比無緩存的卸載時延的優(yōu)化更勝一籌?;诖?,本文提出一個基于遺傳-粒子群優(yōu)化算法(Genetic-Particle Swarm Optimization Algorithm,GA-PSO)和緩存機制的卸載策略,在邊緣云上進行緩存,以便有效降低移動邊緣計算的時延。最后通過仿真實驗,證明所提算法的收斂性和有效性。
本文研究的目標是在邊緣云緩存能力受限且存在移動設備能耗約束的情況下,實現最優(yōu)的任務緩存和卸載,最小化系統(tǒng)時延。為此主要解決兩個問題,即哪些任務需要緩存在邊緣云上,以及多少比例的任務需要卸載到邊緣云上執(zhí)行。本文的系統(tǒng)模型如圖1所示。
圖1 多設備系統(tǒng)模型Fig.1 Multi-equipment system model
如圖1所示,本文的MEC場景由多個移動設備和一個MEC邊緣云組成。假設移動設備(用戶)數量為N={1,2,…,n},計算任務數量為I={1,2,…,i},用戶發(fā)出任務請求后,移動設備可通過無線信道與其邊緣云連接。對于移動設備的任務Un,i,用二元組對其定義,即Un,i={Ci,di},其中Ci是完成任務i所需要的計算資源數,也就是CPU周期總數;di是任務i的數據量大小,以bit為單位。
不同的設備運行任務會導致時延有所不同。本文考慮兩種情況,即當前任務在本地執(zhí)行的情況以及卸載至邊緣云的情況。這兩種情況涉及的時延有本地計算時延、移動設備上傳數據時延、MEC服務器計算時延、反饋時延。因為反饋時延遠小于上傳時延,故可忽略不計。
①本地計算時延。
(1)
②傳輸時延。
在計算移動設備上傳數據所耗費的時延之前,需要先計算出上傳速率Rn。根據香農公式可得:
(2)
其中,B為移動設備與邊緣云之間的無線信道帶寬,Pn為移動設備n的發(fā)射功率,Hn為無線信道增益,σ2為噪聲功率消耗。
(3)
③MEC計算時延。
(4)
其中,fs為MEC服務器的CPU計算能力。
(5)
①本地計算能耗。
(6)
②傳輸能耗。
(7)
對于任務緩存問題,可定義一個決策變量X1i∈{0,1}。當X1i=1時,表示任務i緩存到邊緣云執(zhí)行;該值為0則表示不緩存,且任務緩存至邊緣云這種情況只需要考慮邊緣云執(zhí)行任務的時延。此處存在邊緣云緩存資源約束,即緩存的任務數據總量需小于邊緣云的緩存大小。對于任務卸載問題,可定義卸載比例為X2i∈[0,1]。當X2i=0表示在本地執(zhí)行任務;當X2i=1則表示全部卸載到邊緣云執(zhí)行;X2i∈(0,1)時表示卸載X2i的部分任務到邊緣云執(zhí)行;剩余1-X2i部分的任務在本地執(zhí)行。
綜上所述,總時延Ti為
(8)
移動設備總能耗Ei為
(9)
本算法的優(yōu)化目標是在邊緣云資源與移動設備最大能耗約束的限制下,找到系統(tǒng)時延最小的卸載比例以及緩存決策,因此優(yōu)化問題可以形式化為
C2:X1i∈{0,1},?i∈I
C3:X2i∈[0,1],?i∈I
C4:Ei≤Emax,?i∈I,
(10)
其中,Ec表示邊緣云緩存容量,Emax表示最大能耗約束,約束C1表明緩存任務的數據總量不能大于邊緣云的緩存能力;約束C2表明任務緩存決策變量為二進制變量,1與0分別代表緩存與否;約束C3表明可分割部分任務在本地執(zhí)行,而其余部分在邊緣云上執(zhí)行;約束C4表明移動設備能耗需不超過最大能耗約束。顯然,目標函數表示通過任務緩存與對卸載比例的決策,使得系統(tǒng)時延代價最小化。
基于式(10)的優(yōu)化目標,本文提出帶有緩存機制的GA-PSO卸載策略。該策略將遺傳算法和PSO算法融合起來,以便求取邊緣計算卸載中的最優(yōu)卸載比例和緩存決策。策略的核心思想與PSO算法一致,即將待優(yōu)化問題的搜索空間類比為鳥類的飛行空間,將每一只鳥抽象為一個粒子,每個粒子表征問題的一個可行解,優(yōu)化問題所要搜索到的最優(yōu)解等同于鳥類尋找的食物源。其中每個粒子的特征都由適應度、位置和速度來表示,而適應度的好壞決定了粒子的優(yōu)劣[9]。
基于本文策略實現的算法是在PSO算法的基礎上引進生物學的進化思想,加入遺傳、突變、自然選擇以及雜交等操作,利用群體中的個體對信息的共享使整個群體的運動在問題求解空間中產生從無序到有序的演化過程,在狀態(tài)空間中對每一個粒子的位置進行搜索評估,得到局部最優(yōu)位置(本文中的粒子位置代表卸載比例和緩存決策);然后再從該位置進行搜索,重復以上過程直到得到全局最優(yōu)位置。此時,適應度也達到收斂狀態(tài),該適應度值即為系統(tǒng)時延代價。因為遺傳算法收斂速度慢但全局搜索能力強,PSO算法局部搜索能力強但容易陷入早熟,故兩者的融合恰好可以彌補彼此的缺陷與局限性。
本文策略算法的設計思路如下:先對粒子進行編碼,粒子元素值代表卸載比例與緩存決策;接下來設置需要優(yōu)化的目標為適應度函數,由于本文主要是針對時延敏感型的任務,所以選取的是系統(tǒng)總時延為適應度值,而總時延的求解公式已在上一節(jié)的式(8)中給出。該策略算法實現時,通過進化迭代直至適應度值收斂,從而獲得其全局最優(yōu)解。算法使用罰函數將有約束最優(yōu)化問題轉化為求解無約束最優(yōu)化問題,在不滿足線性約束時讓適應度函數值無窮大即可,并采用雙循環(huán)變量法對最優(yōu)卸載比例與緩存決策進行求解,再根據適應度函數計算出系統(tǒng)時延代價。下面介紹算法的具體實現。
粒子個體采用浮點數編碼,每一個粒子元素可以取0到1.000 1之間的任意浮點數,粒子編碼維度與任務總數相同。如若粒子元素值pop=1.000 1時,表明任務緩存到邊緣云,而pop∈[0,1]則表示該值為卸載比例。粒子的速度表示任務部分卸載到邊緣云趨勢的快慢,記作V={v1,v2,…,vi},粒子速度初始化為-0.1到0.1的隨機浮點數,粒子速度編碼的維度也應該與任務總數相同。每一個粒子在進化迭代過程中最優(yōu)位置為Gbest,而所有粒子中出現的最優(yōu)位置為Zbest,是使得系統(tǒng)代價最小的分配方式。
(11)
其中,函數包含了需要求解的兩個變量,X1即緩存決策,X2即卸載決策。
基于GA-PSO和緩存機制的卸載策略的算法可以描述為以下7個步驟。
步驟1:設置交叉概率、變異概率、學習因子、慣性權重、最大迭代次數、粒子群規(guī)模數、粒子的最大速度、位置邊界等算法控制參數,在速度區(qū)間和搜索空間上隨機初始化粒子的速度和位置;
步驟2:定義適應度函數,根據初始值計算公式(8)所求的時延,再通過公式(11)的累加計算出初始適應度值;
步驟3:循環(huán)開始,根據所求出的粒子位置計算出個體極值與全局極值。個體極值為每個粒子找到的最優(yōu)解,再從這些最優(yōu)解可找到全局最優(yōu)解;
步驟4:使用粒子群公式更新每個粒子的位置與速度,并依據交叉、變異概率進行相應的染色體操作,得到新的種群;
步驟5:如若新種群符合約束條件就求更新后的適應度值,不符合約束條件則將適應度值設為無窮大,使其自然淘汰;
步驟6:將全局最優(yōu)方案代入公式(8),累加后計算出新的適應度值。如果新求出的適應度值比歷史值小,則返回步驟3并更新個體和全局最優(yōu)分配方案;
作為神經系統(tǒng)免疫細胞,小膠質細胞當在神經受損以后被激活,從而將大量的白細胞介素釋放出來,同時還會釋放出趨化因子,對周圍神經元產生作用,促使NeP的中樞敏化加劇,從而將“膠質免疫-神經元”的神經病理性疼痛機制形成。有研究人員通過開展實驗研究[13],將JNK阻滯劑應用到結扎脊神經的NeP模型中,可以對疼痛有效抑制并能夠取得較為明顯的阻滯效果,星形膠質細胞激活被阻滯劑抑制是得以獲得顯著鎮(zhèn)痛效果的關鍵原因。有研究顯示,星形膠質細胞上JNK的磷酸化,NR2B亞基參與,可以對神經損傷誘導的JNK磷酸化進行抑制,通過注射7-硝基吲唑鈉與神經元一氧化氮合酶nNOS選擇性抑制劑。
步驟7:判斷循環(huán)結束的條件是目標函數的適應度達到期望值或者進化到預先設定的代數,算法結束的判定是進化到預先設定的代數即可終止,算法結束時輸出全局最優(yōu)解與適應度值,前者表示最優(yōu)卸載比例與緩存決策,后者則表示該方案下的時延。
該算法的偽代碼如下。
輸入:
①本地任務集合:I={1,2,…,i};
②算法控制參數:粒子群規(guī)模par_num=100,迭代次數maxgen=100,位置邊界popmin與popmax分別為粒子編碼的最小值與最大值,學習因子c1=c2=1.5,慣性權重w=0.5,交叉概率pc=0.7,變異概率pm=0.3。
輸出: 最優(yōu)卸載比例與緩存決策,以及最小時延
算法的主要過程:
① 初始化:popsize,maxgen,popmin,popmax,c1,c2,w,oc,pm,V,pop
②fori=1tomaxgendo
③forj=1topopsizedo
④V(j,:)=V(j,:)+c1*rand*(gbest(j,:)-pop(j,:))+c2*rand*(zbest-
pop(j,:));
⑤pop(j,:)=pop(j,:)+w*V(j,:);
⑥repeat
⑦mpick,cpick←rand
⑧ifmpick>pmthen
⑨ Randomly select where to mutate
⑩ Mutation operation
本文實驗的目的有二:一是驗證本算法的有效性和收斂性,二是通過一些仿真實驗從多角度比較和評估在不同參數下本文提出的卸載策略的性能。實驗中,假設本地設備也可處理高計算量的任務,且任務到達即可執(zhí)行,不考慮任務排隊導致的時延增長。
首先對本文的GA-PSO卸載策略的收斂性進行評估,設置設備數I=100,其余參數設置如3.1節(jié)所示。圖2給出了GA-PSO卸載策略收斂性的實驗結果。從圖2可以觀察到,本算法在前25次進化迭代過程中收斂速度較快,而后其適應度值保持不變,說明已找到全局最優(yōu)解。
圖2 收斂性分析圖Fig.2 Graph of convergence analysis
接著比較本文帶緩存機制的GA-PSO卸載算法、不帶緩存機制的GA-PSO卸載算法、本地計算和將所有任務卸載到MEC服務器這4種方案的系統(tǒng)時延,實驗對比結果如圖3所示。從圖3可以看出,當設備數為25,50,75,100,125時,這4種策略的系統(tǒng)總延遲均隨著設備數增長呈增加趨勢,而本文策略的系統(tǒng)時延小于其他3種方案的時延。由于設備數越多,任務量也會隨之增加,從而導致時延上升。但是,本文策略加入了緩存機制并使用改進的算法,使得緩存的任務只需要考慮邊緣云執(zhí)行任務的時延,不存在上傳時延,所以耗費時間比需要卸載的非緩存任務的執(zhí)行時間短,從而使得系統(tǒng)時延達到最小化。
圖3 設備數對系統(tǒng)時延的影響Fig.3 Impact of device number on system delay
第3個實驗是測試分析邊緣云緩存容量與設備能耗、時延之間的關系,實驗的目的是分析緩存與否以及緩存容量的大小對設備總能耗與系統(tǒng)時延產生的影響。圖4給出了使用本文的GA-PSO卸載策略、本地計算和將所有任務卸載到MEC服務器這3種方案后邊緣云緩存容量與系統(tǒng)能耗、時延之間的關系。圖4使用了雙坐標軸圖,左邊的縱坐標是系統(tǒng)能耗,右邊的縱坐標為時延。從圖4可以看出,隨著緩存資源的增加,能耗有降低的趨勢,也就是邊緣云可以緩存的任務數據越多,移動設備的耗能就越低;此外,本地計算的能耗明顯比本文的GA-PSO卸載策略的能耗高,表明本文卸載策略在一定程度上降低了移動設備的能耗。這是因為部分任務的相關數據已經緩存到邊緣云,執(zhí)行此類任務移動設備不產生能量消耗。從圖4還可以看出,邊緣云緩存容量越大,系統(tǒng)時延就越小,說明緩存對時延有較大影響。這是因為緩存容量越大,可緩存任務的數量越多,而緩存任務的執(zhí)行時間比需要卸載的非緩存任務的執(zhí)行時間短。
圖4 邊緣云緩存能力對系統(tǒng)時延及能耗的影響Fig.4 Impact of edge cloud caching capability on system delay and energy consumption
本文提出了一個基于GA-PSO和緩存機制的卸載策略,該策略兼具遺傳算法的全局搜索優(yōu)勢與PSO算法的局部搜索優(yōu)勢,搜索速度快,可以得到最優(yōu)的卸載比例與緩存決策。仿真實驗結果分析表明,與本地計算、全部卸載以及無緩存的卸載策略相比,本文的GA-PSO卸載策略使得本地設備與邊緣云協(xié)作計算,可以降低移動邊緣計算的時延代價。未來還可將PSO算法與其他優(yōu)化算法結合,尋求一個可靠性更高的卸載策略。