汪小威,林 寧+,胡玉平
(1.南寧學(xué)院 信息工程學(xué)院,廣西 南寧 530200;2.廣東財(cái)經(jīng)大學(xué) 信息學(xué)院,廣東 廣州 510320)
隨著智能設(shè)備的劇增以及通信技術(shù)的突飛猛進(jìn),促使邊緣計(jì)算突破技術(shù)瓶頸,并極大地提高了物聯(lián)網(wǎng)(Internet of thing,IoT)的計(jì)算效率[1]。面對(duì)著越來(lái)越多的數(shù)據(jù),各類(lèi)終端設(shè)備不斷研發(fā)出來(lái)并且功能愈發(fā)豐富,甚至逐漸承擔(dān)了云服務(wù)的作用,實(shí)現(xiàn)了更高的計(jì)算效率。移動(dòng)邊緣計(jì)算(moving edge computing,MEC)技術(shù)作為云計(jì)算相關(guān)領(lǐng)域最為關(guān)鍵的方向之一,已在物聯(lián)網(wǎng)和嵌入式系統(tǒng)等眾多新技術(shù)中廣泛應(yīng)用并投入實(shí)際運(yùn)行[2]。然而,各種終端設(shè)備在不斷競(jìng)爭(zhēng)與腳逐的過(guò)程中計(jì)算成為了關(guān)鍵環(huán)節(jié),大量的計(jì)算開(kāi)銷(xiāo)對(duì)計(jì)算能力和網(wǎng)絡(luò)承載能力也提出了新的要求[3]。
一般情況下云計(jì)算速度的快慢以及其性能的高低依賴于物理服務(wù)器,終端設(shè)備利用云計(jì)算時(shí)首先要將相應(yīng)的數(shù)據(jù)傳送給物理服務(wù)器,這樣可以有效解決中斷設(shè)備自身能力不足的弊病[4]。但是不可否認(rèn)的是隨著終端設(shè)備越來(lái)越多,大量數(shù)據(jù)不斷匯集到服務(wù)器將會(huì)對(duì)其造成巨大壓力。與云服務(wù)器相反,邊緣節(jié)點(diǎn)有限的計(jì)算和存儲(chǔ)資源要求其將部分計(jì)算或存儲(chǔ)任務(wù)卸載到其它邊緣節(jié)點(diǎn),以提高系統(tǒng)資源利用率,便于靈活高效地進(jìn)行任務(wù)卸載,以實(shí)現(xiàn)對(duì)所需處理任務(wù)的合理規(guī)劃[5]。
對(duì)于任務(wù)卸載策略最優(yōu)化問(wèn)題,從最優(yōu)化動(dòng)機(jī)的角度來(lái)看,移動(dòng)邊緣設(shè)備必須克服數(shù)據(jù)量大、帶寬低、設(shè)備電池容量受限等不利因素[6]。因此,在保證數(shù)據(jù)處理速率的前提下,降低能量消耗是保證設(shè)備連續(xù)運(yùn)行的關(guān)鍵[7]。傳統(tǒng)的任務(wù)卸載優(yōu)化方法除了需要對(duì)數(shù)據(jù)隱私性進(jìn)行強(qiáng)化以外,還需要在保證低數(shù)據(jù)延遲的同時(shí),降低任務(wù)處理能耗,提高系統(tǒng)計(jì)算效率。所提出的任務(wù)卸載策略基于由移動(dòng)設(shè)備、邊緣節(jié)點(diǎn)和云服務(wù)器組成的三層網(wǎng)絡(luò)架構(gòu)提出了任務(wù)卸載方案,用以實(shí)現(xiàn)移動(dòng)設(shè)備在所有任務(wù)持續(xù)時(shí)間內(nèi)的能耗的最小化。
目前已經(jīng)有許多關(guān)于計(jì)算卸載優(yōu)化問(wèn)題的研究成果,其中包括由移動(dòng)設(shè)備和邊緣節(jié)點(diǎn)組成的移動(dòng)邊緣計(jì)算網(wǎng)絡(luò)場(chǎng)景研究,以及由移動(dòng)設(shè)備和云服務(wù)器組成的移動(dòng)云計(jì)算(mobile cloud computing,MCC)網(wǎng)絡(luò)場(chǎng)景研究等[9]。
在移動(dòng)邊緣計(jì)算網(wǎng)絡(luò)的基礎(chǔ)上,為盡可能延長(zhǎng)中斷設(shè)備使用時(shí)間,提升能源使用效率,要尋找出最優(yōu)的資源分配方案。文獻(xiàn)[10]考慮了MEC網(wǎng)絡(luò)中分布式能量收集設(shè)備通過(guò)射頻實(shí)現(xiàn)功率傳輸?shù)哪芰扛兄軜?gòu),充分利用乘子交替方向法有效提升計(jì)算能力降低其延遲時(shí)間,但該方法不能在各種網(wǎng)絡(luò)設(shè)置下有效地實(shí)現(xiàn)最佳性能,具有一定的局限性[11]。文獻(xiàn)[12]為了最大限度地降低移動(dòng)設(shè)備的能耗,將約束條件設(shè)成所有任務(wù)的持續(xù)時(shí)間,針對(duì)邊緣計(jì)算中能量消耗的最優(yōu)化問(wèn)題展開(kāi)研究,分別從協(xié)同任務(wù)卸載和計(jì)算資源配置兩方面進(jìn)行了問(wèn)題優(yōu)化,在最短的時(shí)間內(nèi)實(shí)現(xiàn)能耗最低的需求,雖然兼顧了能耗和延遲最小化,但在實(shí)際應(yīng)用中還不具有一定的可行性。文獻(xiàn)[13]為了解決MEC任務(wù)卸載中兼顧效率與數(shù)據(jù)隱私性的問(wèn)題,提出了一種包含實(shí)用感知卸載程序和用于隱私權(quán)衡的兩階段聯(lián)合卸載優(yōu)化策略,用于MEC系統(tǒng)任務(wù)卸載策略優(yōu)化和隱私保護(hù),實(shí)驗(yàn)結(jié)果表明了該方法的高效性和可靠性。由于任務(wù)卸載過(guò)程中對(duì)隱私保護(hù)的權(quán)衡,導(dǎo)致算法在處理延遲和綜合能耗方面表現(xiàn)較差。
粒子群優(yōu)化算法作為一種經(jīng)典的智能算法,目前已有一些文獻(xiàn)將其廣泛應(yīng)用于優(yōu)化決策過(guò)程中[14]。文獻(xiàn)[15]針對(duì)預(yù)測(cè)任務(wù)之間的全局時(shí)空相關(guān)性,時(shí)空異質(zhì)性與模型的全局預(yù)測(cè)能力之間的平衡以及預(yù)測(cè)模型的參數(shù)優(yōu)化等挑戰(zhàn),結(jié)合基于粒子群優(yōu)化的時(shí)空多任務(wù)和多視圖特征學(xué)習(xí)模型提高模型的訓(xùn)練速度,對(duì)MEC中任務(wù)卸載進(jìn)行優(yōu)化。但傳統(tǒng)的粒子群優(yōu)化算法容易陷入局部最優(yōu),難以獲得全局最優(yōu)解,因此文獻(xiàn)[16]提出了計(jì)算分流模型,將任務(wù)卸載表述為一個(gè)混合整數(shù)非線性規(guī)劃問(wèn)題。在該文獻(xiàn)中引入了兩種算法,一種是數(shù)學(xué)中經(jīng)典的遺傳算法,另外一種是粒子群優(yōu)化算法,通過(guò)這兩種算法的結(jié)合有效提升了計(jì)算速度。仿真研究表明該算法的收斂性和可靠性,但由于算法迭代耗時(shí),導(dǎo)致任務(wù)卸載整體延遲較其它算法較高,還有可提升的空間。文獻(xiàn)[17]在考慮完成時(shí)間和能效的基礎(chǔ)上,把計(jì)算分流進(jìn)行了轉(zhuǎn)化,利用能效成本進(jìn)行代替。同時(shí)在該文獻(xiàn)中還對(duì)時(shí)鐘頻率以及其發(fā)射功率等再次進(jìn)行了優(yōu)化從而建立了一種有效的分布式算法,這種方法對(duì)本地任務(wù)執(zhí)行的時(shí)鐘頻率和邊緣云執(zhí)行的傳輸功率進(jìn)行了聯(lián)合優(yōu)化,在保證卸載效率的同時(shí)降低了能耗。文獻(xiàn)[18]提出了一個(gè)包含對(duì)卸載策略制定、負(fù)載平衡、計(jì)算資源分配的多維優(yōu)化問(wèn)題,以最小化多MEC服務(wù)器多智能移動(dòng)終端(smart mobile devices,SMD)網(wǎng)絡(luò)中所有SMD的總延遲和能耗的加權(quán)總和,并進(jìn)行功率控制。通過(guò)一種低復(fù)雜度的啟發(fā)式算法來(lái)獲得卸載策略,同時(shí)保證多個(gè)MEC服務(wù)器之間的負(fù)載平衡;并使用拉格朗日對(duì)偶分解法解決計(jì)算資源分配子問(wèn)題。
雖然該方法在任務(wù)卸載策略的能耗優(yōu)化方面取得了一定的成績(jī),但是無(wú)法兼顧能耗與傳輸延遲,系統(tǒng)整體負(fù)載均衡方面仍存在一定的提升空間。為此,提出了一種移動(dòng)邊緣計(jì)算中利用BPSO的任務(wù)卸載策略。其主要的創(chuàng)新點(diǎn)總結(jié)如下:
(1)由于核心計(jì)算網(wǎng)絡(luò)負(fù)擔(dān)較大,所提策略構(gòu)建了三層移動(dòng)邊緣計(jì)算(moving edge computing,MEC)網(wǎng)絡(luò)架構(gòu),移動(dòng)設(shè)備中的計(jì)算任務(wù)可以在本地進(jìn)行,也可卸載至邊緣計(jì)算節(jié)點(diǎn)與云服務(wù)器中執(zhí)行,有利于任務(wù)卸載策略的高效實(shí)施。
(2)為了提高任務(wù)卸載方案的性能,所提策略根據(jù)MEC網(wǎng)絡(luò)中的計(jì)算模型、通信模型設(shè)計(jì)了計(jì)算卸載目標(biāo),并利用二進(jìn)制粒子群(binary particle swarm optimization,BPSO)算法對(duì)其進(jìn)行求解,以得到最優(yōu)卸載策略,實(shí)現(xiàn)能量消耗最小且時(shí)延最短,系統(tǒng)整體負(fù)載最為均衡。
為了任務(wù)卸載策略的高效實(shí)施,提出了一個(gè)分布式的三層邊緣計(jì)算網(wǎng)絡(luò)模型,其架構(gòu)如圖1所示。其中包括了M個(gè)移動(dòng)設(shè)備(mobile devices,MD)、N個(gè)基站(base stations,BS)和一個(gè)遠(yuǎn)程云服務(wù)器。每個(gè)基站都配備了一個(gè)邊緣計(jì)算節(jié)點(diǎn)。此外,移動(dòng)設(shè)備的電池容量是有限的,將移動(dòng)設(shè)備的集合表示為m={1,2,…,M},邊緣節(jié)點(diǎn)的集合為n={1,2,…,N}。當(dāng)每個(gè)基站通過(guò)有線鏈路連接到云端時(shí),可以通過(guò)無(wú)線鏈路與多個(gè)移動(dòng)設(shè)備進(jìn)行通信,并且移動(dòng)設(shè)備與基站之間的距離遠(yuǎn)小于基站與云之間的距離[19]。
圖1 移動(dòng)邊緣計(jì)算網(wǎng)絡(luò)模型的架構(gòu)
(1)
上式表示一個(gè)計(jì)算任務(wù)要么由移動(dòng)設(shè)備在本地執(zhí)行,要么由設(shè)備卸載到基站或云再進(jìn)行處理,且總數(shù)據(jù)量大小為Dm。
其次,介紹了服務(wù)緩存的概念。緩存將數(shù)據(jù)副本存儲(chǔ)在靠近請(qǐng)求的位置,并預(yù)期會(huì)收到相同的請(qǐng)求,這樣的方式可以減少計(jì)算延遲和網(wǎng)絡(luò)負(fù)擔(dān)。在所提策略中,將服務(wù)的集合表示為s={1,2,…,S},用cs來(lái)表示服務(wù)S所需的存儲(chǔ)空間大小,用Cn來(lái)表示基站n的存儲(chǔ)空間。更具體地說(shuō),所提策略中假設(shè)計(jì)算任務(wù)以vs,n的速率到達(dá),并服從泊松過(guò)程。需要注意的是,服務(wù)緩存將在每次基于短期預(yù)測(cè)而做出決策之前進(jìn)行更改。
提出的網(wǎng)絡(luò)模型中,每個(gè)移動(dòng)設(shè)備都需要為其任務(wù)選擇最佳的策略。將Bn(Hz)表示為邊緣節(jié)點(diǎn)n的無(wú)線信道帶寬;以ηm,n表示移動(dòng)設(shè)備m和邊緣節(jié)點(diǎn)n之間的上行傳輸效率。根據(jù)香濃公式,可以近似得到
(2)
式中:pm,n代表的是使用的終端設(shè)備m的傳輸功率,δm,n代表的是使用的終端設(shè)備m和相應(yīng)基站n之間的信道增益,τ2代表的是背景噪聲的功率值,即加性高斯白噪聲。pm,nδm,n/τ2可以表示移動(dòng)設(shè)備m與基站n之間的上行鏈路信噪比。根據(jù)ηm,n的定義,進(jìn)一步地定義移動(dòng)設(shè)備m與基站n之間傳輸數(shù)據(jù)的上行速率為
(3)
在服務(wù)緩存的情況下必須要強(qiáng)調(diào)的是,基站n的有限存儲(chǔ)空間Cn迫使基站必須做出選擇,即基站需要選擇哪些服務(wù)進(jìn)行緩存[21]。具體地說(shuō),基站n需要在服務(wù)S中選擇若干個(gè)服務(wù)進(jìn)行緩存。為此,引入一個(gè)二進(jìn)制變量φs,n∈{1,0},用來(lái)表示服務(wù)s是否被緩存在基站n中。因此,服務(wù)緩存的約束條件服從下式
(4)
進(jìn)一步地,將φs,n?N表示緩存服務(wù)S的基站集合,所以這些基站可以向移動(dòng)設(shè)備提供相應(yīng)的服務(wù)。
(1)本地計(jì)算
(5)
(2)邊緣計(jì)算
(6)
(7)
由于被基站n處理后的數(shù)據(jù)量大小與原先相比將變得非常小,所以忽略將處理后的數(shù)據(jù)發(fā)送回移動(dòng)設(shè)備m的下行鏈路傳輸延遲。綜上所述,將從移動(dòng)設(shè)備m中數(shù)據(jù)卸載到基站n的傳輸能量成本定義為
(8)
(3)云計(jì)算
(9)
與邊緣計(jì)算類(lèi)似,忽略基站與移動(dòng)設(shè)備之間的下行傳輸延遲。值得注意的是,計(jì)算過(guò)程的總能耗是十分復(fù)雜的,它還包括基站和云的計(jì)算成本。然而,由于考慮的問(wèn)題是關(guān)于移動(dòng)設(shè)備的電池續(xù)航能力,這意味著需要進(jìn)行最優(yōu)化的問(wèn)題僅需關(guān)注到移動(dòng)設(shè)備的能源成本。
根據(jù)以上所述,可以總結(jié)得出每個(gè)移動(dòng)設(shè)備的所有任務(wù)持續(xù)時(shí)間Tt和能量消耗Em分別如下
(10)
(11)
計(jì)算機(jī)卸載的主要作用就是將原有的計(jì)算工作轉(zhuǎn)至云計(jì)算或者其它邊緣計(jì)算中,然后再利用各種終端設(shè)備發(fā)送需求指令,待計(jì)算完成結(jié)束,最終的結(jié)果利用終端顯示出來(lái)。計(jì)算卸載應(yīng)用場(chǎng)景越來(lái)越多并且也逐漸引起了人們的重視。其具體的架構(gòu)如圖2所示。
圖2 計(jì)算卸載框架
從具體過(guò)程來(lái)看,計(jì)算卸載正式開(kāi)始前,終端設(shè)備必須對(duì)其要開(kāi)展的計(jì)算工作做出合理、科學(xué)的分配,一部分歸為本地進(jìn)行,另外一部分可以歸為節(jié)點(diǎn)進(jìn)行。其中前者就是指在設(shè)備中即可進(jìn)行操作。而后者則需要依賴于邊緣計(jì)算節(jié)點(diǎn)。另外,計(jì)算節(jié)點(diǎn)一旦接受相應(yīng)指令就要對(duì)資源進(jìn)行詳細(xì)的規(guī)劃,具體的工作任務(wù)會(huì)根據(jù)規(guī)劃進(jìn)行分配,假如節(jié)點(diǎn)不能實(shí)現(xiàn),那么就需要將其轉(zhuǎn)至云服務(wù)中心。計(jì)算節(jié)點(diǎn)根據(jù)規(guī)劃完成任務(wù)后還要將結(jié)果再次傳送至終端設(shè)備。
對(duì)卸載目標(biāo)進(jìn)行準(zhǔn)確的確定目的就是要快速的將計(jì)算任務(wù)進(jìn)行科學(xué)、合理的分配,具體來(lái)講卸載目標(biāo)涵蓋了如下3個(gè)部分。
(1)任務(wù)最優(yōu)分配。最優(yōu)分配通俗來(lái)講就是確定一個(gè)最為合理同時(shí)效率又最高的一種方法,使得整個(gè)計(jì)算過(guò)程的延時(shí)能夠達(dá)到最小,從而提升用戶的體驗(yàn)感。
(2)節(jié)點(diǎn)負(fù)載均衡。邊緣計(jì)算平臺(tái)一般包括很多個(gè)計(jì)算節(jié)點(diǎn),而這些節(jié)點(diǎn)必須利用足夠數(shù)量的計(jì)算機(jī),當(dāng)其數(shù)量達(dá)到一定程度后,每個(gè)節(jié)點(diǎn)的負(fù)載如何保證最佳也是卸載目標(biāo)要實(shí)現(xiàn)的,這樣才能夠?qū)⒂行У馁Y源充分調(diào)動(dòng)起來(lái)。
(3)經(jīng)濟(jì)利益最大化。計(jì)算卸載任務(wù)同樣要考慮到所需要的成本以及能夠?qū)崿F(xiàn)的經(jīng)濟(jì)效益,尤其是在數(shù)據(jù)爆炸的今天,對(duì)于設(shè)備數(shù)量需求只會(huì)越來(lái)越高,所以卸載目標(biāo)必須考慮經(jīng)濟(jì)效益的問(wèn)題,平衡使用者與運(yùn)營(yíng)公司二者之間的利益。
這里假定本地執(zhí)行的與卸載至邊緣計(jì)算平臺(tái)進(jìn)行的任務(wù)都已經(jīng)明確,通常情況下用Qm表示總?cè)蝿?wù),那么卸載后的任務(wù)就能夠通過(guò)?i進(jìn)行表示,這里需要注意的是?i屬于二進(jìn)制,其中?i∈{0,1}。當(dāng)?i=0時(shí),表示計(jì)算任務(wù)Qm在本地執(zhí)行計(jì)算;當(dāng)?i=1時(shí),表示計(jì)算任務(wù)Qm需要卸載到邊緣計(jì)算或云計(jì)算服務(wù)器去執(zhí)行。如此,就能夠知道任何一個(gè)Q都將會(huì)對(duì)應(yīng)著一個(gè)?,并且?屬于通過(guò)(0,1)形成的二進(jìn)制向量,這個(gè)向量維數(shù)可以用N表示。
利用蠻力搜索就能夠進(jìn)一步求出?的最優(yōu)值所在的時(shí)間復(fù)雜度為O(2N),基于此就能夠再利用BPSO算法進(jìn)一步求出最終的解。
為了判斷粒子是否是最優(yōu)的,需要通過(guò)目標(biāo)函數(shù)進(jìn)行計(jì)算,其中目標(biāo)函數(shù)為系統(tǒng)整體負(fù)載φ
φ=γ1Tt+γ2Em
(12)
式中:γ1,γ2分別表示在卸載決策時(shí)計(jì)算任務(wù)延遲和能耗的權(quán)重。
(13)
(14)
其中,k代表的是具體的迭代次數(shù),ω、g1以及g2代表的是不同的參數(shù),通常情況下它們都為常數(shù);rand()命令用來(lái)獲得隨機(jī)數(shù),具體的范圍是[0,1]。利用上面的這個(gè)計(jì)算公式能夠?qū)θ苛W拥木唧w位置以及其相應(yīng)的速度進(jìn)行不斷的迭代更新,然后對(duì)得到的數(shù)值取最優(yōu)。
但是因?yàn)锽PSO算法本身就決定了所有粒子得出的位置值都會(huì)在{0,1}范圍內(nèi),所以還需要通過(guò)Sigmoid函數(shù)將其對(duì)應(yīng)的速度重新進(jìn)行映射至迭代更新之后的位置。具體如下
(15)
式中:wij∈[0,1]表示在[0,1]區(qū)間內(nèi)均勻分布的隨機(jī)數(shù)。
根據(jù)以上分析,利用BPSO的任務(wù)卸載具體過(guò)程如圖3所示。
圖3 基于BPSO的任務(wù)卸載流程
利用不同粒子的具體位置就能夠進(jìn)一步獲取本地執(zhí)行以及通過(guò)邊緣計(jì)算執(zhí)行兩部分的具體的任務(wù),這里用T1與T2分別表示。這樣就可以得到相應(yīng)的調(diào)度策略并從中擇取最佳的一種方案?;谠摲桨缚梢杂?jì)算出延遲時(shí)間以及相應(yīng)的能耗,同時(shí)能夠計(jì)算出粒子的具體位置。通過(guò)不斷迭代就可以最終獲得最優(yōu)解。
通過(guò)MATLAB仿真平臺(tái)對(duì)所提任務(wù)卸載策略性能進(jìn)行評(píng)估。在移動(dòng)邊緣計(jì)算網(wǎng)絡(luò)模型中,移動(dòng)設(shè)備數(shù)量為200個(gè),基站數(shù)量為50個(gè),云計(jì)算服務(wù)器為1個(gè)。相關(guān)的實(shí)驗(yàn)參數(shù)設(shè)置見(jiàn)表1。需要強(qiáng)調(diào)的是,在仿真實(shí)驗(yàn)中,邊緣節(jié)點(diǎn)的設(shè)置相對(duì)更靠近于設(shè)備,而云服務(wù)器則遠(yuǎn)得多。
表1 仿真實(shí)驗(yàn)參數(shù)設(shè)置
為了分析BPSO算法中參數(shù)wij對(duì)任務(wù)卸載策略能量消耗的影響,通過(guò)改變參數(shù)值比較能量的消耗情況,具體結(jié)果如圖4所示。這里做理想假設(shè)所有終端設(shè)備計(jì)算任務(wù)基本一致,且外部環(huán)境一致,僅僅改變wij的數(shù)值,實(shí)驗(yàn)中選取了3個(gè)不同的wij值對(duì)能量消耗曲線收斂的影響進(jìn)行分析。
圖4 參數(shù)wij對(duì)收斂性的影響
從圖4中可以看出,當(dāng)wij的值較小時(shí),能量消耗曲線的收斂速度最快。因此,應(yīng)當(dāng)在合理的范圍內(nèi)選擇相對(duì)較小的wij,以獲得更好的收斂性能。
在所提任務(wù)卸載策略中,系統(tǒng)參數(shù)都會(huì)影響其性能和收斂性,例如基站總帶寬、計(jì)算速率和傳輸速率的變化、移動(dòng)設(shè)備和基站的數(shù)目等。為了對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,篩選了若干個(gè)具有代表性的參數(shù),其中基站數(shù)量對(duì)所提策略能耗的影響如圖5所示。
圖5 基站數(shù)量對(duì)所提策略能耗的影響
從圖5中可以看出,在迭代開(kāi)始之時(shí)的能量消耗遠(yuǎn)遠(yuǎn)高于在最終取得最優(yōu)結(jié)果時(shí)的能耗。隨著迭代的不斷進(jìn)行,在迭代次數(shù)為20左右之前,能量消耗一直急劇下降,而超過(guò)20次迭代之后,其能量消耗變化并不明顯。經(jīng)過(guò)大約40次迭代后,曲線實(shí)現(xiàn)近似的收斂,此時(shí)如果算法不要求更高的精度,那么收斂值就可作為卸載選擇的最優(yōu)解。需要注意的是,曲線上方的n=0直線表示計(jì)算任務(wù)只能在本地處理,在一定范圍內(nèi),能量消耗隨著基站數(shù)量的增加而減少?;驹蕉啵瓿捎?jì)算任務(wù)卸載的能力越強(qiáng),因此能量消耗隨之減少。
此外,當(dāng)結(jié)果接近收斂時(shí),基站的數(shù)量對(duì)平均迭代次數(shù)的影響如圖6所示。
圖6 基站數(shù)量對(duì)平均迭代次數(shù)的影響
從圖6中可以看出,當(dāng)基站的數(shù)量越大時(shí),卸載策略需要花費(fèi)更多的時(shí)間和進(jìn)行更多次迭代才能實(shí)現(xiàn)收斂。另外,將所提策略與文獻(xiàn)[10]進(jìn)行對(duì)比,由于文獻(xiàn)[10]采用具有差分隱私的交替方向乘子算法,其收斂需要更多次迭代,且迭代過(guò)程受到高斯噪聲的影響。而所提策略基于BPSO算法,尋優(yōu)能力更強(qiáng),因此能夠以最少的迭代次數(shù)實(shí)現(xiàn)收斂。
信道帶寬的變化對(duì)所提策略能量損耗的影響如圖7所示。
圖7 信道帶寬變化對(duì)能量消耗的影響
從圖7中可以看出,總帶寬越大,能量消耗越低,并且隨著帶寬的增加,當(dāng)帶寬還處于一個(gè)較低水平時(shí)(如6 MHz),能量消耗迅速降低;當(dāng)帶寬已經(jīng)到達(dá)一個(gè)很高的水平時(shí)(如15 MHz),能量消耗會(huì)緩慢降低。即較高的帶寬會(huì)導(dǎo)致較低的傳輸延遲,而這就意味著處理每一位數(shù)據(jù)時(shí)的能量消耗較小。此外,邊緣節(jié)點(diǎn)和移動(dòng)設(shè)備之間的傳輸延遲遠(yuǎn)小于邊緣節(jié)點(diǎn)和云服務(wù)器之間的傳輸延遲,因?yàn)榛窘ㄔ鞎r(shí)十分接近移動(dòng)設(shè)備,而云服務(wù)器卻離移動(dòng)設(shè)備更遠(yuǎn)。因此,與卸載到云服務(wù)器相比,帶寬的變化對(duì)卸載到基站這種方式的影響更小。
不同任務(wù)數(shù)據(jù)量大小對(duì)能量消耗的影響如圖8所示。
圖8 任務(wù)數(shù)據(jù)量大小與能耗的關(guān)系
從圖8中可以看出,隨著任務(wù)數(shù)據(jù)量的增加,能量消耗也隨之增加,但是并不是線性變化。這是因?yàn)橛?jì)算延遲或能量消耗遠(yuǎn)小于傳播時(shí)的延遲與能量消耗,而且任務(wù)數(shù)據(jù)量的大小對(duì)傳播時(shí)的能量消耗的影響也相對(duì)較小。在這種情況下,隨著任務(wù)數(shù)據(jù)量的增加,總體的能量消耗會(huì)在一定范圍內(nèi)以逐漸減小的速度上升。
為了論證所提任務(wù)卸載策略的性能,將其與文獻(xiàn)[10]、文獻(xiàn)[13]、文獻(xiàn)[17]中策略的能量開(kāi)銷(xiāo)進(jìn)行對(duì)比分析,結(jié)果如圖9所示。
圖9 不同任務(wù)卸載策略的能量消耗情況
從圖9中可以看出,隨著移動(dòng)用戶數(shù)量的增加,文獻(xiàn)[17]策略的能量開(kāi)銷(xiāo)略微高于所提任務(wù)卸載策略的能量開(kāi)銷(xiāo),導(dǎo)致這一現(xiàn)象的原因在于該最優(yōu)解的獲取與迭代次數(shù)有著直接關(guān)系,如果迭代次數(shù)有限那么最終的結(jié)果僅僅就是一個(gè)局部最優(yōu)的結(jié)果。利用BPSO則很好地解決了這一問(wèn)題。因此相比于其它3種策略,其能耗最低。同時(shí),文獻(xiàn)[13]中通過(guò)深入分析發(fā)現(xiàn)本地計(jì)算所需要的能量遠(yuǎn)遠(yuǎn)超過(guò)了卸載方案,同時(shí)當(dāng)終端設(shè)備數(shù)量不斷上升時(shí)本地計(jì)算所需能量的增加也不是非線性的。在該文獻(xiàn)中所選擇的卸載方案對(duì)能量?jī)?yōu)化效果遠(yuǎn)遠(yuǎn)低于文中所提到的其它方案,導(dǎo)致這一問(wèn)題的根源在于隨機(jī)選擇接入的條件下,如果同時(shí)接入基站的終端設(shè)備數(shù)量陡然增加,那么必然會(huì)造成同一個(gè)信道被多個(gè)設(shè)備使用,這樣就使得前向以及后向鏈路都受到一定的作用從而降低了傳輸速度,這樣能量損耗自然會(huì)有所上升。
此外,在不同移動(dòng)設(shè)備數(shù)量的情況下,所提任務(wù)卸載策略與文獻(xiàn)[10]、文獻(xiàn)[13]、文獻(xiàn)[17]中策略的系統(tǒng)整體負(fù)載對(duì)比情況如圖10所示。
圖10 不同任務(wù)卸載策略的系統(tǒng)平均整體負(fù)載情況
從圖10中可以看出,文獻(xiàn)[10]中采用本地執(zhí)行方案,其具有最大的系統(tǒng)整體負(fù)載,在其余各個(gè)卸載策略中,其它方案都有效減少了系統(tǒng)的載荷,這也就意味著當(dāng)任務(wù)卸載至邊緣計(jì)算中后,用戶可以得到更好的服務(wù)體驗(yàn)。所提策略的系統(tǒng)整體負(fù)載最低,比文獻(xiàn)[10]策略相比,平均降低67.5%的系統(tǒng)負(fù)載,性能提升效果很明顯。文獻(xiàn)[13]采用隨機(jī)卸載方案,其系統(tǒng)整體負(fù)載也較大,由于其隨機(jī)地將任務(wù)卸載到邊緣計(jì)算或者云計(jì)算服務(wù)器上,忽略了不同用戶之間會(huì)有一定的干擾,所以有時(shí)卸載并未顯著提高性能。與這兩個(gè)文獻(xiàn)不同的是文獻(xiàn)[17]策略的系統(tǒng)整體負(fù)載明顯降低,但仍高于所提策略,由于其忽略了在 MEC 服務(wù)器中的等待延遲。
隨著移動(dòng)互聯(lián)網(wǎng)的快速崛起,各種終端設(shè)備被研發(fā)出來(lái)并且走入了人們的生活,但終端自身資源有限,無(wú)法滿足部分應(yīng)用對(duì)計(jì)算性能的需求,為此,充分挖掘邊緣計(jì)算的潛力,尤其是對(duì)于技術(shù)上已經(jīng)相對(duì)比較成熟的云計(jì)算如果能夠?qū)⑵溥\(yùn)用至接入網(wǎng)絡(luò)邊緣,將會(huì)更大提升用戶的體驗(yàn)感,本文提出了一種移動(dòng)邊緣計(jì)算中利用BPSO的任務(wù)卸載策略。基于構(gòu)建的三層移動(dòng)邊緣計(jì)算(MEC)網(wǎng)絡(luò)架構(gòu),并根據(jù)網(wǎng)絡(luò)的計(jì)算模型、通信模型設(shè)計(jì)計(jì)算卸載優(yōu)化目標(biāo),利用BPSO算法進(jìn)行求解,以得到最優(yōu)卸載策略,滿足能量消耗小、時(shí)延低且整體負(fù)載均衡的需求。此外,基于MATLAB仿真平臺(tái)對(duì)所提任務(wù)卸載策略的性能進(jìn)行實(shí)驗(yàn)論證,結(jié)果表明,所提策略能夠?qū)崿F(xiàn)能量消耗曲線的快速收斂,基站數(shù)量越多、信道帶寬越大,系統(tǒng)能量損耗越小,但移動(dòng)設(shè)備越多,能耗越大。
本文提出的方案對(duì)于MEC節(jié)點(diǎn)計(jì)算具有顯著效果,但是該方案首先要假定所有的CPU能耗均屬于線性,也就意味著當(dāng)占用率提高時(shí)該值并不會(huì)明顯提升,這與現(xiàn)實(shí)情況有一定的差異。為了解決這一問(wèn)題還要對(duì)CPU能耗開(kāi)展深入研究并建立相應(yīng)的數(shù)學(xué)模型,這將是下一步的研究重點(diǎn)。