杜利俊,李陶深,2**,黃翊芯,漆治君
(1.廣西大學計算機與電子信息學院,廣西南寧 530004;2.南寧學院,中國-東盟綜合交通國際聯合實驗室,廣西南寧 530200)
在傳統的蜂窩網絡中,隨著計算密集型移動應用的激增,用戶的服務請求隨之增加。為了有效滿足移動互聯網、物聯網高速發展所需的高回傳帶寬、低能耗的要求,業界提出了移動邊緣計算(Mobile Edge Computation,MEC)技術[1]。MEC技術的特點是將遠端云的網絡資源下沉至網絡邊緣,使用戶可以近距離地使用邊緣節點的網絡資源。在一些應用場景(如增強/虛擬現實、動態內容交付、物聯網、車聯網等)中,人們在蜂窩網絡邊緣部署MEC服務器,將移動設備中的計算任務卸載到MEC服務器上進行存儲、計算,從而解決移動設備在資源存儲、計算性能以及能效等方面的不足。任務卸載作為MEC中關鍵技術之一,可以將資源受限的移動設備部分或者全部任務交給云計算環境處理,從而降低能耗,提高任務執行效率。
目前,MEC任務卸載重點研究3種卸載決策:本地執行、完全卸載和部分卸載。其中,本地執行是移動設備在本地執行任務,需要消耗設備本身資源和能量;完全卸載即二進制卸載則是將任務全部卸載到資源充足的服務器或移動設備上;部分卸載是按照一定的策略將一部分任務卸載到服務器執行,一部分則在本地執行。已有研究提出以降低能量消耗為目標的卸載策略[2-5]。You等[2,3]考慮了由多個用戶組成的MEC卸載系統的資源分配問題,并進一步研究了基于時分多址(Time Division Multiple Access,TDMA)和正交頻分多址(Orthogonal Frequency Division Multiple Access,OFDMA)的多用戶MEC卸載系統的資源分配問題,采用優先級與閾值相比較的方法決定卸載策略。Ali等[4]基于深度學習的智能決策算法,提出了一種新穎的、基于高效節能深度學習的卸載方案。薛建彬等[5]針對一對多的廣播系統任務分配問題,設計了一種基于拉格朗日乘子法的任務分配優化算法,對用戶本身和不同參數的接入點進行合理的任務分配,以聯合優化任務分配和執行時延,實現系統開銷最小化。
MEC任務卸載使得任務執行性能增強,但是當多個移動用戶設備同一時刻卸載任務到服務器時,MEC服務器上可能會發生資源爭用的問題;同時,當移動設備遠離基站時,設備自身資源不足,任務也不能卸載到基站。設備間(Device to Device,D2D)通信技術被認為是應對上述問題有效的技術。D2D通信技術是指通信網絡中鄰近設備之間直接交換信息的技術,可以降低通信系統中核心網絡的數據壓力,提高頻譜效率和吞吐量。近年來,D2D通信技術和MEC技術的結合應用在提高蜂窩網絡頻譜效率和能源效率方面得到了廣泛的研究。Chai等[6]研究了一個蜂窩-D2D-MEC系統任務執行代價最小化問題,提出一個聯合任務管理體系來實現高效的信息交互和任務管理??紤]利用鄰近策略來支持高速移動計算和高速數據通信,He等[7]結合MEC和D2D通信技術來提高蜂窩網絡的計算能力,最大限度地提高支持設備任務執行的數量。Kai等[8]研究了D2D通信輔助MEC網絡中計算聯合資源管理問題,通過D2D通信顯著增加了MEC網絡中執行的任務數,且大大降低了每個執行任務的能耗。上述研究專注于移動設備的能效,并未考慮利用無線攜能通信(Simultaneous Wireless Information and Power Transfer,SWIPT)技術同時給移動設備傳輸信息和提供能量的特點,從而在滿足移動設備所需能源供應的同時提高實時計算能力。
由于移動設備電池容量有限,在沒有電源的情況下移動設備無法長時間工作。傳統的移動設備由普通的電池供電,在使用中需要頻繁更換電池或充電,使得這些設備在無線通信過程中常常發生任務處理中斷,一方面給設備通信帶來不必要的麻煩,另一方面會產生昂貴的電池更換成本,給環境帶來巨大的污染?;谏漕l(Radio Frequency,RF)信號的SWIPT技術可以對RF信號進行能量收集(Energy Harvesting,EH),具有更高的可控性和穩定性[9]。基于SWIPT技術的EH設備有兩種接收機模式,即時間切換(Time Switching,TS)和功率分流(Power Splitting,PS)[10]。TS模式下的EH和信息解碼(Information Decoding,ID)處于不同時隙;PS模式則將接收到的信號分成不同功率信號,同時進行EH和ID。這兩種接收模式使SWIPT技術能夠應用于各種MEC網絡,克服網絡中移動用戶的電池性能瓶頸。目前已有將SWIPT技術應用到MEC系統中的研究,Wen等[11]提出了一個基于多輸入多輸出(Multiple Input Multiple Output,MIMO)全雙工中繼的SWIPT-MEC系統,在保證移動用戶能量充足的情況下降低系統總能耗。與之不同的是,Chen等[12]提出的框架中沒有中繼節點,將資源分配作為一個聯合的非線性優化問題,以期達到最小化系統總能耗的目標。Fu等[13,14]針對車聯網和衛星物聯網兩個場景,模擬單個部署有MEC服務器的基站與多個用戶之間的無線通信過程,其中車聯網場景的研究目標是最小化設備的能耗,而衛星物聯網場景則是最大化終端的上行傳輸速率。上述研究主要考慮將任務卸載到MEC服務器,然而,隨著應用場景的不斷豐富,在最大可容忍時延約束下MEC服務器的計算資源將無法滿足大量的計算需求。
目前將MEC技術和SWIPT技術結合,可在一定范圍內實現通信網絡系統的增益,解決通信系統中移動用戶計算能力不足以及無線資源缺乏問題,提高系統的計算能力和續航能力??紤]到大量計算密集型任務卸載到MEC服務器可能會發生資源爭用,可以借助D2D通信將任務卸載給鄰近設備,從而緩解MEC服務器的計算壓力。本文構建一個基于SWIPT的多用戶D2D通信輔助的MEC系統模型,采用SWIPT技術將基站的RF信號傳輸給移動用戶,移動用戶均配置PS接收機對接收的RF信號進行信息解碼和能量收集;同時,提出一種D2D-MEC聯合任務卸載策略,該策略采用二進制卸載模式,移動用戶可以選擇本地執行、MEC卸載和D2D卸載3種策略中的任意1種,擬通過聯合優化功率分配和任務卸載問題,實現請求用戶總能耗最小化的目標。


