







摘要: 針對云邊端協同環境中依賴任務卸載時效率低以及任務卸載失敗的問題, 提出一種基于偏好和虛擬適應度的兩階段依賴任務卸載算法. 第一階段, 根據提出的二維卸載偏好因子對依賴任務的部分子任務進行直接卸載決策, 從而有效縮小遺傳算法初始種群的規模. 第二階段, 提出基于虛擬適應度的啟發式交叉方法, 并對基于參考點的快速非支配排序遺傳算法(non-dominated sorting genetic algorithm Ⅲ, NSGA-Ⅲ)的交叉算子進行改進, 保留了種群多樣性并提升了算法收斂速度, 最后使用改進的算法對所有依賴任務的子任務進行最優卸載決策集的搜索. 實驗結果表明, 與其他算法相比, 該算法在任務完成時間、 任務能耗和邊緣云集群成本方面平均優化了10.2%~18.3%, 并且將任務失敗率平均降低了10.7%~25.6%.
關鍵詞: 云邊端協同環境; 依賴任務卸載; 多目標優化; 虛擬適應度; 遺傳算法
中圖分類號: TP393" 文獻標志碼: A" 文章編號: 1671-5489(2024)04-0923-10
Two-Stage Dependent Task Offloading AlgorithmBased on Preference and Virtual Fitness
DONG Liyan1,2, QI Jingze1, LIU Yuanning1,2, FENG Jiahui1
(1. College of Computer Science and Technology, Jilin University, Changchun 130012, China;
2. Key Laboratory of Symbolic Computation and Knowledge Engineering of Ministry of Education,Jilin University, Changchun 130012, China)
Abstract: Aiming at the problem of low efficiency and failure of dependent task offloading" in the cloud-edge-end architecture, we proposed a two-stage" dependent task offloading algorithm based on preference and virtual fitness. In the first stage, based on the proposed two-dimensional offloading preference factor, "direct offloading decisions were made for some sub-tasks of the dependent tasks, thus effectively reducing the size of the initial population of the genetic algorithm.
In the second stage, we proposed a heuristic crossover method based on virtual fitness" to improve the crossover operator of" the fast non-dominated sorting genetic algorithm Ⅲ(NSGA-Ⅲ) based on reference points, which preserved the diversity of population and improved the convergence speed of the algorithm. Finally, we used" the improved algorithm to search for the optimal offloading decision set" for the subtasks of all dependent tasks. The experimental results show that compared with other algorithms, the proposed algorithm optimizes task completion time, task energy consumption and edge cloud cluster cost by 10.2%—18.3% on average and reduces the task failure rate by 10.7%—25.6% on average.
Keywords: cloud-edge-end architecture; dependent task offloading; multi-objective optimization; virtual fitness; genetic algorithm
隨著智能應用和物聯網設備的快速發展[1], 應用程序產生的任務對計算資源和存儲資源的需求顯著激增[2]. 但本地移動設備資源和邊緣計算資源[3\|4]相對有限, 無法支持所有任務的資源需求, 并且傳統云計算范式存在高延遲問題[5], 因此云邊端協同計算架構是一個更具前景的解決方案[6-7], 其中邊緣云集群能滿足高實時性和低延遲的任務需求[8-9], 中心云集群能分擔邊緣云集群的負載壓力[10].
真實場景中, 許多應用任務由多個有前驅后繼關系的子任務組成, 這樣的任務稱為依賴任務[11], 而任務卸載是指將本地移動設備產生的任務卸載到云環境的虛擬機中執行. Xu等[12]提出了一種基于博弈論的兩階段依賴任務卸載算法, 但僅以能耗優化為主要目標. Yuan等[13]提出了一種基于遺傳模擬退火的粒子群優化算法, 解決了云邊端協同環境中依賴任務的卸載問題, 但僅以降低成本為主要目標. 文獻[14-16]針對邊緣計算范式中依賴任務卸載問題都給出了有效的改進方法, 但缺乏對邊緣計算資源相對有限性的考慮, 沒有將邊緣云與中心云相結合. Liu等[17]提出了一種基于改進強度Pareto進化算法的多目標卸載算法, 以解決依賴任務卸載問題, 但僅考慮了延遲和能耗的目標, 未考慮邊緣服務器成本. Shahidinejad等[18]利用基于擁擠度的快速非支配排序遺傳(non-dominated sorting genetic algorithm Ⅱ, NSGA-Ⅱ)算法提出了一種基于元啟發式的加載機制, 對云邊端協同環境中任務卸載問題進行以能耗和執行時間為目標的優化, 但未考慮邊緣云集群成本和任務失敗率指標. 相比NSGA-Ⅱ算法, NSGA-Ⅲ算法[19]引入了參考點對種群個體進行選擇操作, 從而增強其全局搜索能力[20], 更適合高維目標的優化.
本文將云邊端協同環境中依賴任務的卸載問題視為多目標優化問題, 構建任務完成時間、 能耗和成本的多維優化目標, 提出一種基于偏好和虛擬適應度的兩階段依賴任務卸載算法. 第一階段, 根據所有依賴任務信息和設備環境信息構建二維卸載偏好因子, 從而得到部分子任務的卸載位置, 進而對初始種群的部分基因進行預設定; 第二階段, 本文提出基于虛擬適應度的交叉方法, 從而改進NSGA-Ⅲ算法的交叉操作, 最后通過改進的NSGA-Ⅲ算法對所有依賴任務的卸載決策進行Pareto最優解集的搜索.
1 模型定義
1.1 系統模型
云邊端協同環境模型如圖1所示.
本地移動設備層會產生大量待處理任務, 可卸載至中心云和邊緣云. 該體系架構將整個中心云集群層作為一個整體. 邊緣云集群層包括R個邊緣云集群, 每個邊緣云集群下劃分出U個虛擬機、 1個基站并服務于M個本地移動設備DEVr. 依賴任務可表示為有向無環(DAG)圖[21], 如圖2所示." 本文所用符號及其含義如下: R表示邊緣云集群層下邊緣云集群的數量; ecr表示邊緣云集群層中編號為r的邊緣云集群, r∈{1,2,…,R}; M表示ecr所服務本地移動設備的數量; Tm,rn表示devmr需要執行的編號為n的依賴任務, n∈{1,2,…,N}; X表示Tm,rn子任務數; tm,rnx表示編號為n的Tm,rn子任務, x∈{1,2,…,X}; prem,rnx表示tm,rnx的直接前驅任務集合; sucm,rnx表示tm,rnx的直接后繼任務集合; cpum,rnx表示完成tm,rnx執行所需的CPU周期數; ramm,rnx表示執行tm,rnx所需的內存量; ipm,rnx表示tm,rnx的輸入數據量; vmm,rnx表示tm,rnx卸載到ecr上后被安排執行的虛擬機編號; α表示路徑損耗因子; Em,rn表示Tm,rn各子任務的前驅后繼關系; Km,rn表示Tm,rn的卸載決策集; km,rnx表示tm,rnx的卸載決策; εr,u表示vmru的單位時間成本的系數; devmr表示ecr所服務編號為m的本地移動設備, m∈{1,2,…,M}; cpultotalr,m表示devmr的CPU總量; cpulrestr,m表示devmr的CPU剩余量; ramltotalr,m表示devmr的RAM總量; ramlrestr,m表示devmr的RAM剩余量; N表示devmr需要執行的依賴任務數; ξ表示設備芯片架構的有效電容系數[15]; f表示設備的計算能力; P表示設備的發射功率; U表示ecr下虛擬機數量; vmru表示ecr下編號為u的虛擬機, u∈{1,2,…,U}; cputotalr,u表示vmru的CPU總量; cpurestr,u表示vmru的CPU剩余量; ramtotalr,u表示vmru的RAM總量; ramrestr,u表示vmru的RAM剩余量; δ表示ecr虛擬機資源的最佳利用率上限[22]; URru表示ecr中編號為u的虛擬機的當前資源利用率.
1.2 執行模型
本文執行模型包含執行時間和執行能耗. 若依賴任務Tm,rn的子任務tm,rnx在計算能力為f且有效電容系數為ξ的設備d上執行, cpum,rnx為tm,rnx執行所需的CPU周期數, 則其執行時間TEm,rnx,d和執行能耗EEm,rnx,d分別為
TEm,rnx,d=cpum,rnxf,(1)
EEm,rnx,d=ξ2(f)·cpum,rnx.(2)
1.3 通信模型
當多個設備同時占用一個信道時, 由Shannon公式可得設備a到設備b的傳輸速率Vba為
Vba=Wlog21+SbaNa,(3)
其中W為信道帶寬, Sba為信號功率, Na為噪聲功率. 則tm,rnx的輸入數據ipm,rnx從設備a卸載到設備b的傳輸時間TTm,r
nx,a,b和傳輸能耗ETm,rnx,a,b分別為
TTm,rnx,a,b=ipm,rnxVba,(4)
ETm,rnx,a,b=TTm,rnx,a,b·Pa,(5)
其中Pa為設備a的發射功率.
2 算法設計
2.1 優化目標構建
tm,rnx的卸載策略km,rnx為
km,rnx=-1,中心云集群執行,0,本地移動設備執行,1,邊緣云集群執行.(6)
其中: km,rnx=-1, 表示tm,rnx卸載到中心云集群執行; km,rnx=0, 表示tm,rnx在本地移動設備devmr
執行; km,rnx=1, 表示tm,rnx卸載到邊緣云集群ecr執行.
由執行模型可得tm,rnx的執行時間TEm,rnx和執行能耗EEm,rnx:
TEm,rnx=km,rnx+12
·TEm,rnx,ecr+1-km,rnx2·TEm,r
nx,c+km,rnx-1·TEm,rnx,l,(7)
EEm,rnx=km,rnx+12·EEm,r
nx,ecr+1-km,rnx2·EEm,r
nx,c+km,rnx-1·EEm,rnx,l.(8)
若tm,rnx在ecr執行, 則執行時間和執行能耗分別為TEm,rnx,err和EEm,rnx,err; 若tm,rnx在devmr執行, 則執行時間和執行能耗分別為TEm,rnx,l和EEm,rnx,l; 若tm,rnx在中心云集群執行, 則執行時間和執行能耗分別為TEm,rnx,c和EEm,rnx,c.由通信模型, ipm,rnx的傳輸時間和傳輸能耗分別為TTm,rnx和ETm,rnx:
TTm,rnx=km,rnx+12·TTm,
rnx,ecr+1-km,rnx2·TTm,rnx,c,(9)
ETm,rnx=km,rnx+12·ETm,r
nx,ecr+1-km,rnx2·ETm,rnx,c.(10)
若tm,rnx在ecr執行, 則ipm,rnx的傳輸時間和傳輸能耗分別為TTm,rnx,ecr和ETm,rnx,ecr; 若tm,rnx在中心云集群執行, 則ipm,rnx的傳輸時間和傳輸能耗分別為TTm,rnx,c和ETm,rnx,c.就緒時間TRm,rnx是指tm,rnx可以開始執行的最早時間, 即tm,rnx前驅子任務最長完成時間與ipm,rnx傳輸時間相比的最大值, 即TRm,rnx=max{TTm,rnx,maxi∈perm,rnx{TRm,rni+TEm,rni}}.(11)
Tm,rn的完成時間TFm,rn為結束任務tm,rnx的就緒時間TRm,rnx與執行時間TEm,rnx的總和, 即TFm,rn=TRm,rnx+TEm,rnx.(12)
tm,rnx的能耗Em,rnx為ipm,rnx傳輸能耗與執行能耗的總和, Tm,rn的總能耗Em,rn為所有子任務的總能耗與計算依賴任務卸載方案算法能耗Em,rnDAG的總和, 即Em,rn=∑Xi=1Em,rnx+Em,rnDAG=∑Xi=1(ETm,rni+EEm
,rni)+Em,rnDAG.(13)
Tm,rn的邊緣云集群成本根據子任務執行時間計算, 即其所有子任務的邊緣云集群成本之和CECm,rn:
CECm,rn=" ∑i∈{xkm,rnx=1 amp; x∈{1,2,…,X}}CECm,rnx=∑i∈{
xkm,rnx=1 amp; x∈{1,2,…,X}}TEm,rnx·εr,vmm,rni.(14)
基于上述分析, 本文將云邊端協同環境中依賴任務卸載問題形式化為一個多目標優化問題P, 構建任務完成時間TFm,rn、 任務能耗Em,rn和邊緣云集群成本CECm,rn的多維優化目標, 即
P: minkm,rnx,vmm,rnx{TFm,rn,Em,rn,CECm,rn},
s.t. C1: km,rnx=-1,mini={1,2,…,U}{URri}≥δ,0,本地移動設備執行,
1,mini={1,2,…,U} {URri}lt;δ,
C2: vmm,rnx=j,km,rnx=1,0,km,rnx=0 或 km,rnx=-1,
j∈{1,2,…,U},(15)
其中: 約束C1表示km,rnx卸載決策的取值范圍和約束, URri表示ecr中編號為i虛擬機的資源利用率, ecr中虛擬機資源利用率的最小值表示ecr資源利用率, 當ecr資源利用率未達到最優上限δ時, 將任務卸載到邊緣云集群執行, 否則, 將任務卸載到中心云集群執行; 約束C2表示當卸載決策km,rnx≠1時, 子任務的虛擬機卸載編號vmm,rnx為0, 否則為vmm,rnx分配數值, 數值范圍為邊緣云集群ecr中的虛擬機編號集合.
2.2 基于偏好的卸載決策算法
依賴任務可劃分為數據密集型和計算密集型[23], 這兩種類型不互斥. 本文提出二維卸載偏好因子對子任務進行類型偏好設置, 設KRm,rn為Tm,rn子任務的二維卸載偏好因子集合, krm,rnx表示tm,rnx的二維卸載偏好因子, krm,rnx由一個二元組(computem,rnx,datam,rnx)表示:
krm,rnx=(1,1),cpum,rnxlt;cpulrestr,m, ramm,rnxlt;raml
restr,m, ipm,rnxlt;ipm,rnx,(1,0),cpum,rnxlt;cpulrestr,m
, ramm,rnxlt;ramlrestr,m, ipm,rnx≥ipm,rnx,(-1,1),cpul
restr,m≤cpum,rnxlt;cpultotalr,m, ramlrestr,m≤ramm,rnxlt;raml
totalr,m, ipm,rnxlt;ipm,rnx,(-1,0),cpulrestr,m≤cpum
,rnxlt;cpultotalr,m, ramlrestr,m≤ramm,rnxlt;ramltotalr,m, ip
m,rnx≥ipm,rnx,(0,1),cpum,rnx≥cpultotalr,m, ramm,rn
x≥ramltotalr,m, ipm,rnxlt;ipm,rnx,(0,0),cpum,rnx≥cpultot
alr,m, ramm,rnx≥ramltotalr,m, ipm,rnx≥ipm,rnx,(16)
ipm,rn=1X∑Xi=1ipm,rnx,(17)
其中: computem,rnx表示是否為計算密集型, 1為否, 0為是, -1趨于中間; datam,rnx表示是否為數據密集型, 1為否, 0為是; ipm,rn為Tm,rn子任務輸入數據的平均值.
首先根據式(16)得到KRm,rn, 然后devmr將所有依賴任務信息和KRm,rn發送到ecr基站, 根據ecr的計算屬性條件Θm,rnx, 得到部分子任務的卸載決策Km,rn. 計算屬性條件Θm,rnx定義為Θm,rnx=1,cpum,rnxlt;δ·cpurmin, ramm,rnxlt;δ·ramr
min,-1,cpum,rnx≥δ·cpurmax, ramm,rnx≥δ·ramrmax,0,其他,(18)
其中ramrmax和cpurmax分別為ecr中虛擬機的最大剩余內存容量和最大剩余CPU容量, ramrmin和cpurmin分別為ecr中虛擬機的最小剩余內存容量和最小剩余CPU容量.
綜上, 基于偏好的卸載決策算法如下.
算法1 基于偏好的卸載決策算法.
輸入: 任務信息Tm,rn, 本地移動設備信息devmr, 邊緣云集群信息ecr;
輸出: 二維卸載偏好因子集合KRm,rn, Tm,rn部分子任務的卸載決策集合Km,rn;
步驟1) 初始化KRm,rn,Km,rn,Θm,rn和Qm,rn, 根據式(17)計算ipm,rn;
步驟2) For tm,rnx∈Tm,rn do:
步驟3) 根據式(16)計算krm,rnx=(computem,rnx,datam,rnx)并且{krm,rnx}∪KRm,rn;
步驟4) If ipm,rnxlt;ipm,rn then datam,rnx=1并且{tm,rnx}∪Qm,rn;
步驟5) Else datam,rnx=0;
步驟6)" If computem,rnx=1 then km,rnx=0并且{km,rnx}∪Km,rn;
步驟7)" Else {tm,rnx}∪Qm,rn;
步驟8)" End if
步驟9) End if
步驟10) End for
步驟11) For tm,rnx∈Qm,rn do:
步驟12)" 根據式(18)計算Θm,rnx;
步驟13)" If Θm,rnx=1, (krm,rnx=(0,1)或krm,rnx=(0,0)) then km,rnx=1并且{km,rnx}∪Km,rn;
步驟14)" Else if Θm,rnx=-1, (krm,rnx=(0,1)或krm,rnx=(0,0)) then km,rnx=-1并且{km,rnx}∪Km,rn;
步驟15)" End if
步驟16) End for.
2.3 基于虛擬適應度交叉方法的NSGA-Ⅲ算法
本文對NSGA-Ⅲ算法的初始種群、 交叉操作和變異操作進行優化和改進.
構建初始種群: 首先由隨機的方式產生初始種群, 其中每個個體包含N條染色體, 染色體數量等于依賴任務的數量, 每條染色體代表該依賴任務的子任務的一組決策, 每條染色體上基因的數量等于該染色體對應的依賴任務的子任務數量, 每個基因代表每個子任務的決策. 將2.2節得到的部分子任務卸載決策填入初始種群, 即算法會根據得到的部分卸載策略對每個個體的部分基因進行預設定, 通過這種方式對初始種群進行預處理, 從而優化初始種群.
交叉操作: 本文將交叉操作分為對初始種群交叉操作和對非初始種群交叉操作. 對于非初始種群, 使用基于虛擬適應度的啟發式交叉方法. 在對種群個體進行非支配排序的過程中, 需要給每個非支配層指定一個虛擬適應度值, 非支配排序層級越低, 虛擬適應度值越大; 反之, 虛擬適應度值越小. 這樣可以保證在交叉操作中層級較低的非支配個體有更多機會被選擇進入下一代, 使算法以最快的速度收斂于最優區域. 對基因為P1和P2的父代個體, 其虛擬適應度分別為V1和V2, 設P1的非支配排序層級低于P2的非支配排序層級, 則V1gt;V2, 其交叉操作如下, 并生成后代個體S1和S2:
S1=V1V1+V2·P1+V2V1+V2·P2,S2=V2V1+V2·P1+V1V
1+V2·P2.(19)
變異操作: 在依賴任務卸載問題的場景下, 變異率太高會導致收斂過慢, 退化為隨機搜索, 變異率太低則會導致陷入局部最優; 當變異算子保持在[0.010,0.025]時, 結果能保持在較優的狀態[24].
基于虛擬適應度交叉的NSGA-Ⅲ算法如下.
算法2 基于虛擬適應度交叉方法的NSGA-Ⅲ算法.
輸入: KRm,rn,Km,rn,Tm,rn,devmr,ecr, 中心云集群信息;
輸出: 依賴任務卸載決策的Pareto最優解集;
步驟1) 隨機創建初始種群P, 根據Km,rn對P部分基因進行預設定, 得到種群P*, t=1;
步驟2) While t≤最大迭代次數 do:
步驟3)"" If 首次迭代 then
步驟4)""" 進行隨機交叉和變異操作, 得到新的子代種群Qt, 獲取父子代并集Rt=P*∪Qt;
步驟5)" Else 通過式(19)進行交叉和變異操作, 得到新的子代種群Qt, 獲取父子代并集Rt=Pt∪Qt;
步驟6)" 對Rt進行快速非支配等級劃分(F1,F2,…)=FNS(Rt), 初始化精英選擇的子代集合St, i=1;
步驟7)"" while Stlt;N0 do://每次迭代要選出N0個個體作為新一代種群
步驟8)""" St=St∪Fi;
步驟9)""" i=i+1;
步驟10)" End while
步驟11)" 得到最后一個前沿l=i-1;
步驟12)" If St=N then Pt+1=St;
步驟13)" Else基于參考點進行選擇最后一個前沿的操作[18];
步驟14)" End if
步驟15)" t=t+1;
步驟16) End while.
3 實驗結果與分析
3.1 對比算法
將本文算法與下列5種算法進行對比實驗.
1) 完全本地執行算法(AL): 將所有依賴任務的子任務放置在本地移動設備上處理.
2) 完全邊緣云集群卸載算法(AM): 將所有依賴任務的子任務卸載到邊緣云集群處理.
3) 隨機卸載算法(R): 所有依賴任務的子任務通過隨機算法進行任務卸載.
4) NSGA-Ⅱ算法: 所有子任務通過NSGA-Ⅱ算法得到卸載決策的Pareto最優解集.
5) NSGA-Ⅲ算法: 所有子任務通過NSGA-Ⅲ算法得到卸載決策的Pareto最優解集.
3.2 仿真環境設置
基于圖1模型, 本文設計一個由中心云集群、 邊緣云集群和本地移動設備組成的仿真環境. 所有實驗測試均在如表1所示的3種型號設備中進行, 仿真環境相關參數列于表2.
本文實驗任務數據集由仿真環境任務生成器隨機生成得到300~900個依賴任務.
3.3 模擬實驗結果分析
將本文算法與其他5種基線算法的實驗結果進行比較, 實驗結果均為5次實驗取平均值. 本文首先統計了平均完成時間、 平均完成能耗以及邊緣云集群成本這3個指標的性能對比, 結果列于表3和表4.
由表3和表4可見: AL算法中所有任務都在本地執行, 其邊緣云集群成本為0且平均任務完成時間最長, 隨著依賴任務的子任務數量增多, 平均任務完成時間和能耗顯著增長; AM算法中所有任務都在邊緣云服務器執行, 其邊緣云集群成本最高, 當本地移動設備或依賴任務子任務數的數量增加時, 邊緣云服務器的負載也越來越高; R算法通過隨機方式選擇卸載的位置, 其指標通常有較大的波動; NSGA-Ⅱ算法、 NSGA-Ⅲ算法和本文算法都屬于多目標優化算法, 與上述3種算法相比, 這3種算法性能更好. 本文算法基于NSGA-Ⅲ算法, 通過二維卸載偏好因子優化初始種群, 基于虛擬適應度改進了遺傳算法的交叉因子, 在保證種群多樣性的基礎上增加算法收斂速度, 減少算法搜索時間, 使實驗指標呈現出更優的任務卸載性能. 相比其他兩種多目標優化算法, 本文算法對上述3個指標平均優化了10.2%~18.3%.
為進一步評估本文算法, 下面對6種算法的任務失敗率指標進行對比實驗. 實驗設置平均任務完成時間的2倍作為任務最長容忍完成時間, 通過判斷任務實際執行時間是否超出任務最長容忍完成時間判斷任務是否失敗. 實驗結果如圖3和圖4所示. 由圖3和圖4可見, 相比其他多目標優化算法, 本文算法將任務失敗率平均降低了10.7%~25.6%, 并且隨著本地移動設備數量和子任務數量的上升, 本文算法任務失敗率的上升趨勢明顯緩于其他算法的上升趨勢.
綜上所述, 針對云邊端協同環境中依賴任務卸載時效率低以及任務卸載失敗的問題, 本文在云邊端協同環境中提出了一種基于偏好和虛擬適應度的兩階段依賴任務卸載算法. 首先根據實時環境計算出依賴任務的二維卸載偏好因子, 并通過二維卸載偏好因子對部分子任務進行直接偏好決策, 使用該部分決策對初始種群進行預處理, 最后通過基于虛擬適應度的啟發式交叉操作的NSGA-Ⅲ算法對全部任務的卸載決策進行最優解集的搜索, 從而在縮短算法搜索時間的情況下, 獲取Pareto最優解集, 同時降低了任務失敗率. 實驗結果表明, 本文算法能在合理卸載子任務的基礎上加快算法收斂速率, 呈現更好的性能和效率.
參考文獻
[1] GOUDARZI M, WU H, PALANISWAMI M, et al. An Application Placement Technique for Concurrent IoT Applications in Edge and Fog Computing Environments [J]. IEEE Transactions on Mobile Computing, 2021, 20(4): 1298-1311.
[2] BHARADWAJ H K, AGARWAL A, CHAMOLA V, et al. A Review on the Role of Machine Learning in Enabling IoT Based Healthcare Applications [J]. IEEE Access, 2021, 9: 38859-38890.
[3] SUN Z J, YANG H, LI C, et al. Cloud-Edge Collaboration in Industrial Internet of Things: A Joint Offloading Scheme Based on Resource Prediction [J]. IEEE Internet Things Journal, 2022, 9(18): 17014-17025.
[4] 羅新剛, 王萬銀. 基于正則化思想的tilt\|Euler法在邊緣深度反演中的應用 \. 吉林大學學報(地球科學版), 2024, 54(2): 633\|646." (LUO X G, WANG W Y. Application of Tilt\|Euler Method Based on Regularization in Edge Depth Inversion \. Journal of Jilin University (Earth Science Edition), 2024, 54(2): 633\|646.)
[5] WANG S Z, WANG W L, JIA Z T, et al. Flexible Task Scheduling Based on Edge Computing and Cloud Collaboration [J]. Computing System Science and Engineering, 2022, 42(3): 1241-1255.
[6] ZHOU H, WANG Z N, CHENG N, et al. Stackelberg-Game-Based Computation Offloading Method in Cloud-Edge Computing Networks [J]. IEEE Internet Things Journal, 2022, 9(17): 16510-16520.
[7] GAO J X, CHANG R, YANG Z P, et al. A Task Offloading Algorithm for Cloud-Edge Collaborative System Based on Lyapunov Optimization [J]. Cluster Computing: The Journal of Networks Software Tools and Applications, 2023, 26(1): 337-348.
[8] TONG Z, DENG X M, MEI J, et al. Response Time and Energy Consumption Co-offloading with SLRTA Algorithm in Cloud-Edge Collaborative Computing [J]. Future Generation Computer Systems, 2022, 129: 64-76.
[9] SUN X, TIAN C L, HU C H, et al. Privacy-Preserving and Verifiable SRC-Based Face Recognition with Cloud\|Edge Server Assistance [J]. Computing and Security, 2022, 118: 102740-1-102740-14.
[10] GUO K, ZHANG R L. Fairness-Oriented Computation Offloading for Cloud-Assisted Edge Computing [J]. Future Generation Computer Systems, 2022, 128: 132-141.
[11] ZHANG Y F, CHEN J, ZHOU Y C, et al. Dependent Task Offloading with Energy-Latency Tradeoff in Mobile Edge Computing [J]. IET Communications, 2022, 16(17): 1993-2001.
[12] XU F, XIE Y, SUN Y Y, et al. Two-Stage Computing Offloading Algorithm in Cloud-Edge Collaborative Scenarios Based on Game Theory [J]. Computing Electrical Engineering, 2022, 97: 107624\|1\|107624\|15.
[13] YUAN H T, HU Q L, WANG M J, et al. Cost-Minimized User Association and Partial Offloading for Dependent Tasks in Hybrid Cloud-Edge Systems [C]//IEEE 18th International Conference on Automation Science and Engineering. Piscataway, NJ: IEEE, 2022: 1059-1064.
[14] KHALID M H, AHMED I A, MARWA M K, et al. New Improved Multi-objective Gorilla Troops Algorithm for Dependent Tasks Offloading Problem in Multi-access Edge Computing [J]. Journal of Grid Computing, 2023, 21(2): 21-1-21-24.
[15] SONG F H, XING H L, WANG X H, et al. Offloading Dependent Tasks in Multi-access Edge Computing: A Multi-objective Reinforcement Learning Approach [J]. Future Generation Computer Systems, 2022, 128: 333-348.
[16] WANG P, LI K L, XIAO B, et al. Multiobjective Optimization for Joint Task Offloading, Power Assignment, and Resource Allocation in Mobile Edge Computing [J]. IEEE Internet Things Journal, 2022, 9(14): 11737-11748.
[17] LIU L, CHEN H M, XU Z T. SPMOO: A Multi-objective Offloading Algorithm for Dependent Tasks in IoT Cloud-Edge-End Collaboration [J]. Information, 2022, 13(2): 75\|1\|75\|15.
[18] SHAHIDINEJAD A, GHOBAEI-ARANI M. A Metaheuristic-Based Computation Offloading in Edge-Cloud Environment [J]. Journal of Ambient Intelligence and Humanized Computing, 2022, 13(5): 2785-2794.
[19] DEB K, JAIN H. An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part Ⅰ: Solving Problems with Box Constraints [J]. IEEE Transactions on Evolutionary Computation, 2014, 18(4): 577-601.
[20] 張西林, 林兵. 考慮多重不確定性因素的研發任務分配優化 [J]. 計算機系統應用, 2023, 32(7): 219-225. (ZHANG X L, LIN B. Task Allocation Optimization for Product Development Project Considering Multiple Uncertainties [J]. Computer Systems and Applications, 2023, 32(7): 219-225.)
[21] LIU J G, ZHANG Y M, REN J, et al. Auction-Based Dependent Task Offloading for IoT Users in Edge Clouds [J]. IEEE Internet of Things Journal, 2022, 10(6): 4907-4921.
[22] ZHU L L, FENG J H, LIU D, et al. Balanced Cloud Edge Resource Allocation Based on Conflict Conditions [J]. IEEE Access, 2020, 8: 193449-193461.
[23] YU M Y, LIU A F, XIONG N N, et al. An Intelligent Game-Based Offloading Scheme for Maximizing Benefits of IoT-Edge-Cloud Ecosystems [J]. IEEE Internet Things Journal, 2020, 9(8): 5600-5616.
[24] YI J H, DEB S, DONG J Y, et al. An Improved NSGA-Ⅲ Algorithm with Adaptive Mutation Operator for Big Data Optimization Problems [J]. Future Generation Computer Systems, 2018, 88: 571-585.
(責任編輯: 韓 嘯)