李 順,葛海波,劉林歡,陳旭濤
西安郵電大學(xué) 電子工程學(xué)院,西安 710121
隨著網(wǎng)絡(luò)時(shí)代的來(lái)臨,網(wǎng)絡(luò)設(shè)備的使用量呈爆發(fā)式增長(zhǎng)。人們?cè)谝苿?dòng)設(shè)備上執(zhí)行任務(wù)時(shí)對(duì)數(shù)據(jù)速率和服務(wù)質(zhì)量的要求越來(lái)越高,卸載任務(wù)的類(lèi)型也越來(lái)越復(fù)雜,如增強(qiáng)現(xiàn)實(shí)(augmented reality,AR)、手勢(shì)識(shí)別、人臉識(shí)別等[1],這些應(yīng)用不僅是計(jì)算任務(wù)密集型,而且對(duì)時(shí)延要求敏感。隨著技術(shù)的發(fā)展,盡管現(xiàn)在移動(dòng)設(shè)備的中央處理器(CPU)速率已經(jīng)得到很大的提升,但在需要大量計(jì)算資源的應(yīng)用面前在短時(shí)間內(nèi)也是無(wú)能為力。移動(dòng)云計(jì)算(mobile cloud computing,MCC)中將計(jì)算資源需求量大的任務(wù)卸載至遠(yuǎn)端具有強(qiáng)大計(jì)算能力的云服務(wù)器中,能夠在保證時(shí)延和能耗的前提下高效的解決這一問(wèn)題。由于云服務(wù)器與用戶(hù)之間距離較遠(yuǎn),在傳輸過(guò)程中由于各種因素的影響導(dǎo)致高時(shí)延問(wèn)題,為了解決這一問(wèn)題,業(yè)內(nèi)學(xué)者將目光聚焦到移動(dòng)邊緣計(jì)算(mobile edge computing,MEC)上來(lái)[2],MEC 將遠(yuǎn)端服務(wù)器的計(jì)算和存儲(chǔ)資源遷下沉到用戶(hù)端,降低計(jì)算任務(wù)傳輸時(shí)延和能量消耗,并且對(duì)計(jì)算資源需求量很大的任務(wù),直接將其傳輸?shù)竭h(yuǎn)端計(jì)算能力更強(qiáng)的云服務(wù)器中執(zhí)行。MEC 靠近用戶(hù)端設(shè)備但計(jì)算能力有限,MCC 遠(yuǎn)離用戶(hù)端設(shè)備但其計(jì)算能力巨大,兩者相互協(xié)作能夠滿(mǎn)足不同的應(yīng)用場(chǎng)景。
計(jì)算卸載作為MEC 的主要優(yōu)勢(shì)之一,成為廣大研究人員的關(guān)注熱點(diǎn)[3]。在現(xiàn)有的移動(dòng)邊緣計(jì)算任務(wù)卸載的研究中,用戶(hù)將任務(wù)卸載至邊緣服務(wù)器或者云服務(wù)器,忽略了附近擁有計(jì)算資源的邊緣服務(wù)器,導(dǎo)致這部分計(jì)算資源的浪費(fèi)。將任務(wù)卸載至邊緣服務(wù)器時(shí),邊緣服務(wù)器之間作為一個(gè)協(xié)同的整體對(duì)卸載的任務(wù)進(jìn)行計(jì)算,能夠有效減少向遠(yuǎn)程云傳輸?shù)臅r(shí)間成本。
本文中結(jié)合MCC和MEC的優(yōu)勢(shì),將邊緣服務(wù)器及其附近邊緣服務(wù)器看作一個(gè)協(xié)同整體,任務(wù)選擇卸載至本地、本地邊緣服務(wù)器、附近邊緣服務(wù)器中以及云服務(wù)器中計(jì)算。將任務(wù)卸載中傳輸時(shí)延與能耗建立模型,并分別賦予權(quán)重值,通過(guò)改進(jìn)的混合粒子群算法找到最優(yōu)解,并得到最優(yōu)的卸載策略。
隨著5G的迅速發(fā)展以及普及,MEC的發(fā)展和研究迎來(lái)了新的高度。在MEC 的研究中,計(jì)算卸載技術(shù)一直備受關(guān)注,大量的學(xué)者也對(duì)其進(jìn)行了研究并有了突破性的進(jìn)展[4]。文獻(xiàn)[5]提出一種無(wú)線(xiàn)感知聯(lián)合調(diào)度和計(jì)算卸載的策略(joint scheduling and compute offloading,JSCO),通過(guò)在移動(dòng)端和云端并行處理的方式,減少了執(zhí)行時(shí)間,并將優(yōu)先關(guān)系和總執(zhí)行時(shí)間作為約束條件,以此來(lái)權(quán)衡能耗。文獻(xiàn)[6]研究了具有小型網(wǎng)絡(luò)的MEC系統(tǒng)節(jié)能計(jì)算卸載策略,通過(guò)聯(lián)合優(yōu)化功率、無(wú)線(xiàn)和計(jì)算資源分配等因素最小化終端能耗,將卸載問(wèn)題表述為NP-hard的MINLP問(wèn)題,提出了一種基于遺傳和粒子群(hierarchical genetic algorithm and particle swarm optimization based computation algorithm,HGPCA)的計(jì)算卸載策略。但在文中重點(diǎn)考慮了能耗問(wèn)題,時(shí)延問(wèn)題有所忽略。文獻(xiàn)[7]提出一種基于粒子群優(yōu)化的卸載策略,將任務(wù)卸載表示為能耗約束下的時(shí)延最小化問(wèn)題,并通過(guò)懲罰函數(shù)平衡時(shí)延和能耗。文章中只考慮了時(shí)延敏感型的應(yīng)用,對(duì)于能耗方面的關(guān)注不足。文獻(xiàn)[8]研究了協(xié)同計(jì)算卸載、計(jì)算和通信資源分配方案,開(kāi)發(fā)了一個(gè)協(xié)同計(jì)算框架,考慮了卸載策略、計(jì)算資源等因素提出一種基于管道的策略,并采用經(jīng)典的逐次凸逼近(successive convex approximation,SCA)方法將非凸優(yōu)化問(wèn)題轉(zhuǎn)化為凸優(yōu)化問(wèn)題。文獻(xiàn)[9]針對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)的計(jì)算能力與現(xiàn)實(shí)通信資源之間的差異,根據(jù)距離的遠(yuǎn)近以及網(wǎng)絡(luò)節(jié)點(diǎn)密度的疏密,提出基于遺傳算法的近岸多節(jié)點(diǎn)協(xié)同卸載策略和遠(yuǎn)岸基于分組交叉粒子群可容錯(cuò)卸載策略。文獻(xiàn)[10]考慮了延遲、內(nèi)存、可用能量以及智能設(shè)備的傳輸能量等約束,通過(guò)非線(xiàn)性約束優(yōu)化問(wèn)題,提出一種元啟發(fā)式算法的部分計(jì)算卸載策略。文獻(xiàn)[11]實(shí)現(xiàn)復(fù)雜依賴(lài)應(yīng)用的低能量遷移問(wèn)題,在子任務(wù)關(guān)系的基礎(chǔ)上構(gòu)建能量最小化的劃分模型,并從任務(wù)遷移、執(zhí)行位置和電量剩余三個(gè)方面出發(fā)提出一種基于遺傳算法(fine-grainedtask migration energy-saving strategy based on genetic algorithm,F(xiàn)GMBGA)的卸載策略,通過(guò)調(diào)整任務(wù)能耗和手機(jī)電量來(lái)動(dòng)態(tài)調(diào)整最優(yōu)解。文獻(xiàn)[12]為了使用戶(hù)獨(dú)立選擇卸載決策,提出一種基于博弈論的分散計(jì)算卸載算法,并且在卸載過(guò)程中將問(wèn)題轉(zhuǎn)化為部分觀測(cè)型的馬爾可夫決策過(guò)程(partially observed markov decision processes,POMDP),并通過(guò)基于策略梯度深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)來(lái)解決此問(wèn)題。文獻(xiàn)[13]研究了在云邊協(xié)作系統(tǒng)中,將通信和計(jì)算資源共同分配問(wèn)題轉(zhuǎn)化為凸優(yōu)化問(wèn)題,最終得到資源分配策略。能夠看出文獻(xiàn)所提策略有效減少設(shè)備的時(shí)延,但對(duì)能耗問(wèn)題關(guān)注度相對(duì)較少。綜合上述文獻(xiàn)研究總結(jié)對(duì)比如表1所示。
表1 不同卸載策略總結(jié)對(duì)比Table 1 Comparison of different uninstall strategies
綜上所述,以上計(jì)算卸載策略問(wèn)題的研究,大多只對(duì)時(shí)延或能耗進(jìn)行優(yōu)化,亦或?qū)θ蝿?wù)之間的依賴(lài)關(guān)系沒(méi)有考慮。另外,大部分工作只針對(duì)移動(dòng)邊緣計(jì)算或者移動(dòng)云計(jì)算的卸載策略進(jìn)行研究,并沒(méi)有考慮MEC 與MCC 之間的協(xié)同。綜合考慮上述研究的局限性,本文設(shè)計(jì)了一種云邊協(xié)同的計(jì)算卸載策略,并提出了CRPSO計(jì)算卸載算法。主要工作如下:
(1)為防止任務(wù)無(wú)序執(zhí)行時(shí)導(dǎo)致服務(wù)器負(fù)載過(guò)高,無(wú)法很好地執(zhí)行卸載策略,很大程度上影響卸載進(jìn)度,考慮了任務(wù)之間的依賴(lài)關(guān)系,并使用任務(wù)的優(yōu)先級(jí)矩陣表示任務(wù)執(zhí)行的先后順序,優(yōu)化卸載效率。
(2)在任務(wù)卸載時(shí),利用MCC 和MEC 各自的傳輸時(shí)延和計(jì)算能力特點(diǎn),將任務(wù)采用就近原則卸載,總體考慮移動(dòng)設(shè)備、邊緣服務(wù)器和云服務(wù)器的計(jì)算資源,將計(jì)算任務(wù)卸載至附近有計(jì)算資源的邊緣服務(wù)器中,形成邊緣服務(wù)器間的協(xié)同卸載,合理利用本地端、邊緣端和云端服務(wù)器的計(jì)算資源。
(3)設(shè)計(jì)了基于改進(jìn)混合粒子群算法的計(jì)算卸載算法,利用改進(jìn)后的算法對(duì)粒子進(jìn)行分組交叉迭代后得到最優(yōu)卸載策略,從而得到最小系統(tǒng)總代價(jià)。
本文提出的移動(dòng)云計(jì)算融合MEC的網(wǎng)絡(luò)通信框架模型如圖1 所示,分為三層:用戶(hù)層、邊緣計(jì)算層、云計(jì)算層。其中,云計(jì)算層有高性能的服務(wù)器群組成,具有強(qiáng)大的計(jì)算能力并且能夠協(xié)同管理邊緣層服務(wù)器之間的資源;邊緣計(jì)算層由小型基站以及具有一般計(jì)算能和存儲(chǔ)能力的邊緣服務(wù)器組成;用戶(hù)層可根據(jù)自身設(shè)備計(jì)算和存儲(chǔ)能力計(jì)算一定范圍內(nèi)的任務(wù)。
假設(shè)用戶(hù)在進(jìn)行任務(wù)卸載時(shí)的卸載決策:
本地執(zhí)行:計(jì)算任務(wù)在本地用戶(hù)設(shè)備執(zhí)行。
邊緣服務(wù)器執(zhí)行:通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)將計(jì)算任務(wù)卸載至邊緣服務(wù)器或者周邊具有計(jì)算能力的邊緣服務(wù)器執(zhí)行。
云服務(wù)器執(zhí)行:云服務(wù)器具有強(qiáng)大的計(jì)算能力。
假設(shè)由n個(gè)任務(wù)T={ }T1,T2,…,Tn。其中每個(gè)任務(wù)被建模為一個(gè)三元組{ }αi,βi,γi,其中,αi表示任務(wù)Ti的輸入數(shù)據(jù)量,βi表示任務(wù)計(jì)算的數(shù)據(jù)量,γi表示為反饋計(jì)算任務(wù)結(jié)果的數(shù)據(jù)量。移動(dòng)設(shè)備、邊緣端和云端服務(wù)器的計(jì)算力(單位:GHz)分別為fl、fe、fc;移動(dòng)設(shè)備、邊緣服務(wù)器和云服務(wù)器計(jì)算1 bit 數(shù)據(jù)所需CPU 周期分別為Clb、Ceb、Ccb。其中本地與異地邊緣服務(wù)器計(jì)算能力相同。
在任務(wù)執(zhí)行的過(guò)程中,移動(dòng)服務(wù)中往往不只存在一個(gè)任務(wù),任務(wù)與任務(wù)之間存在依賴(lài)關(guān)系,所以在任務(wù)卸載時(shí)要考慮任務(wù)卸載的優(yōu)先關(guān)系。引入n×n的任務(wù)卸載優(yōu)先級(jí)矩陣D來(lái)表示任務(wù)i與任務(wù)j的優(yōu)先關(guān)系:
由于用戶(hù)產(chǎn)生的任務(wù)數(shù)量的不固定性,任務(wù)之間的關(guān)系也是不確定的,由此可以根據(jù)具體數(shù)量和關(guān)系自定義矩陣,如圖2 所示為3.2 節(jié)中7 個(gè)任務(wù)的優(yōu)先級(jí)矩陣。例如,D23=1,則說(shuō)明任務(wù)2優(yōu)于任務(wù)3先執(zhí)行;D26=0,說(shuō)明任務(wù)2 與任務(wù)6 之間無(wú)約束關(guān)系;D56=-1,說(shuō)明任務(wù)6優(yōu)于任務(wù)5先執(zhí)行。
(2)卸載至邊緣服務(wù)器執(zhí)行
將任務(wù)卸載至邊緣服務(wù)器時(shí),邊緣服務(wù)器可以看作一個(gè)感知節(jié)點(diǎn),若邊緣服務(wù)器過(guò)載,則可以將任務(wù)卸載至附近資源較多的邊緣服務(wù)器進(jìn)行計(jì)算,然后將結(jié)果回傳給用戶(hù)端。根據(jù)Shannon公式,移動(dòng)用戶(hù)與邊緣服務(wù)器的通信傳輸速率為:其中,l2為本地邊緣服務(wù)器與異地邊緣服務(wù)器之間的距離。
任務(wù)i從本地邊緣服務(wù)器卸載至異地邊緣服務(wù)器執(zhí)行時(shí),時(shí)間延遲為:其中,l3為用戶(hù)設(shè)備與云服務(wù)器之間的直線(xiàn)距離,Be為用戶(hù)設(shè)備與云服務(wù)器之間的信道帶寬。
任務(wù)i從本地設(shè)備卸載至云服務(wù)器執(zhí)行時(shí),總時(shí)延為:
本文的目標(biāo)是任務(wù)執(zhí)行總時(shí)間和設(shè)備的總能耗最小時(shí)的卸載策略。因此,目標(biāo)函數(shù)定義如式(15):
將粒子群優(yōu)化算法(particle swarm optimization,PSO)應(yīng)用到移動(dòng)用戶(hù)任務(wù)卸載的現(xiàn)實(shí)場(chǎng)景中,傳統(tǒng)粒子群算法容易早熟,導(dǎo)致局部最優(yōu)解[14]。為了解決這個(gè)問(wèn)題,本文中引入遺傳算法中的交叉操作,將粒子根據(jù)適應(yīng)度進(jìn)行分級(jí),適應(yīng)度低的粒子經(jīng)過(guò)交叉重組后得到適應(yīng)度好的粒子進(jìn)入適應(yīng)度高的等級(jí)中,這樣得到的種群中的粒子適應(yīng)度較優(yōu)。因此,在粒子群算法快速收斂并保持較好的全局搜索能力的同時(shí),結(jié)合遺傳算法選擇交叉的思想能夠提高算法的精度,并跳出局部最優(yōu)。
粒子群算法是一種常見(jiàn)的傳統(tǒng)智能算法,在PSO算法中設(shè)置粒子種群數(shù)量,粒子的位置與速度。第i個(gè)粒子的位置Xi和速度Vi分別表示目標(biāo)優(yōu)化問(wèn)題的解和粒子i位置的更新方向以及距離,Pbest表示粒子i自身最優(yōu)位置,Pgbest表示整個(gè)種群搜索到的最佳位置。在每次迭代中,粒子i速度和位置更新公式如式(16)、(17):
其中,c1、c2為學(xué)習(xí)因子;r1、r2為0~1 之間的隨機(jī)數(shù);ω為慣性因子(ω較大則全局搜索能力強(qiáng),ω值較小時(shí)局部搜索能力強(qiáng))。
本文采用浮點(diǎn)數(shù)編碼方式,每個(gè)粒子對(duì)應(yīng)任務(wù)分配方案。文中用0、1、2、3表示4種不同的卸載方案,0表示任務(wù)在本地設(shè)備執(zhí)行,1表示任務(wù)在邊緣服務(wù)器執(zhí)行,2表示任務(wù)在異地邊緣服務(wù)器執(zhí)行,3表示在云服務(wù)器執(zhí)行。假設(shè)任務(wù)集合有7 個(gè)任務(wù)(n=7)T={T1,T2,T3,T4,T5,T6,T7},對(duì)應(yīng)的粒子編碼為χ=[1.1,2.0,3.2,4.0,5.1,6.1,7.3],其中整數(shù)部分表示任務(wù)Ti{i∈[1,n] };小數(shù)部分表示任務(wù)的執(zhí)行位置(取整數(shù))。例如編碼χ=[1.1,2.0,3.2,4.0,5.1,6.1,7.3],根據(jù)上述編碼過(guò)程可知:T4和T2在本地執(zhí)行(任務(wù)t4先于t2執(zhí)行可根據(jù)關(guān)系矩陣判定);T1、T6、T5在邊緣服務(wù)器執(zhí)行;T3在異地邊緣服務(wù)器執(zhí)行;T7在云服務(wù)器執(zhí)行。
本文中所要解決的問(wèn)題的是得到最優(yōu)的卸載策略,由建立的模型可知,目標(biāo)函數(shù)值f越大,系統(tǒng)總成本越大,卸載方案越差;反之亦然。因此,將目標(biāo)函數(shù)的倒數(shù)作為適應(yīng)度函數(shù)。其中,f的最小值不為0。
在常用的進(jìn)化算法中[15],選擇操作是把相對(duì)較好的區(qū)域與較差區(qū)域區(qū)別開(kāi)來(lái)并將較差的區(qū)域直接淘汰。但是進(jìn)行選擇操作將較差區(qū)域的粒子淘汰后,粒子種群的豐富性就會(huì)降低。為了提高粒子種群的優(yōu)越性與多樣性,在本文所提出的改進(jìn)算法中,先通過(guò)各個(gè)粒子的適應(yīng)度值的高低將粒子分為兩個(gè)小組。第1 組為適應(yīng)度高的粒子,第2組為適應(yīng)度低的粒子,迭代時(shí)用第1組粒子的位置和速度矢量取代第2組粒子的對(duì)應(yīng)矢量,并且不改變其個(gè)體極值。在執(zhí)行遺傳思想的交叉重組操作時(shí),第2 組粒子進(jìn)行兩兩配對(duì)重組,子代粒子與父代粒子進(jìn)行適應(yīng)度對(duì)比,選取整組中適應(yīng)度高的一半粒子進(jìn)入第一組。通過(guò)交叉重組使得第1 組中的粒子種群適應(yīng)度優(yōu)于分組前,能夠增加粒子種群的優(yōu)越性和多樣性,防止陷入局部最優(yōu)并使收斂速度增加。粒子分組交叉過(guò)程如圖4所示。
其中,X和V分別為位置與速度矢量;child1(X) 和child2(X)為子代粒子的位置;child1(V)和child2(V)為子代粒子的速度;p是均勻分布的隨機(jī)數(shù)向量,為交叉概率,并且每個(gè)分量都在[0,1]取值;子代粒子的位置由父代粒子位置的算數(shù)加權(quán)和計(jì)算[16]。
進(jìn)行交叉操作過(guò)程如圖5所示。
粒子交叉重組后得到的Pbest和Pgbest,根據(jù)粒子與速度更新公式進(jìn)行全局學(xué)習(xí),通過(guò)交叉重組操作后可以跳出局部最優(yōu),以更快的收斂速度找到優(yōu)化問(wèn)題的最優(yōu)解。
CRPSO算法參數(shù)與卸載策略參數(shù)的對(duì)應(yīng)關(guān)系如表2所示。
表2 算法參數(shù)與卸載策略參數(shù)的對(duì)應(yīng)關(guān)系Table 2 Uninstall policy parameter relationship
基于CRPSO算法的優(yōu)化策略流程,具體如下。
輸入:請(qǐng)求任務(wù)數(shù)量n、移動(dòng)設(shè)備的計(jì)算能力fl、邊緣服務(wù)器的計(jì)算能力fe、云服務(wù)器的計(jì)算能力fc、本地設(shè)備計(jì)算功率pl、邊緣服務(wù)器的計(jì)算功率pe、云服務(wù)器的計(jì)算功率pc。
輸出:最優(yōu)卸載策略,最優(yōu)適應(yīng)度值。
步驟1 初始化。確定迭代次數(shù)和粒子的數(shù)量,并初始化粒子的速度和位置。
步驟2 計(jì)算每個(gè)粒子的適應(yīng)度值,并比較各個(gè)粒子的適應(yīng)度值,記錄其當(dāng)前個(gè)體極值Pbesti和群體最優(yōu)粒子Pgbest。
步驟3 執(zhí)行分級(jí)交叉重組操作。
步驟4 根據(jù)公式(15)和(16)更新交叉重組之后新粒子的位置和速度。
步驟5 計(jì)算交叉后粒子的適應(yīng)度,更新個(gè)體極值Pbesti和全局極值Pgbest。
步驟6 終止條件判斷。檢查是否滿(mǎn)足迭代次數(shù),若滿(mǎn)足則執(zhí)行步驟7,若不滿(mǎn)足,執(zhí)行步驟3。
步驟7 輸出全局最優(yōu)適應(yīng)度和最優(yōu)任務(wù)卸載策略。
根據(jù)以上模型中假設(shè)的服務(wù)器的數(shù)量以及模型中涉及到的參數(shù),在本節(jié)的仿真場(chǎng)景中,由于用戶(hù)在通信小區(qū)內(nèi)的移動(dòng)性較小,因此忽略移動(dòng)過(guò)程中通信鏈路軟硬切換帶來(lái)的影響,只關(guān)注任務(wù)卸載的過(guò)程,并假設(shè)所有邊緣服務(wù)器的計(jì)算能力都是相同的,本地終端設(shè)備為3個(gè),邊緣服務(wù)器數(shù)量為8個(gè),1個(gè)云服務(wù)器。
在文獻(xiàn)[17]的基礎(chǔ)上設(shè)定系統(tǒng)的基本參數(shù),并結(jié)合本文所建立的任務(wù)卸載模型,將實(shí)驗(yàn)環(huán)境適當(dāng)調(diào)整后,對(duì)本文所提出的CRPSO 算法以及Local-MEC 算法、ECPSO 算法、GCPSO 算法利用MATLAB R2020a 仿真平臺(tái)進(jìn)行了仿真對(duì)比實(shí)驗(yàn)。任務(wù)卸載的仿真參數(shù)由表3給出,CRPSO算法的相關(guān)參數(shù)由表4給出。
表3 算法相關(guān)參數(shù)Table 3 Algorithm related parameters
表4 實(shí)驗(yàn)仿真參數(shù)Table 4 Experimental simulation parameters
Local-MEC算法:任務(wù)卸載至本地設(shè)備的計(jì)算卸載策略。
ECPSO(Edge Computing PSO)算法:邊緣計(jì)算中基于傳統(tǒng)粒子群算法的計(jì)算卸載算法。
GCPSO(Genetic Cross PSO)算法:邊緣計(jì)算中基于遺傳的改進(jìn)粒子群的計(jì)算卸載算法。
為了研究任務(wù)數(shù)量的變化對(duì)系統(tǒng)總代價(jià)的影響,設(shè)置模擬的任務(wù)數(shù)量分別為25、50、75、125、150(個(gè)),利用CRPSO 算法、Local-MEC 算法、ECPSO 算法、GCPSO 算法進(jìn)行性能比較。仿真結(jié)果如圖6所示,隨著任務(wù)數(shù)量的增加,系統(tǒng)的總代價(jià)逐漸增加,這是由于任務(wù)數(shù)的增加將會(huì)導(dǎo)致任務(wù)在卸載過(guò)程中消耗的能量和處理任務(wù)的時(shí)間會(huì)增加。從圖中能夠看出,與Local-MEC 算法、ECPSO 算法、GCPSO 算法相比,本文提出的CRPSO 算法的系統(tǒng)總代價(jià)是最小的,約為L(zhǎng)ocal-MEC 算法的11.91%、ECPSO算法的36.79%、GCPSO算法的56.24%。
本節(jié)中為了更好地顯示迭代次數(shù)對(duì)系統(tǒng)總代價(jià)的影響,取最大迭代次數(shù)G=100,總?cè)蝿?wù)數(shù)n=80,時(shí)延與能耗的權(quán)重系數(shù)ω=0.5。由于Local-MEC 算法中任務(wù)只在本地設(shè)備和邊緣服務(wù)器執(zhí)行卸載策略,迭代次數(shù)對(duì)實(shí)驗(yàn)結(jié)果的影響省略。仿真結(jié)果如圖7所示,隨著迭代次數(shù)的增加,CRPSO算法、ECPSO算法、GCPSO算法的系統(tǒng)總代價(jià)都逐漸減小。從圖中可以看出,迭代70 次之后,系統(tǒng)總代價(jià)趨于平穩(wěn)。因此,當(dāng)?shù)螖?shù)為70時(shí),可以得到系統(tǒng)最優(yōu)解。
任務(wù)工作量的大小對(duì)系統(tǒng)總代價(jià)也是有影響的,在本節(jié)中取任務(wù)工作量在[0,100]之間,任務(wù)數(shù)n=100,ω=0.5,從圖8 可以看出,任務(wù)工作量的增加,設(shè)備的能耗會(huì)隨之增加,由于計(jì)算量較大,執(zhí)行時(shí)間也會(huì)增加,故而系統(tǒng)的總體代價(jià)也逐漸變大。從圖中可以看出,CRPSO算法得到的系統(tǒng)總代價(jià)最小,約為L(zhǎng)ocal-MEC算法的13.1%、ECPSO算法的31.8%、GCPSO算法的76.5%。
本文提出的邊緣協(xié)同的框架下,離用戶(hù)最近的邊緣服務(wù)器周邊服務(wù)器的數(shù)量也會(huì)對(duì)系統(tǒng)總代價(jià)產(chǎn)生影響??紤]到若附近邊緣服務(wù)器的數(shù)量為0時(shí),邊緣服務(wù)器之間的協(xié)同卸載則不能執(zhí)行,因此本節(jié)中附近邊緣服務(wù)器的數(shù)量設(shè)置為1~7個(gè)進(jìn)行仿真實(shí)驗(yàn),由于傳統(tǒng)卸載策略不受周邊服務(wù)器數(shù)量的影響,所以在圖中略去。仿真結(jié)果如圖9所示,當(dāng)附近邊緣服務(wù)器的數(shù)量為3個(gè)時(shí),系統(tǒng)總代價(jià)最低,可以輸出最優(yōu)卸載策略;隨著附近邊緣服務(wù)器的數(shù)量不斷增加時(shí),任務(wù)卸載時(shí)服務(wù)器之間的傳輸時(shí)延與能耗增加,導(dǎo)致系統(tǒng)總代價(jià)升高,當(dāng)附近邊緣服務(wù)器的數(shù)量為6個(gè)時(shí),系統(tǒng)總代價(jià)有略微的升高就是這個(gè)原因。但是從圖中可以得到,本文提出的CRPSO算法卸載策略系統(tǒng)總代價(jià)始終是最低的。
在對(duì)系統(tǒng)總代價(jià)產(chǎn)生影響的因素中,時(shí)延與能耗權(quán)重比值也是需要考慮的重要因素之一。本節(jié)主要研究時(shí)延與能耗權(quán)重比ω/(1-ω)在[0.01,100]時(shí),ECPSO 算法、GCPSO算法、CRPSO算法的性能比較。仿真結(jié)果如圖10所示,隨著時(shí)延與能耗權(quán)重比值的增大,CRPSO算法的系統(tǒng)總代價(jià)約為ECPSO 算法的33.1%,GCPSO 算法的58.9%,明顯優(yōu)于上述算法。因此,CRPSO 算法能夠?qū)Σ煌瑘?chǎng)景下的移動(dòng)服務(wù)起到優(yōu)化作用。
本文針對(duì)移動(dòng)任務(wù)卸載的時(shí)延與設(shè)備能耗的優(yōu)化問(wèn)題,及多個(gè)邊緣服務(wù)器與云服務(wù)的協(xié)同問(wèn)題進(jìn)行研究,提出了多個(gè)邊緣服務(wù)器的協(xié)同計(jì)算卸載方案,通過(guò)引進(jìn)遺傳交叉思想對(duì)粒子群中部分粒子進(jìn)行分組交叉取優(yōu),使算法跳出局部最優(yōu),更快收斂于全局最優(yōu)解,得到最優(yōu)卸載策略。仿真結(jié)果表明,CRPSO 算法的系統(tǒng)總體代價(jià)最小,可以在時(shí)延與能耗均衡的情況下輸出最優(yōu)卸載策略。下一步工作將對(duì)卸載模型進(jìn)一步完善,采用深度學(xué)習(xí)相關(guān)算法進(jìn)行卸載策略研究。