秦志威,栗 娟+,劉 曉,朱夢圓
(1.武漢工程大學 計算機科學與工程學院,湖北 武漢 430205;2.武漢工程大學 智能機器人湖北省重點實驗室,湖北 武漢 430205;3.迪肯大學 信息技術學院,澳大利亞 墨爾本 VIC 3125)
近年來,隨著物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)等技術的深入發(fā)展,涌現(xiàn)出了智慧物流、數(shù)字電網(wǎng)、智能家居、車聯(lián)網(wǎng)等由大量終端設備、傳感設備、通訊系統(tǒng)、數(shù)據(jù)中心組成的具體應用[1]。以基于無人機自主巡檢的輸電線路巡檢為例,利用無人機拍攝輸電線路通道圖像,并進行圖像特征提取和挖掘,識別出設備故障,其執(zhí)行過程是一個典型的業(yè)務流程,也稱為工作流應用[2]。對于這樣一個內部邏輯結構復雜、傳輸數(shù)據(jù)量大、實時性要求高的工作流,若利用傳統(tǒng)的云計算技術將工作流中的所有子任務均上傳到云數(shù)據(jù)中心處理,則不僅將增加網(wǎng)絡帶寬負載、加大任務數(shù)據(jù)傳輸時間,還給自身續(xù)航能力有限的智能終端帶來巨大挑戰(zhàn)。
為解決智能終端計算、存儲、續(xù)航等能力不足的問題,作為一種新型的計算模式,邊緣計算(Edge Computing, EC)通過充分利用靠近設備終端的網(wǎng)絡、計算、存儲等資源來提供就近服務,將各類計算任務就近卸載到邊緣服務器去執(zhí)行,有效解決了將任務直接上傳到云數(shù)據(jù)中心帶來的高延時問題,提升了任務處理實時性,緩解了網(wǎng)絡帶寬的壓力[3-4]。
目前,邊緣計算研究在國內外受到了越來越多的關注,其中計算卸載技術和資源調度技術被廣泛應用于各類場景,如車載網(wǎng)、移動邊緣計算、物聯(lián)網(wǎng)、無人機巡檢等。LIU等[5]結合邊緣計算與車載網(wǎng),將車輛作為邊緣服務器,用戶設備的任務可以卸載至車輛執(zhí)行;GAO等[6]提出一種結合移動邊緣計算與深度神經(jīng)網(wǎng)絡的計算任務卸載模型,基于該模型提出的基于多重資源任務卸載的粒子群優(yōu)化調度(Multi-Resource task offloading based Particle Swarm Optimization scheduling, MRPSO)算法能夠有效降低終端能耗;DENG等[7]針對物聯(lián)網(wǎng)設備延時問題,提出一種結合邊緣計算的框架,物聯(lián)網(wǎng)設備可以將任務卸載至邊緣服務器執(zhí)行,從而滿足低時延需求。綜合來看,有關計算卸載的研究大多只針對終端任務是否卸載到邊緣層,忽略了云資源,然而對海量數(shù)據(jù)進行挖掘和分析是很多工作流任務中重要的內容,不但離不開功能強大的云資源,而且需要處理一些對實時性要求高的任務。因此在工作流執(zhí)行過程中,對數(shù)據(jù)處理效率、網(wǎng)絡服務質量等的要求更高,需要將端邊云三層異構資源有效協(xié)同才能彌補智能終端在自身續(xù)航、計算能力和存儲能力等方面的不足。
基于此,在基于端邊云協(xié)同的工作流應用場景中:①可通過計算卸載技術將部分低延時任務卸載到邊緣側資源中處理,將對實時性要求不是很高的任務傳輸?shù)皆贫颂幚?,有機協(xié)同設備終端資源、邊緣計算資源和云資源,最大化各自優(yōu)勢,從而加快巡檢工作流任務的總執(zhí)行時間,減少無人機自身耗能,提高系統(tǒng)效用[8];②智能終端的移動性和邊緣服務器的有效服務范圍是其不可忽視的特征,在工作流執(zhí)行過程中,需要根據(jù)終端實時位置和移動軌跡及時發(fā)現(xiàn)周邊可用的資源進行任務遷移,以保證工作流完成時間,減少終端能耗。
針對上述問題,本文以端邊云協(xié)同環(huán)境中的工作流任務為研究對象,結合終端設備移動路徑,構建基于終端移動性的工作流任務執(zhí)行時間模型、能耗模型和遷移模型,并構建一種能耗感知的工作流任務調度模型,在此基礎上提出一種基于最低延時和最小能耗的工作流任務實時協(xié)同調度算法。
近年來,從優(yōu)化目標來看,邊緣計算環(huán)境中的計算卸載技術大致分為以降低時延為優(yōu)化目標、以降低能耗為優(yōu)化目標和以兩者結合優(yōu)化為目標3類。
WANG等[9]將Web服務與移動邊緣計算結合,提出一種基于強化學習的在線Web服務調度算法,降低了服務時延;REN等[10]通過將任務卸載到云服務器和邊緣服務器來降低任務時延;WU等[11]針邊緣計算場景下的服務請求延時問題,提出一種將遺傳算法和模擬退火算法相結合的啟發(fā)式算法,有效降低了服務請求時延;CHEN等[12]針對采用無人機處理大型任務,提出一種適用于無人機的智能任務卸載算法(Intelligent Task Offloading Algorithm, ITOA),從而降低任務的平均執(zhí)行時延。上述研究只針對任務完成時間進行優(yōu)化,而且任務之間缺乏聯(lián)系,無法適用于工作流任務場景。
HE等[13]設計了一種新型車輛網(wǎng)邊緣計算模型,提出一種結合優(yōu)先化經(jīng)驗回放和隨機權值平均機制的深度強化學習算法,有效降低了車輛執(zhí)行任務的能耗;FAN等[14]針對邊緣計算環(huán)境中工作流任務的特點,提出一種基于最短路徑算法的計算卸載方案,有效降低了系統(tǒng)能耗;LI等[15]提出一種基于移動邊緣計算(Mobile Edge Computing, MEC)的物聯(lián)網(wǎng)能耗感知任務卸載模型,根據(jù)每個任務的完成時間(Time-to-Live, TTL)選擇最佳卸載位置,以降低任務傳輸及在邊緣服務器執(zhí)行任務的能耗;WANG等[16]提出一種單用戶無線供電的MEC系統(tǒng),針對任務卸載至邊緣服務器產生的傳輸能耗和執(zhí)行能耗,結合凸優(yōu)化技術提出一種啟發(fā)式算法,得到最佳卸載策略。上述研究只針對能耗進行優(yōu)化,而且卸載資源僅結合邊緣服務器,并未考慮云端資源。
ZHOU等[17]針對一種單移動終端設備和多邊緣服務器的應用場景,利用Markov近似技術提出一種輕量級算法,使任務卸載的時間與終端能耗最小化;YAN等[18]首先提出一種多無線設備單邊緣服務器的MEC模型,每個無線設備都有許多需要執(zhí)行的任務,而且兩個設備之間有些任務存在依賴關系,在此場景下提出一種Gibbs抽樣算法獲取最優(yōu)卸載策略,使無線設備上的所有任務完成時間與設備能耗加權和最?。籘RAN等[19]提出一種多用戶多邊緣服務器的MEC模型,將減少任務完成時間與終端能耗的加權和定義為任務卸載效益,采用凸優(yōu)化和擬凸優(yōu)化技術解決資源分配問題,并提出一種啟發(fā)式算法獲取最優(yōu)卸載決策,使得用戶任務卸載效益最大;由于帶有能量收集的多設備多邊緣器MEC系統(tǒng)是高度動態(tài)的,ZHANG等[20]提出一種基于深度強化學習的動態(tài)遷移算法,使任務完成時間與能耗的平加權和最小。上述研究雖然以權衡時延與能耗為目標,但是只使用了邊緣端資源,并未考慮與云端資源結合。
綜上所述,在基于端邊云協(xié)同的工作流應用場景中,單一優(yōu)化并不能滿足工作流低時延、低能耗的要求,加上任務之間有一定聯(lián)系,而上述研究很少考慮任務之間的聯(lián)系,且大部分研究在任務卸載資源的選擇上均未考慮使用云端豐富的資源。鑒于此,在基于端邊云協(xié)同的工作流應用場景中,亟需采用針對工作流任務特性和終端移動性的端邊云協(xié)同資源調度算法來降低任務完成時間與能耗。
以無人機自主巡檢系統(tǒng)為例,其構成主要包括無人機飛行控制系統(tǒng)和圖像處理系統(tǒng),如圖1所示。
圖像處理系統(tǒng)包括圖像采集模塊、通訊模塊和本地處理模塊。圖像采集模塊主要采集無人機巡檢過程中拍攝的照片;通訊模塊主要將圖像處任務傳輸?shù)竭吘壏掌骰蛟品掌鳎槐镜靥幚砟K主要處理在本地執(zhí)行的任務。本文無人機巡檢路線為固定路線,飛行所需的時間和能耗已知,因此只考慮圖像處理系統(tǒng)產生的工作流任務所需的時間和能耗。
端邊云協(xié)同環(huán)境下的工作流應用場景,以無人機巡檢時輸電線路中的設備故障診斷為例,其巡檢過程如圖2所示。整個任務執(zhí)行過程看作為一個工作流,可用加權的有向無環(huán)圖進行建模。
工作流任務用有向無環(huán)圖(Direct Acyclic Graph, DAG)表示[21]為G=V,E,其中:V為n個任務的集合,V={v1,v2,v3,…,vn};E為任務之間的依賴關系,E={(vi,vj)|vi,vj∈vn}。工作流中存在出口任務vout和入口任務vin,本文工作流任務只有一個入口任務和一個出口任務。每個任務由一個三元組vi={Ii,Di,Oi}構成,其中:Ii為任務輸入的數(shù)據(jù)量,Di為處理任務所需的資源數(shù),Oi為任務結束輸出的數(shù)據(jù)量。以圖2為例,一個工作流可用圖3所示的DAG表示。
工作流任務可以在本地端處理,可以卸載至邊緣端執(zhí)行,也可以卸載至云端處理,通過本地通訊模塊將任務發(fā)送至其他位置,其通訊模型如圖4所示。
終端資源可用L={fl,Pwork,Pin,Pout,Pwait}表示,其中:fl為終端的計算能力,Pwork為終端執(zhí)行功率,Pin為傳輸功率,Pout為下載功率,Pwait為空閑功率。
邊緣端資源由多個服務器構成,假設有s個邊緣服務器,M為邊緣服務器的集合,M={m1,m2,…,ms}。為了簡便計算數(shù)據(jù)的傳輸,假設基站的信道充足,數(shù)據(jù)的傳輸帶寬由基站決定,每個基站由一個三元組mj={Rj,fej,Dej}構成,其中:Rj為上傳帶寬,fej為邊緣服務器的計算能力,Dej為下載帶寬。
云端資源由一個擁有海量資源的云服務器C={Rc,fc,Dc}構成,其中:Rc為上傳帶寬,fc為計算能力,Dc為下載帶寬。
任務可以在本地、邊緣服務器和云服務器上執(zhí)行。將工作流任務的出入口任務均設為不可卸載任務,只能在本地執(zhí)行,剩余任務可以在不同位置執(zhí)行。為了簡化模型,假設每個服務器同時只能處理一個任務。
(1)本地執(zhí)行
任務vi在本地執(zhí)行時,只考慮任務執(zhí)行時間。本地任務完成時間為
(1)
式中Di為任務所需資源數(shù)。
本地執(zhí)行能耗為
El(vi)=Tl(vi)·Pwork。
(2)
(2)邊緣服務器執(zhí)行
考慮到終端設備的移動性,當任務vi卸載至邊緣服務器j執(zhí)行時,會出現(xiàn)任務可以成功執(zhí)行、任務上傳成功但無法返回結果和任務上傳過程中失敗3種情況。當任務發(fā)生遷移時,可忽略相關數(shù)據(jù)在邊緣服務器之間的傳輸時間。
當任務成功執(zhí)行時,任務完成時間為
(3)
式中:Ii為任務的輸入數(shù)據(jù)量;Oi為任務輸出的數(shù)據(jù)量。
任務在邊緣服務器執(zhí)行的能耗為
(4)
當任務上傳成功但結果無法返回本地時,任務需要遷移到可用邊緣服務器k中,然后將結果傳輸?shù)奖镜?。此時任務執(zhí)行時間為
(5)
(6)
當任務無法成功上傳時,需要重新選擇卸載位置,以保證任務成功執(zhí)行。因為任務仍在本地,所以不考慮等待時間。
(3)云端執(zhí)行
與邊緣服務器類似,云服務器的執(zhí)行時間為
(7)
式中:Rc為任務的上傳帶寬;fc為云服務器的計算能力;Dc為任務的下載帶寬。
任務在云端執(zhí)行的能耗為
Ec(vi)=
(8)
由于工作流任務之間有聯(lián)系,需要確定任務執(zhí)行順序。通過定義工作流任務的優(yōu)先級,再對優(yōu)先級的值進行區(qū)域劃分,相同等級的任務可以并行執(zhí)行,從而得到任務的執(zhí)行順序。用rank(vi)表示任務vi的優(yōu)先級,令出口任務的優(yōu)先級為1,同一區(qū)域的任務可以在本地、邊緣端和云端并行執(zhí)行,每個區(qū)域的執(zhí)行時間為所有任務在不同位置執(zhí)行的總時間。假設區(qū)域i中有a個任務在本地執(zhí)行,b個任務在邊緣服務器執(zhí)行,c個任務在云服務器執(zhí)行,則區(qū)域i的完成時間為
(9)
假設rank(vin)=k,則工作流任務的完成時間為
(10)
任務執(zhí)行的總能耗為
(11)
式中ai+bi+ci=1,ai,bi,ci∈{0,1},表示任務只能在本地、邊緣端和云端中的一處執(zhí)行。
在端邊云協(xié)同環(huán)境下,執(zhí)行工作流需要有效結合端邊云3層計算資源,將任務卸載至不同的服務器并行執(zhí)行,以降低任務完成時間和終端能耗。由式(10)可得工作流任務的完成時間T,由式(11)可得執(zhí)行任務所耗費的總能耗E,將問題優(yōu)化目標設置為任務完成時間與智能終端能耗的加權和最小,得到如下優(yōu)化問題:
(12)
s.t.
C1:T≤Tmax;
C2:E≤Emax;
C3:0≤ω≤1。
其中:C1表示工作流任務完成的時間不能超過最大限制時間;C2表示任務執(zhí)行能耗不能超過最大限制能耗;C3表示權重的取值范圍不能小于0,也不能大于1。
本文針對端邊云協(xié)同環(huán)境下工作流調度問題提出一種能耗感知的工作流任務調度算法(Energy-Aware Workflow Scheduling Algorithm, EAWSA)。算法主要思路為:①針對工作流任務的特性劃分每個任務的優(yōu)先級;②根據(jù)每個任務的優(yōu)先級,采用改進的粒子群優(yōu)化(Impoved Particle Swarm Optimization, IPSO)算法獲取每個任務的最優(yōu)執(zhí)行位置;③在任務執(zhí)行過程中考慮邊緣服務器的有效范圍,通過判斷任務執(zhí)行狀態(tài)選擇適當?shù)倪w移策略,實時更新任務執(zhí)行的位置,最終使整個系統(tǒng)效用最優(yōu)。
(1)劃分任務優(yōu)先級
首先劃分工作流任務的優(yōu)先級,將出口任務優(yōu)先級定位為1,假設任務vm和vp是vn的直接前置任務,則vm和vp的優(yōu)先級為
rank(vm)=rank(vp)=rank(vn)+1。
(13)
如果vm也是vp的直接前置任務,則vm的優(yōu)先級為
rank(vm)=
max{rank(vp),rank(vn)}+1。
(14)
然后從倒數(shù)第2個任務開始,根據(jù)DAG獲取當前任務的直接后置節(jié)點,計算其后置節(jié)點任務的最大優(yōu)先級數(shù),依次類推,得到所有任務的優(yōu)先級。將相同優(yōu)先級的任務劃分到同一集合,得到任務的執(zhí)行順序。最后,依次從最高優(yōu)先級的任務區(qū)域開始執(zhí)行任務。
(2)資源沖突解決算法
相同區(qū)域中的任務有可能同時分配到同一個資源,對于有沖突的任務,通過Min-Min算法解決資源沖突問題。首先獲取每個資源的沖突任務集合,依次計算每個任務的完成時間,將完成任務時間按升序排列,即得到任務的執(zhí)行順序。
(3)IPSO算法
IPSO算法主要根據(jù)初始位置獲取當前最佳的卸載策略,該算法包括初始化任務卸載策略、算法迭代和返回全局最佳卸載策略3部分。初始化任務卸載策略是隨機生成任務的卸載策略和搜索速度,根據(jù)任務卸載策略計算每個粒子的適應度值,其中適應度函數(shù)為
(15)
式中:α為時延的權重,α∈[0,1];Tmax為所有任務都在本地端執(zhí)行時的任務響應時間;Emax為所有任務都在本地端執(zhí)行時的系統(tǒng)總能耗。然后比較所有粒子的適應度值,得到初始的全局最優(yōu)卸載策略(第2~10行)。算法迭代是根據(jù)定義的迭代次數(shù)進行循環(huán),根據(jù)公式更新每個粒子的速度和位置(第13~14行),從而更新全局最佳卸載策略(第15~20行)。迭代結束后返回的是全局最佳卸載策略(第23行)。偽代碼如下:
算法1IPSO()。
輸入:最大迭代次數(shù)(Max_Iteration)、終端屬性(localList)、邊緣服務器屬性(edgeList)、云服務器屬性(cloudList)。
輸出:最優(yōu)卸載策略(Gbest)。
1 GetlocalList, edgeList, cloudList;//獲取開始位置所有的服務器信息
2 Initial population generation;//初始化種群速度與位置
3 For i=1 to population size
4 Calculate fitness[i];
5 End for;
6 For k=1 to population size
7 P[k].best=current position;//記錄最小適應度的粒子位置;
8 P[k].bestfitness=current fitness;//記錄最小適應度值;
9 End for;
10 Gbest=the lowest fitness position;// 將初始最小適應度值的粒子位置賦給Gbest;
11 For i=1 to Max_Iteration
12 For k=1 to population size
15 Calculate new fitness;//計算更新后的適應度值
16 If new fitness< P[k].bestfitness
17 P[k].bestfitness=new fitness;
18 P[k].best=current position;
19 End if;
20 End for;
21 Gbest=the lowest fitness position;
22 End for;
23 Return Gbest
(4)最優(yōu)遷移
遷移算法主要根據(jù)終端實時位置進行最優(yōu)遷移,算法分為計算優(yōu)先級區(qū)域的開始時間和完成時間、選擇任務遷移方式和返回全局最佳卸載策略3部分。計算優(yōu)先級區(qū)域的開始時間與完成時間是根據(jù)IPSO算法得到最佳卸載策略,計算每個區(qū)域的開始時間和完成時間(第1~6行)。選擇任務遷移方式是根據(jù)終端到邊緣服務器之間的距離和任務執(zhí)行狀態(tài),選擇當前任務完成適應度值最小的遷移方案(第7~24行)。根據(jù)任務的遷移方案更新最佳卸載策略(第25行),最終返回最佳遷移卸載策略(第26行)。偽代碼如下:
算法2Task-migration()。
輸入:最優(yōu)卸載策略(Gbest)、區(qū)域個數(shù)(ranklist)、終端屬性(localList)、邊緣服務器屬性(edgeList)、云服務器屬性(cloudList)。
輸出:最優(yōu)卸載策略(Gbest)。
1 GetlocalList, edgeList, cloudList;//獲取所有服務器信息
2 Calculate tasks of EST and EFT;//計算最佳卸載策略的每個任務開始和結束時間
3 For i=1 to ranklist //計算每個優(yōu)先級區(qū)域的EST和EFT
4 Rank[i][0]=EST;
5 Rank[i][1]=EFT;
6 End for;
7 For i=1 to ranklist
8 Calculate tmax//計算離開目標服務器時間
9 If Rank[i][1]>tmax//判斷當前區(qū)域任務完成時是否離開目標服務器
10 Obtain all tasks which need migration;//獲取需要遷移的任務
11 Sort by EST;//將需要遷移的任務按照開始時間進行升序排序
12 For k=1 to MigrationList size
13 Migration_way[MigrationList[k]=current way//根據(jù)每個任務的情況選擇對應的卸載方式
14 Migration_loction[MigrationList[k]]=current location;//選擇適應度值最小的位置進行遷移
15 Update the EST and EFT;
16 Best_EFT=current EFT;//記錄最后一個任務的完成時間
17 End for;
18 If Best_EFT!=Rank[i][1]
19 Migration_time[i]=Best_EFT-Rank[i][1];
20 Update Rank[i][1], Rank[i+1][0]and Rank[i+1][1]//如果當前區(qū)域最后一個任務時間改變,則改變當前區(qū)域的EFT以及下一個區(qū)域的EST和EFT。
21 End if;
22 End if;
23 Update the EST and EFT of all tasks;
24 End for;
25 Update Gbest;//根據(jù)遷移情況更新任務位置
26 Return Gbest
為了分析和驗證所提模型和算法的有效性,采用JAVA語言編寫并設計了仿真實驗,實驗運行環(huán)境為11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40 GHz(8 CPUs),2.4 GHz CPU,16 GB內存的PC機。工作流為混合型結構的DAG(如圖5),該工作流中包括N個子任務節(jié)點,這些子任務節(jié)點中既有匯聚節(jié)點(如節(jié)點5和節(jié)點N),又有并發(fā)節(jié)點(如節(jié)點2和節(jié)點3)。新增兩個啞節(jié)點In和Out分別表示工作流的起始節(jié)點。
除此之外,仿真實驗中包括1臺云服務器(計算能力為7 GHz)、1個智能終端(計算能力為1 GHz)和3個邊緣服務器(計算能力分別為3 GHz,2 GHz,2 GHz),如表1所示。
表1 任務卸載仿真參數(shù)
問題的優(yōu)化目標是工作流任務的完成時間和系統(tǒng)能耗,因此選取任務完成時間、系統(tǒng)能耗、總體的適應度值3個指標進行評價分析。
對比算法包括任務全在本地執(zhí)行(local)、任務卸載到云端執(zhí)行(cloud)、任務隨機卸載至邊緣服務器執(zhí)行(random)和使用IPSO算法但不使用遷移算法(Nomigration),通過比較不同任務數(shù)量下的時間、能耗和適應度評價算法性能,其中Random算法采用相同的任務遷移算法。
本文主要的判斷依據(jù)是在不同權值下工作流任務數(shù)不同時每種算法的性能。每種情況取10次實驗結果的平均值,分別比較每種算法在不同任務數(shù)下的任務完成時間、終端消耗能量和適應度值。
當權值ω=0.5時,工作流任務完成時間的實驗結果如圖6所示。
由圖6可見,隨著任務數(shù)的增加,各算法的工作流任務完成時間均逐漸增加,EAWSA任務完成時間的增長速度最低,說明該算法在降低時間方面效果顯著。當任務數(shù)量為20時,EAWSA與Nomigration算法的工作流任務完成時間相同,主要因為任務完成后并未離開目標邊緣服務器,所以沒有發(fā)生任務遷移。隨著任務數(shù)的增加,工作流任務中的部分任務不能在離開目標服務器之前完成,需要任務遷移。因為Nomigration算法未使用遷移算法,所以任務完成時間逐漸大于EAWSA的完成時間。Random算法因為采用了遷移算法,所以任務完成時間增長得比較緩慢,但仍大于EAWSA。總之,EAWSA能夠降低任務完成時間。
算法能耗如圖7所示??梢婋S著任務的增加,本地能耗增長迅速,其余能耗增長緩慢。
隨著任務數(shù)的不同,各算法的適應度值如圖8所示??梢姡珽AWSA的適應度最低,其次是Nomigration算法。本文主要考慮任務完成時間與能耗的加權和,權值系數(shù)均取0.5表明時間和能耗的重要性相同,雖然Random算法的能耗較低,但是任務完成時間相對較長,因此適應度值較高。綜合來看,本文所提算法能夠明顯降低時延和能耗。
工作流任務類型不同,用戶定義的服務質量(Quality of Service, QoS)不同,時間與能耗的權值也不同。因此,本文第2組實驗重在考察時間和能耗權值對算法性能的影響,設置任務數(shù)量為60時ω=0.3,0.5,0.7。實驗取10次結果的平均值,任務完成時間、能耗和適應度值如圖9~圖11所示。
由圖9~圖11可見,當權值小于0.5時,EAWSA更注重任務完成的能耗,因為本地執(zhí)行任務能耗較大,所以會將任務卸載至邊緣端和云端,使相應的任務完成時間有所增加;當權值大于0.5時,算法更加側重任務完成時間,因為任務傳輸至云端的時延較大,所以側重于本地與邊緣層,但會增加相應的任務完成能耗。總之,每種情況下EAWSA的適應度值最小,表明該算法對時間與能耗的平衡最好。
本文考慮智能終端移動性、邊緣服務器覆蓋范圍和工作流任務,提出結合端邊云3層資源協(xié)同的任務完成時間與能耗模型,并提出EAWSA。首先,針對工作流任務的特性,提出一種工作流優(yōu)先級劃分算法,以確定工作流任務執(zhí)行順序;然后通過使用IPSO算法獲取最佳任務卸載策略,同時為解決資源沖突問題,將任務分配到相同資源后采用Min-Min算法獲取沖突任務的執(zhí)行順序;最后考慮到終端移動性和邊緣服務器的范圍,對最佳卸載策略中的部分任務進行最優(yōu)遷移,并通過仿真實驗驗證了EAWSA在降低任務完成時間與能耗方面具有優(yōu)勢。未來將進一步研究任務遷移過程中的安全問題,通過一種邊緣服務器的信任評估模型來保證任務遷移的成功率。