圖1 基于SWIPT的多用戶D2D通信輔助的MEC系統
系統中每個請求用戶RUi(i=1,2,…,N)既可以與基站建立蜂窩鏈路,也可以與一個且僅一個鄰近的服務用戶SUj(j=1,2,…,M)建立D2D通信鏈路。RUs既可以通過蜂窩鏈路將計算任務卸載到MEC服務器,也可以通過D2D通信鏈路將計算任務卸載到某些性能相對較高且空閑的SUs上,SUs為鄰近的請求用戶提供D2D卸載服務??偟膩碚f,RUi可以在3種模式下執行任務,即本地執行、MEC卸載、D2D卸載,不能接收其他用戶的任務進行求解。為了保證執行任務的安全性,假設RUi的任務不可拆分,每個任務只能選擇一種計算模式執行。由于MEC服務器的計算資源豐富,任務優先選擇MEC卸載模式,只有當MEC服務器在最大可容忍時延內執行的任務達到上限時,再考慮選擇D2D卸載模式;當所有服務用戶都被占用時,最后考慮在本地執行。
BS配有多輸入多輸出天線、強大的計算芯片和充電設備[15]。在該系統中,為了最大限度地擴大蜂窩網絡待執行計算密集型任務的設備范圍,它需要在最大可容忍時延下處理RUs上傳的所有計算任務,然后通過子信道返回計算結果和能量。
為了保證系統中每個移動用戶(Mobile Users,MUs)不會因能量不足而造成任務執行中斷,假設每個MU都配備了一個PS接收機,PS接收機將基站傳輸的射頻信號按照一定的比率分成兩個不同的功率流,接收信號的ρ部分用于能量收集,(1-ρ)部分用于信息解碼[16],功率分流架構如圖2所示。為了保證終端的功率不被消耗,本文采用下行最大功率向終端傳輸能量。

