龍隆,劉子辰,陸在旺,2,張玉成,2,李蕾,2
(1.中國科學院計算技術(shù)研究所,北京 100190;2.中國科學院大學計算技術(shù)研究所,北京 100049)
隨著移動通信與物聯(lián)網(wǎng)的高速發(fā)展,許多計算密集和時延敏感應(yīng)用(如無人駕駛、圖像識別以及自然語言處理等)產(chǎn)生,這類具有低時延高可靠特點的應(yīng)用對終端設(shè)備的計算能力提出較高要求[1]。由于計算能力有限的終端設(shè)備在處理這類應(yīng)用時將產(chǎn)生較高的任務(wù)時延,因此如何降低應(yīng)用處理時延是目前亟待解決的關(guān)鍵問題之一。移動云計算(MCC,mobile cloud computing)技術(shù)的出現(xiàn)很好地解決了終端計算能力受限的問題。MCC 的目標是將云端豐富的計算資源擴展至資源受限的終端設(shè)備,從而增強終端設(shè)備潛在的計算能力[2-4]。終端設(shè)備與云服務(wù)器間較遠的通信距離所產(chǎn)生的網(wǎng)絡(luò)時延使單純依靠MCC 無法滿足時延敏感型應(yīng)用程序的時延要求。為了克服以上問題,并對MCC 技術(shù)進行補充,移動邊緣計算(MEC,mobile edge computing)作為一種新的技術(shù)被提出[5-6]。移動邊緣計算主要由基站及其邊緣服務(wù)器組成。當終端設(shè)備執(zhí)行計算任務(wù)時,由基站與服務(wù)器組成的邊緣節(jié)點可以就近為這些終端提供計算、通信以及數(shù)據(jù)存儲等服務(wù),從而降低任務(wù)執(zhí)行時延、提高系統(tǒng)性能。目前,基于MEC 網(wǎng)絡(luò)的任務(wù)卸載和資源分配等問題已有相關(guān)研究。文獻[7-9]在不同應(yīng)用場景下以最大化能效為目標,對系統(tǒng)頻譜資源和功耗等進行聯(lián)合優(yōu)化。文獻[10-11]分別以最小化能耗、時延為目標,對計算與頻譜資源進行聯(lián)合優(yōu)化。然而在實際應(yīng)用中,邊緣服務(wù)器的計算資源與存儲資源是有限的,過多的計算請求必然為邊緣服務(wù)器帶來較高的計算與存儲壓力,進而影響系統(tǒng)性能。MCC 與MEC 融合網(wǎng)絡(luò)下的資源分配與卸載方案為解決以上問題提供了新的解決思路。在MCC 與MEC 融合的網(wǎng)絡(luò)架構(gòu)中,終端設(shè)備進行任務(wù)請求時,既可以在本地執(zhí)行,也可以在邊緣服務(wù)器或云端執(zhí)行。因此,該網(wǎng)絡(luò)架構(gòu)可以為終端提供更高效且更靈活的卸載服務(wù),從而滿足不同的服務(wù)需求。目前已有相關(guān)研究表明,在三級網(wǎng)絡(luò)架構(gòu)下通過卸載決策與資源分配聯(lián)合優(yōu)化的方式可以提升網(wǎng)絡(luò)性能[12-13]。在MEC 與MCC 融合的集中式網(wǎng)絡(luò)下,文獻[12]對卸載決策與資源進行聯(lián)合優(yōu)化,以降低所有終端的任務(wù)時延;文獻[13]以最大化系統(tǒng)收益為目標,對任務(wù)卸載與資源分配進行聯(lián)合優(yōu)化設(shè)計。
上述研究從不同方面解決任務(wù)卸載與資源分配聯(lián)合優(yōu)化問題,但是這些研究忽略了任務(wù)卸載與服務(wù)緩存耦合性對系統(tǒng)性能的影響。這里的服務(wù)緩存是指將與計算任務(wù)相關(guān)的數(shù)據(jù)庫、應(yīng)用程序、函數(shù)庫以及相關(guān)代碼等放在邊緣服務(wù)中,從而支持不同類型的應(yīng)用程序。從任務(wù)卸載角度可以將現(xiàn)有MEC 研究分為兩大類,即計算任務(wù)完全卸載與計算任務(wù)部分卸載。完全卸載模型適用于高度集成或相對簡單的任務(wù),如自然語言處理、導航等任務(wù),這些任務(wù)不能被分割,并且只能在移動設(shè)備上執(zhí)行或者作為一個整體由邊緣服務(wù)器執(zhí)行。部分卸載模型適用于可分割的任務(wù),如圖像識別、增強現(xiàn)實(AR,augmented reality)應(yīng)用等,這類應(yīng)用的任務(wù)可以被分割為多個子任務(wù)通過并行或串行的方式執(zhí)行。與完全卸載模型相比,基于部分卸載模型的資源分配更加合理,資源利用率也更高。目前,關(guān)于服務(wù)緩存與資源分配已有相關(guān)研究。文獻[14]以最小化供應(yīng)商成本為目標,提出了一種整數(shù)線性規(guī)劃和隨機搜索算法,對邊緣節(jié)點間的服務(wù)緩存資源進行優(yōu)化。文獻[15]以最小化服務(wù)緩存總成本為目標,對邊緣服務(wù)器的位置和用戶服務(wù)需求進行聯(lián)合優(yōu)化。文獻[16]以最小化時延與成本為目標,對邊緣服務(wù)器的內(nèi)容緩存進行協(xié)同優(yōu)化。盡管以上研究通過任務(wù)卸載與服務(wù)緩存優(yōu)化使系統(tǒng)性能得到提升,但都是基于任務(wù)不可分的情況進行的資源分配優(yōu)化,而對任務(wù)可分的情況不適用。
大多數(shù)復(fù)雜的應(yīng)用程序由多個不同的執(zhí)行組件組成,如執(zhí)行實時面部識別任務(wù)時需要將其分為4 個子任務(wù)分別處理,即人臉檢測、圖像處理與特征提取、人臉識別。這些子任務(wù)所需的計算資源、存儲資源以及帶寬資源各不相同。因此,如何基于部分任務(wù)卸載和服務(wù)緩存聯(lián)合優(yōu)化是目前亟待解決問題。文獻[17]通過構(gòu)建服務(wù)鏈模型,在存儲資源以及計算資源約束下以最小化網(wǎng)絡(luò)響應(yīng)時延為目標,通過開放馬爾可夫排隊網(wǎng)絡(luò)模型構(gòu)建邊緣節(jié)點服務(wù)調(diào)度模型,并對緩存決策與計算資源聯(lián)合優(yōu)化,但在任務(wù)卸載過程中忽略終端設(shè)備以及云服務(wù)器資源等可用資源。文獻[18]基于部分卸載模型,在計算資源約束下對服務(wù)緩存與任務(wù)卸載進行聯(lián)合優(yōu)化研究,但其假設(shè)帶寬資源均勻分配,導致計算數(shù)據(jù)量較大的任務(wù)得到較少的帶寬資源而產(chǎn)生較高時延,計算數(shù)據(jù)量較少的任務(wù)得到較多的帶寬資源造成資源浪費。另外,文獻[18]并未對邊緣節(jié)點的存儲空間進行約束,這意味著在該研究中邊緣服務(wù)端擁有無限大的存儲空間,可以緩存所有任務(wù)執(zhí)行所需的相關(guān)數(shù)據(jù),這在實際應(yīng)用場景下顯然不合理。
綜上所述,本文將在終端、邊緣服務(wù)以及云構(gòu)成的三層網(wǎng)絡(luò)架構(gòu)下,綜合考慮無線帶寬資源、計算資源以及存儲資源等因素。通過計算、通信、存儲融合的思想,以最小化所有終端設(shè)備的任務(wù)時延為目標,綜合考慮存儲資源、計算資源、卸載決策以及任務(wù)卸載比例等對任務(wù)時延的影響,提出一種服務(wù)緩存與資源分配的聯(lián)合優(yōu)化算法。具體創(chuàng)新點介紹如下。
1) 構(gòu)建了一個由多用戶、邊緣服務(wù)器以及云服務(wù)器組成的三層網(wǎng)絡(luò)架構(gòu),每個用戶的計算任務(wù)可以通過部分卸載的方式將任務(wù)分別卸載至本地、邊緣服務(wù)器或云服務(wù)器。引入了最小化終端任務(wù)時延模型,考慮了用戶計算資源、邊緣服務(wù)的計算資源、存儲資源以及帶寬資源等因素對時延的影響。
2) 提出了服務(wù)緩存與資源分配聯(lián)合(JSCRA,joint service caching and resource allocation)優(yōu)化策略。首先,將原問題的連續(xù)變量與離散變量進行解耦,變?yōu)? 個子問題,即服務(wù)緩存決策問題、計算資源與通信資源聯(lián)合優(yōu)化問題。其次,基于重構(gòu)線性化技術(shù)(RLT,reformulation linearization technique)、松弛以及凸優(yōu)化方法對2 個子問題進行交替迭代優(yōu)化。最后,獲得問題次優(yōu)解。
3) 仿真結(jié)果表明,與隨機緩存和資源分配(RCRA,random caching and resource allocation)策略相比,所提策略在收斂速度和性能表現(xiàn)上都有明顯優(yōu)勢,可以獲得更低的任務(wù)時延。
集中式移動邊緣網(wǎng)絡(luò)如圖1 所示。從圖1 可以看出,集中式移動邊緣網(wǎng)絡(luò)由云服務(wù)器、單一服務(wù)節(jié)點(由邊緣服務(wù)器與基站組成)以及L個具有計算與通信能力的終端組成。這里的終端泛指具有計算能力的終端設(shè)備,如手機、平板電腦、車輛等。終端個數(shù)表示為L={1,2,…,L},i∈L。云服務(wù)器與服務(wù)節(jié)點通過光纖進行有線連接,為終端提供穩(wěn)定的通信、計算以及存儲服務(wù)。這里的云服務(wù)器主要由云服務(wù)器集群組成,因此擁有豐富的計算資源與存儲資源。
圖1 集中式移動邊緣網(wǎng)絡(luò)
在圖1 所示場景中,服務(wù)節(jié)點不僅可以為終端提供通信、計算以及存儲資源,而且扮演著協(xié)調(diào)器的角色,即根據(jù)終端的任務(wù)請求提供存儲決策以及計算決策。這里假設(shè)邊緣服務(wù)器存儲計算服務(wù)的最大存儲容量為C,最大計算能力為F。計算服務(wù)數(shù)據(jù)主要由數(shù)據(jù)庫、數(shù)據(jù)字典以及相關(guān)的應(yīng)用代碼組成,其中每一種應(yīng)用代表一個類型的計算任務(wù)。此外,由于存儲是一個長期的過程,因此需要服務(wù)緩存進行定時更新。本文認為系統(tǒng)在離散的時間段中運行,每個時間段的持續(xù)時間與服務(wù)緩存和任務(wù)分配決策更新的時間尺度相匹配。本文對其中一個時間段進行研究,忽略其他時間段的索引[18]。在一個時間段的開始階段,每個終端隨機請求一個計算任務(wù),其中一類計算任務(wù)對應(yīng)一類計算服務(wù)。這里假設(shè)存在計算服務(wù)K={1,2,…,K},表示用戶i請求計算服務(wù)Ai相應(yīng)的任務(wù),Ai∈K,其中,表示終端i執(zhí)行服務(wù)Ai相關(guān)任務(wù)的輸入數(shù)據(jù)大小,si表示執(zhí)行1 bit 數(shù)據(jù)所需循環(huán)數(shù)。為了便于分析,本文做出如下合理假設(shè)。
1) 服務(wù)節(jié)點已知信道狀態(tài)信息(CSI,channel state information)、每個任務(wù)輸入數(shù)據(jù)的大小以及執(zhí)行任務(wù)所需的循環(huán)數(shù)?;谝陨霞僭O(shè),可以得到優(yōu)化的卸載決策以及資源分配[19]。
2)每種應(yīng)用的計算結(jié)果數(shù)據(jù)都遠小于計算輸入數(shù)據(jù),因此忽略計算結(jié)果的回程鏈路傳輸時延[20]。
本文采用正交頻分復(fù)用的方式將頻譜資源分配給終端設(shè)備,頻譜的總帶寬為B。由于每個終端設(shè)備將計算任務(wù)卸載至服務(wù)節(jié)點時會占用上行頻譜資源,因此終端i執(zhí)行服務(wù)Ai相關(guān)任務(wù)的上行傳輸速率可以表示為[12]
其中,為終端上傳數(shù)據(jù)所占上行帶寬百分比,Pi,s為終端的發(fā)送功率,hi,B為基站與終端間的信道衰落系數(shù),d為終端與基站的距離,r為路徑損耗,σ2為信道的噪聲功率。
若邊緣服務(wù)器存儲計算服務(wù),則意味著服務(wù)節(jié)點可以處理相關(guān)的計算任務(wù),否則將任務(wù)交由云服務(wù)器執(zhí)行。由于邊緣服務(wù)器的存儲空間有限,故無法滿足所有終端設(shè)備的計算請求,因此邊緣服務(wù)器需要對所緩存的服務(wù)數(shù)據(jù)進行決策。這里將服務(wù)端的存儲決策表示為,∈ { 0,1}且Ai∈K,i∈L;表示服務(wù)器是否緩存終端設(shè)備請求的Ai,xAi=1表示服務(wù)器緩存計算服務(wù)Ai,=0表示服務(wù)器沒有緩存相應(yīng)的計算服務(wù)Ai。每個服務(wù)Ai所需存儲大小為,而邊緣服務(wù)器緩存決策受到存儲容量的限制,即
任務(wù)部分卸載意味著計算任務(wù)可以分解成多個大小不同的子任務(wù)。本文將基于卸載模型(即向代碼分區(qū)的應(yīng)用,如圖像識別,這類應(yīng)用分為多個模塊,其中一個模塊的輸出結(jié)果為下一個模塊的輸入)進行研究,接下來本文將在部分卸載模型下,對任務(wù)執(zhí)行時延模型進行描述。
1) 當計算服務(wù)Ai存儲在邊緣服務(wù)器時,任務(wù)可以在邊緣服務(wù)器執(zhí)行,此時任務(wù)執(zhí)行時延分析如下。
如果部分任務(wù)在服務(wù)節(jié)點卸載,任務(wù)卸載至邊緣服務(wù)器時,任務(wù)卸載百分比表示為1-,相應(yīng)的任務(wù)卸載至邊緣服務(wù)器的數(shù)據(jù)大小表示為。分配給終端設(shè)備的計算資源表示為,任務(wù)在邊緣服務(wù)器的執(zhí)行時延表示為
當任務(wù)卸載至邊緣服務(wù)器時,終端設(shè)備將占用上行鏈路對數(shù)據(jù)進行傳輸,此時上行鏈路的傳輸時延表示為
綜上所述,當計算服務(wù)存儲在服務(wù)中心時,任務(wù)執(zhí)行總時延表示為
2) 當計算服務(wù)Ai未存儲在邊緣服務(wù)器時,計算任務(wù)將在本地以及云端進行部分卸載。
如果任務(wù)卸載至云服務(wù)器,卸載百分比表示為1-,其中,任務(wù)卸載至邊緣服務(wù)器的數(shù)據(jù)大小表示為?;谇拔募僭O(shè),云服務(wù)器具有豐富的計算資源,所以任務(wù)執(zhí)行時延只與傳輸時延有關(guān),即上行鏈路傳輸時延以及回程鏈路傳輸時延。因此,任務(wù)在云服務(wù)器執(zhí)行時其傳輸時延表示為
其中,R為邊緣服務(wù)與云服務(wù)器之間的傳輸速率。因此,計算服務(wù)存儲在云服務(wù)器時任務(wù)執(zhí)行總時延表示為
由于存儲是一個長期統(tǒng)計的過程,因此其在短期內(nèi)變化很小,但計算與通信資源是實時的,需要根據(jù)不同用戶的任務(wù)需求實時變化?;谝陨咸攸c,本文考慮在當前時間段內(nèi)對計算、通信以及存儲資源進行聯(lián)合優(yōu)化。本文的主要目標是在計算、通信、存儲資源約束條件下,對服務(wù)緩存決策x、上行頻譜資源θ、任務(wù)部分卸載百分比α和β,以及服務(wù)器計算資源f聯(lián)合優(yōu)化,以最小化所有終端設(shè)備執(zhí)行任務(wù)總時延。優(yōu)化目標可以表示為
從P0 可以看出,約束條件C1表示分配給所有終端設(shè)備的計算資源總和小于或等于服務(wù)器的最大計算能力,C2 表示分配給所有終端設(shè)備的頻譜資源小于或等于總頻譜帶寬,C3 表示任務(wù)卸載比例,C4 表示服務(wù)緩存決策,C5 表示邊緣服務(wù)器可以緩存計算服務(wù)的最大容量。此外,P0 是由離散變量與連續(xù)變量組成的混合整數(shù)非線性規(guī)劃問題,很難求解,因此需要設(shè)計一種新的優(yōu)化方法對該問題進行求解。
為了解決以上問題,本文提出一種面向任務(wù)卸載與服務(wù)緩存問題的服務(wù)緩存與資源分配的聯(lián)合優(yōu)化策略,簡稱為服務(wù)緩存與資源分配的聯(lián)合優(yōu)化策略。首先,將原問題的連續(xù)變量與離散變量進行解耦,變?yōu)? 個子問題,即服務(wù)緩存決策問題以及計算資源與通信資源聯(lián)合優(yōu)化問題;其次,在固定緩存決策基礎(chǔ)上對計算與通信資源分配問題進行求解;再次,在得到優(yōu)化的資源分配變量后對緩存決策進行優(yōu)化;最后,通過循環(huán)迭代得到原問題的解。
首先,初始化緩存決策;隨后,對計算與通信資源進行聯(lián)合優(yōu)化。在給定緩存決策條件下,P0 變成由計算資源、帶寬資源以及任務(wù)卸載比例等連續(xù)變量組成的函數(shù)。接下來將對連續(xù)變量進行求解。在給定初始緩存決策為x(0)后,多終端時延優(yōu)化函數(shù)表示為
相應(yīng)的優(yōu)化問題表示為
緩存決策確定后,其相應(yīng)的約束條件同時發(fā)生變化,其約束條件將由C1變?yōu)镃6。為了避免除零情況的發(fā)生,對變量加入常量ε1、ε2,可表示為。最后將該變量代入式(10)以及對應(yīng)的約束條件中,得到新的函數(shù)以及約束條件。相應(yīng)的問題表示為
由P2 可以看出,式(12)中存在2 個變量相乘的乘積項,因此該問題是一個非凸優(yōu)化問題。為了求解P2,需要對以上問題進行再次變換。
其中,{·}LS表示線性化步驟。將代入式(14)可得
其中,?i∈L。同理,對應(yīng)的RLT 因子積約束條件為
經(jīng)過以上變換后,得到新的優(yōu)化問題P3 為
獲得P1的解后,下面解決緩存決策問題。首先,將獲得的資源分配方案α(0)、β(0)、θ(0)、f(0)代 入P0,得到緩存決策問題P4 為
P4 是0-1 問題,可以通過分支定界法對以上問題進行求解。然而,分支定界法在最壞的情況下需要運算2k次,當輸入數(shù)據(jù)量較小時,其復(fù)雜度是可接受的;隨著輸入數(shù)據(jù)量的增大,則很難在有效時間內(nèi)獲得近似最優(yōu)解。為了降低時間復(fù)雜度,本文將整型變量松弛成的連續(xù)變量。此時,P4 變?yōu)橥箖?yōu)化問題,可以通過內(nèi)點法與KKT(Karush-Kuhn-Tucker)條件進行求解。隨后采用四舍五入的方法對連續(xù)變量進行恢復(fù),這里將閾值簡單設(shè)置為0.5。
基于上述分析可知,邊緣服務(wù)器通過階段性獲取當前接入終端的完整信息,執(zhí)行JSCRA 優(yōu)化策略,并將緩存決策以及資源分配結(jié)果發(fā)送至終端設(shè)備,從而最小化所有設(shè)備任務(wù)的執(zhí)行時延,具體步驟如算法1 所示。
算法1服務(wù)緩存與資源分配聯(lián)合優(yōu)化算法
初始化邊緣服務(wù)的緩存策略,終端發(fā)射功率pi,s,任務(wù)的輸入數(shù)據(jù)大小,每比特輸入數(shù)據(jù)所需的計算量si,最大迭代次數(shù)tmax,算法終止條件ξ。
步驟1在已知服務(wù)緩存策略基礎(chǔ)上,原問題變換為連續(xù)非線性問題,得到新問題P2。
步驟2通過RLT 技術(shù)對P2 松弛,將非線性問題變?yōu)橥箖?yōu)化問題P3。
步驟3采用內(nèi)點法對P3 進行求解,并得到在已知緩存決策條件下的資源分配方案。
步驟4將步驟3 得到的解代入P4,通過松弛法以及凸優(yōu)化方法得到相應(yīng)的卸載決策。
步驟5獲取步驟3 與步驟4 中目標函數(shù)的差值,如果差值小于ξ或者迭代次數(shù)達到最大值tmax,則停止計算;否則,對步驟3 以及步驟4 進行循環(huán)迭代。
本節(jié)在MATLAB 2017b 上進行仿真實驗,并分析JSCRA 優(yōu)化策略的性能。此外,為了進行性能對比,本文對以下基準策略進行了仿真。
完全本地卸載(LOC,local offloading completely)策略:所有任務(wù)均在終端本地進行處理,此時假設(shè)本地終端存儲任務(wù)相關(guān)的服務(wù)數(shù)據(jù)[21]。
完全卸載至云(COC,cloud offloading completely)策略:任務(wù)相關(guān)服務(wù)數(shù)據(jù)全部存儲在云服務(wù)器,此時任務(wù)完全在云服務(wù)器執(zhí)行,而上行鏈路帶寬資源均勻分配給每個終端設(shè)備[18]。
隨機緩存與資源分配(RCRA,random caching and resource allocation)策略:在存儲約束條件下,邊緣服務(wù)器采用隨機緩存策略盡可能多地緩存服務(wù)內(nèi)容并在其基礎(chǔ)上對計算與帶寬資源進行優(yōu)化[18]。
在仿真實驗中,終端設(shè)備的數(shù)量為10,隨機分布在邊長為500 m 的正方形區(qū)域內(nèi)。hi,B服從均值為1 的指數(shù)分布[22],計算任務(wù)數(shù)據(jù)大小表示為ci且服從[100,200]KB 的均勻分布,si設(shè)置為1 500 cycle/bit。仿真參數(shù)設(shè)置如表1 所示。
表1 仿真參數(shù)設(shè)置
由于原始問題P0 是混合整數(shù)非線性規(guī)劃問題,通過窮舉法求解問題的復(fù)雜度為O(2n),呈現(xiàn)指數(shù)級增長。所提算法將原始問題P0 轉(zhuǎn)換成為P3 與P4,P3 為標準凸優(yōu)化問題,可以通過內(nèi)點法解決,內(nèi)點法的復(fù)雜度為O(n3);P4 為0-1 問題,離散變量經(jīng)過松弛后為凸優(yōu)化問題,其算法復(fù)雜度為O(n3),此外,交替迭代次數(shù)的復(fù)雜度為O(n),因此,所提算法總體復(fù)雜度為O(n3)。與窮舉法相比,所提算法復(fù)雜度大大降低。
算法收斂過程如圖2 所示。本文將通過窮舉法獲得的值作為最優(yōu)解。由于窮舉法非常耗時,因此一般在小規(guī)模場景下使用。由圖2 可以看出,所提算法通過迭代25 次快速收斂并接近最優(yōu)解,這表明所提算法性能非常接近于窮舉法的性能,并可以獲得近似最優(yōu)解。
圖2 算法收斂過程
本節(jié)仿真結(jié)果是在配置有 Intelcorei59400F 2.9 GHz 處理器和 16 GB RAM 的臺式機上用MATLAB 2017b 實現(xiàn)的。在N=10,C=300 GB,R=1的條件下,邊緣服務(wù)器的計算能力和存儲能力對任務(wù)執(zhí)行時延的影響分別如圖3 和圖4 所示。
圖3 邊緣服務(wù)器的計算能力對任務(wù)執(zhí)行時延的影響
圖4 邊緣服務(wù)器的存儲能力對任務(wù)執(zhí)行時延的影響
從圖3 可以看出,隨著邊緣服務(wù)器的計算能力逐漸增大,所提JSCRA 優(yōu)化策略與RCRA 策略的任務(wù)執(zhí)行時延逐漸減小,而LOC 策略以及COC策略任務(wù)執(zhí)行時延保持不變。這是因為LOC 策略的任務(wù)時延僅與本地計算能力有關(guān),任務(wù)執(zhí)行時延與邊緣服務(wù)器所擁有的資源沒有關(guān)系,所以LOC策略的所有任務(wù)執(zhí)行時延保持不變。對于COC 策略而言,當任務(wù)在云服務(wù)器執(zhí)行時,其任務(wù)執(zhí)行時延僅與無線帶寬資源以及回程鏈路傳輸速率有關(guān),因此COC 策略的任務(wù)執(zhí)行時延不隨邊緣服務(wù)器計算能力的增大而改變。另外,從圖3 還可以看出,JSCRA 優(yōu)化策略在性能上略優(yōu)于RCRA 策略,這是因為JSCRA 優(yōu)化策略對服務(wù)緩存進行合理優(yōu)化,使更多任務(wù)可以在邊緣服務(wù)器中執(zhí)行,因此性能優(yōu)于RCRA 策略。
從圖4 可以看出,隨著邊緣服務(wù)器的存儲能力逐漸提升,所提策略與RCRA 策略任務(wù)執(zhí)行時延逐漸減小,而LOC 策略以及COC 策略的任務(wù)執(zhí)行時延保持不變。所提策略與RCRA 策略相比可以減少10%的任務(wù)執(zhí)行時延,與COC 策略相比可以減少30%的任務(wù)執(zhí)行時延。LOC 策略的任務(wù)執(zhí)行時延僅與本地計算能力有關(guān),COC 策略的任務(wù)執(zhí)行時延與帶寬資源以及回程鏈路傳輸速率有關(guān),所以LOC 策略與COC 策略的任務(wù)執(zhí)行時延不隨邊緣服務(wù)器存儲能力的大小變化。此外,從圖4 可以看出,隨著邊緣服務(wù)器存儲能力的增加,與COC 策略相比,所提策略與RCRA 策略性能增益增大。這是因為當邊緣服務(wù)器存儲能力較小時,只能緩存部分計算服務(wù),剩余服務(wù)將存儲在遠端云服務(wù)器。此時,大多數(shù)任務(wù)將在云服務(wù)中執(zhí)行,因此所提策略與RCRA 策略的任務(wù)執(zhí)行時延性能略優(yōu)于COC 策略。但是,隨著存儲能力的增加,邊緣服務(wù)器可以緩存的服務(wù)內(nèi)容增多,遠端執(zhí)行任務(wù)比例逐漸降低,此時邊緣服務(wù)器計算資源被充分利用,因此所提策略與RCRA 策略的性能顯著優(yōu)于COC 算法。
任務(wù)輸入數(shù)據(jù)大小對任務(wù)執(zhí)行時延的影響如圖5 所示。從圖5 可以看出,任務(wù)輸入數(shù)據(jù)越大,所有策略的任務(wù)執(zhí)行時延越大,而所提策略的性能優(yōu)于其他策略。這是因為隨著輸入數(shù)據(jù)量的增大,任務(wù)所需的計算資源與通信資源將會增多,所有策略的任務(wù)執(zhí)行時延逐漸增大。另外,由于所提策略對計算、通信以及存儲資源進行聯(lián)合優(yōu)化,因此其性能優(yōu)于其他策略。
圖5 任務(wù)輸入數(shù)據(jù)大小對任務(wù)執(zhí)行時延的影響
邊緣服務(wù)器與遠端云間傳輸速率對任務(wù)執(zhí)行時延的影響如圖6 所示。從圖6 可以看出,隨著邊緣服務(wù)器與遠端云間的傳輸速率逐漸增大,所提策略與RCRA 策略、COC 策略的所有任務(wù)總時長逐漸減小,當R=5 時,上述3 種策略性能基本相同。這是因為當邊緣服務(wù)器與遠端云間傳輸速率較小時,任務(wù)卸載至云服務(wù)器的時延大于在邊緣服務(wù)器的執(zhí)行時延,此時大部分任務(wù)將在邊緣服務(wù)器執(zhí)行,因此所提策略性能優(yōu)于RCRA 策略以及COC 策略。隨著傳輸速率增大,任務(wù)在云端執(zhí)行的時延與任務(wù)在邊緣服務(wù)器執(zhí)行時延越來越接近,因此所提策略與RCRA 策略以及COC 策略的性能差異將越來越小,這也表明所提策略在傳輸速率較小時可以獲得較高的性能增益。此外,LOC 策略任務(wù)執(zhí)行時延沒有變化,這是因為任務(wù)本地時延與終端自身計算資源有關(guān)與邊緣服務(wù)器,而與云端間的傳輸速率無關(guān)。
圖6 邊緣服務(wù)器與遠端云間傳輸速率對任務(wù)執(zhí)行時延的影響
在多終端、單服務(wù)節(jié)點以及云服務(wù)器組成的集中式移動邊緣網(wǎng)絡(luò)下,針對任務(wù)卸載與服務(wù)緩存耦合性對任務(wù)時延的影響,本文提出了一種服務(wù)緩存與資源分配的聯(lián)合優(yōu)化策略。首先,在計算、通信以及存儲容量約束下,建立服務(wù)緩存與資源分配聯(lián)合優(yōu)化問題。隨后,將原問題進行分解為2 個子問題并通過重構(gòu)線性化方法、松弛以及凸優(yōu)化方法對其進行交替迭代優(yōu)化。仿真結(jié)果表明,與RCRA 策略、LOC 策略和COC 策略相比,所提策略可以有效地降低系統(tǒng)時延并具有良好的收斂性。