圖2 SWIPT中的功率分流架構
MUk(k=1,2,…,N+M)接收到的最大能量[6]可以表示為
(1)

為了降低請求用戶總能耗,RUi可以采取3種任務執行模式中的任意1種,任務執行模型如圖3所示。

圖3 任務執行模型
1.2.1 本地執行

(2)
式(2)中,Di表示完成任務所需的計算資源量,Fi表示RUi的計算能力(1≤i≤N)。本文中,RUi、SUj和MEC服務器的計算能力被定義為設備或服務器的CPU運行頻率。
RUi本地執行任務消耗的能量為[13]
(3)
式(3)中,κ表示與設備的CPU性能相關的有效開關電容。
1.2.2 MEC卸載執行
在MEC卸載模式下執行任務,完成任務的總時間包括任務上傳時延、MEC服務器中任務執行時延以及基站將計算結果回傳給RUi的時延。

(4)

(5)

(6)

(7)
式(7)中,θi∈[0,1],表示任務卸載到MEC服務器時分配給RUi的計算能力系數,Fmec為MEC服務器的計算能力。
RUi在MEC卸載模式下的傳輸能耗可以用上行傳輸功率與輸入數據的大小的乘積與數據傳輸速率之比表示:
(8)
本文假設RUi自身由于信號處理而產生的能量消耗可以忽略,這里只研究RUi將其任務傳輸到MEC服務器而產生的能量消耗。
1.2.3 D2D卸載執行

(9)
(10)
(11)
(12)
RUi上傳任務到SUj的傳輸能耗為
(13)
SUj執行RUi上傳任務所消耗的能量為
(14)
在上述系統模型的基礎上,本文提出一種具有一系列必要約束條件的聯合優化功率分配和任務卸載的請求用戶總能耗最小化問題。
為了解決聯合優化功率分配和任務卸載問題,使得請求用戶總能耗最小,需要考慮一系列優化約束條件。

(15)
受傳輸和計算資源的限制,本文假設一個請求用戶只能向一個服務用戶發送D2D卸載服務,即
(16)

(17)
(18)
(19)
為了提高用戶的續航能力,所有移動用戶通過SWIPT技術收集的能量必須大于其自身消耗的能量[18],具體約束表示為
(20)
(21)
在最大可容忍時延內所有RUs同時進行計算,系統總時延不超過Tmax,即
(22)
本文的目標是在最大可容忍時延內,確保全部請求用戶的計算任務能夠成功計算的情況下,最小化請求用戶總能耗。每個RU的能耗可能包括本地執行能耗、MEC卸載傳輸能耗、D2D卸載傳輸能耗。為了求解該數學問題,通過數學表達式得到目標函數Etotal為
(23)
根據上述目標函數和優化約束條件,基于請求用戶能耗最小化的聯合任務卸載和功率分配優化問題可以表述為
(24)
針對優化問題P1,本文求解的思路如下:首先根據整數變量和實數變量將原問題解耦為兩個子問題,即功率分配子問題和任務卸載子問題,然后再分別求解。
2.3.1 求解功率分配子問題

(25)
上述問題是一個非線性分數規劃問題,是非凸的,同樣很難直接獲得最優解。本文利用典型的Dinkelbach方法[17]對非線性分數規劃問題進行求解,提出最優的功率分配方案。為了方便后文分析,記為
(26)
(27)
令F(pmec,μ)=f(pmec)-μg(pmec),其中μ為一個正的參數因子,pmec為總傳輸功率?;趦灮瘑栴}P2.1a,形成一個新的優化問題:
(28)
根據Ghazi等[19]給定的定理,通過實現F(μ)=0,可以證明優化目標P2.1a可以等價于P2.1a*。f(pmec),g(pmec)是連續函數和實值函數,且g(pmec)通常大于0;pmec∈S,其中S是優化問題P2.1a和P2.1a*中參數pmec的定義域。下面給出使用Dinkelbach方法的具體過程。
基于Dinkelbach方法求解功率分配子問題的算法步驟如下。


步驟2:決定
μig(pmec)}}。

(29)
其中lb表示以2為底的對數。
子問題P2.1a*的最優解決方案能夠通過解決如下非約束的最小值問題來估計:
minΨv(pmec)=-vF(pmec,μ)+φ(pmec),
(30)

(31)

2.3.2 求解任務卸載子問題
(32)
鑒于任務的不可拆分性,任務只能選擇3種卸載模式中的1種。為了減少RUs的能耗,優先考慮卸載計算。注意這里一個服務用戶只能與一個請求用戶建立D2D通信鏈接進行卸載計算。式(32)中的優化問題就可以變成二部圖中的一對一匹配問題,可以用匈牙利算法[21]求解。
為了解決問題P2.2,本文將優化問題P2.1(包含P2.1a和P2.1b兩個子問題)映射為一個完全加權二部圖G0=(V1,V2,E,W),V1和V2表示頂點集合,其中V1表示由還未確定卸載模式的剩余RUs組成的集合,V2表示由各種任務卸載模式組成的集合。E={e(v1,v2)}表示V1中的一個頂點v1到V2中的一個頂點v2之間邊的集合,W={w(v1,v2)}表示邊e(v1,v2)∈E的權重,即給定不同卸載模式下RUs能量消耗的最小值。
基于匈牙利算法求解任務卸載子問題的算法步驟如下。
步驟1:找到一個初始可行頂點標記為l(v1)。

步驟3:如果H是最優匹配,則求解式(32)中的優化問題;否則,在Gl0中選擇H未被分配的標簽。令P=V1,T=ψ,ψ表示空集。

(33)
步驟5:用l′(v1)替換l(v1),返回步驟2。
能耗最小化任務卸載算法的具體過程描述如下:
算法1能耗最小化任務卸載算法
輸入:Wb,Wd,σ2

Etotal,*
3. 將P1轉化為P2.1a;
4. 根據Dinkelbach方法,將P2.1a轉化為
P2.1a*;

7. 將P1轉化為P2.1b;

9.end if



設置3個基準策略與本文所提策略進行對比實驗,即本地執行、MEC卸載策略和D2D卸載策略(圖中簡稱MEC卸載和D2D卸載)。MEC卸載策略表示任務執行僅依靠本地執行和MEC卸載模式執行;D2D卸載策略表示任務執行僅依靠本地執行和D2D卸載模式執行;而本文所提策略則是本地執行、MEC卸載、D2D卸載3種模式聯合執行。分別給出不同的請求用戶數量、噪聲功率、BS的信道帶寬等,觀察本文策略以及3個基準策略RUs總能耗的變化情況,分析本文所提出的任務卸載策略的性能及有效性。
第一個實驗是觀察不同的請求用戶數量N對RUs總能耗的影響,實驗結果如圖4所示。在該仿真中,考慮服務用戶數量M分別為4、6、8的情況。從圖4可以看出,隨著RUs數量N的增多,所有卸載策略RUs的總能耗也隨之增加。當N≤10時,本文提出的策略與MEC卸載策略中RUs的總能耗保持不變,且耗能很少,這是因為本文假設MEC服務器只能同一時刻執行10個移動用戶的任務,當RUs不大于10時,這兩個策略都是將任務卸載到MEC服務器上執行。當N>10時,本文策略由于可以將任務卸載到鄰近的服務用戶SUs執行,所以RUs的總能耗增長緩慢,且總能耗均低于其他2個基準策略。針對不同的SUs數量M,從本文策略與D2D卸載策略RUs的總能耗變化趨勢來看,SUs的數量越多,RUs的總能耗越低,當RUs的數量高于SUs時,總能耗按照相同的斜率增長??偟膩碚f,將任務全部卸載到MEC服務器的策略的執行優于全部進行D2D卸載的策略,而本文策略的性能優于MEC卸載策略和D2D卸載策略。

圖4 不同SUs數量M下RUs的數量N與RUs總能耗的關系


圖5 不同σ2下輸入數據大小與RUs總能耗的關系

圖6 不同Wb下輸入數據大小與RUs總能耗的關系
圖7給出了本地執行、MEC卸載、D2D卸載和本文所提策略等4種策略在不同RUs所需的CPU周期數下RUs的總能耗,該實驗中設置RUs=20,SUs=5。從圖7可以看出,隨著請求用戶RUs的CPU周期數的增大,消耗的總能量也隨之增大。本文所提策略的RUs總能耗明顯低于其他3個基準策略,這表明本文所提策略能夠較好地提高系統性能。這是因為本文所提策略優先選擇MEC卸載,當MEC服務器中資源競爭加劇時,又考慮D2D卸載,可合理利用附近空閑的設備。從圖7還可以看出,MEC卸載和D2D卸載的RUs總能耗要低于本地執行的能量消耗,這得益于MEC服務器和服務用戶的高效資源利用。MEC卸載策略比D2D卸載策略消耗的能量更加少,主要是MEC服務器為移動設備任務的執行提供更多可用的資源和能量,而D2D卸載雖然在一定程度上能夠減少本地資源的使用,但是資源還是不如MEC服務器充足。

圖7 不同RUs所需的CPU周期數下的RUs總能耗
圖8給出了在不同的D2D鏈路帶寬Wd下隨著BS的帶寬Wb增大對RUs總能耗的影響結果。如圖8所示,隨著Wb的增大,請求用戶消耗的總能量隨之降低;隨著D2D鏈路帶寬Wd的增大,請求用戶消耗的總能量隨之減小,是因為Wd與D2D數據傳輸速率Rd2d有關,且呈正比關系。當請求用戶傳輸任務到服務用戶時,數據傳輸速率越大,能量消耗越小。從實驗結果來看,本文所提策略整體優于MEC卸載策略,這是由于本文所提策略比MEC卸載策略多了一種D2D卸載方式,請求用戶可以考慮優先將任務卸載到鄰近的空閑設備。

圖8 不同Wd下BS的帶寬與RUs總能耗的關系
綜合以上實驗結果可知,針對由SWIPT技術供電后移動用戶功率分配和任務卸載問題,本文所提策略是在MEC卸載策略的基礎上聯合D2D卸載策略,使得MEC資源爭用問題得以解決,也避免了本地計算資源不足的問題,保證了移動用戶的任務執行過程不會產生中斷,避免對計算結果造成影響。因此,本文策略優于其他幾種對比策略。
本文在保證通信服務質量的條件下,構建了一個基于SWIPT的多用戶D2D通信輔助的MEC系統模型,并基于該模型分別建立能量收集和任務執行兩個數學模型;考慮任務卸載和功率分配對目標函數和約束條件的影響,建立了一個非線性混合整數規劃問題模型,提出了一種基于SWIPT的多用戶D2D通信輔助MEC任務卸載策略。該策略以請求用戶總能耗最小為目標,通過數學變化將原非線性混合整數規劃問題轉換為任務卸載和功率分配兩個子問題:首先,利用Dinkelbach方法將目標函數轉換為非分式規劃問題,并用障礙函數法將目標子問題轉化為一系列不帶約束的最小化問題來求解功率分配子問題;然后,基于匈牙利算法將任務卸載子問題轉化為二部圖中的一對一匹配問題進行求解。仿真實驗結果表明,在相同的SWIPT技術為移動設備供電的情況下,本文所提策略在最小化系統請求用戶總能耗方面具有良好的性能。