论文笔记:Computation Off-Loading in Resource-Constrained Edge Computing Systems Based on DRL

  • Computation Off-Loading in Resource-Constrained Edge Computing Systems Based on Deep Reinforcement Learning
    • 期刊:IEEE TRANSACTIONS ON COMPUTERS, VOL. 73, NO. 1, JANUARY 2024
    • 领域:边缘计算
    • 等级:CCF-A
    • 作者:Chuanwen Luo等
  • 背景:边缘计算是一种计算范式,它使资源更接近网络边缘,例如基站或网关,以便为移动设备提供快速有效的计算服务,同时减轻核心网络上的压力。
  • 问题:边缘服务器的当前计算能力不足以处理由接入设备生成的大量任务。此外,一些移动设备可能没有充分利用其计算资源。(资源利用率)
  • 解决方法:为了最大限度地利用资源,我们提出了一种新的边缘计算系统架构,包括一个资源受限的边缘服务器和三个计算组。来自每个组的任务可以卸载到边缘服务器或相应的计算组以供执行。我们专注于优化设备的计算卸载,以最大限度地减少系统中的最大整体任务处理延迟。该问题被证明是NP-难的。为了解决这个问题,我们提出了一种基于DQN的资源利用任务调度(DQNRTS)算法,该算法具有两个理想的特性:1)它有效地利用了系统中的计算资源,2)它使用深度强化学习来根据系统状态信息做出智能调度决策。实验结果表明,DQNRTS算法能够收敛到最优解,从而降低系统的处理延迟。

论文背景

(移动)移动设备有大量计算密集型和延迟敏感性的应用程序,如自动驾驶、面部识别、视频流分析等。这些应用对移动设备网络传输能力与计算能力提出了挑战。
(边缘)移动设备的性能有限(计算、存储、能源),不足以支持这些任务
(云)云计算减少延迟、能源消耗,但大量设备会导致网络阻塞,云和移动设备距离过长会导致延迟增加。
(边缘计算)解决上述问题
(提出资源利用率的问题)边缘服务器可能没有足够的资源计算,移动设备有丰富的计算资源,当任务等待边缘服务器资源时,这些资源没有被充分利用
(异构资源)针对具有不同计算资源的移动设备中的任务调度问题,已有一些工作致力于有效地利用设备内部的资源,如[12]、[13]、[14],其中每个设备配备了不同的处理芯片、CPU、GPU、DSP等。然而,这些工作并没有考虑多个设备的协同工作。

研究任务场景

![[Pasted image 20240222160221.png]]
受[15]中提出的计算能力网络分组方法的启发,我们考虑了一种新型的边缘计算系统架构,如图1所示,该架构由一个资源受限的边缘服务器和三个不同的计算组组成。同一计算组中的设备配备了相同类型的处理芯片,它们可以生成不同类型的任务。此架构允许设备将任务分流到边缘服务器或具有相应处理芯片的设备。为了解决所提出的边缘计算系统中的计算卸载优化问题,我们的目标是最小化所有任务的最大总体任务处理延迟。这一目标确保了不会有任何任务在执行时出现过多延迟,从而提高了效率和用户满意度。为了实现这一目标,我们开发了一种基于DQN的优化算法,该算法考虑了任务特征、设备能力和网络条件等各种因素。在决定是卸载任务还是在本地执行任务时,它还会考虑边缘服务器和设备的当前工作负载和资源限制。
我们考虑了边缘计算系统的体系结构,它由一个资源受限的边缘服务器和三个计算群组成。在系统中,任何设备都可以产生可划分为多个子任务的任务。在该系统中研究了计算卸载优化问题,目标是最小化所有任务的最大总任务处理延迟。为了解决这一问题,将设备产生的每个任务的子任务建模为一个加权有向无环图。在此基础上,提出了一种基于DQN的资源利用任务调度算法

具体的技术挑战

优化设备的计算卸载,以最大限度地减少系统中的最大整体任务处理延迟。该问题被证明是NP-难的。

论文的科研假设

  • 由于边缘服务器集成了大量不同类型的处理芯片,假设边缘服务器上任务的执行速度相当于在相同类型的设备上执行。
  • 边缘服务器上的计算硬件比计算组中的设备更强大。
  • 假设一台设备可以同时处理多个任务,且可以处理任意任务
  • 忽略边缘服务器将计算结果发回SIT所需的时间(光纤),因为反馈的信息通常很小(假设子任务的反馈结果很小)
  • 假设基站之间或基站与边缘服务器之间没有显著的通信时间,因为光纤链路的可用带宽足够大。
  • 由于无线下行链路数据传输速率高,因此可以忽略下行链路传输时间

主要的思路

研究目标的核心的算法和模型

A. 系统建模

![[Pasted image 20240222160221.png]]

  • LCG/PCG/NCG:三种计算资源组
  • F S F_S FS:边缘服务器S的计算资源
  • L = { s 1 1 , s 2 1 , . . . , s n 1 } L=\{s_1^1,s_2^1,...,s_n^1\} L={s11,s21,...,sn1}:LCG中的n个设备,都有计算资源 F 1 F_1 F1
  • P = { s 1 2 , s 2 2 , . . . , s m 2 } P=\left\{s_{1}^{2},s_{2}^{2},...,s_{m}^{2}\right\} P={s12,s22,...,sm2}:PCG中m个设备,都有计算资源 F 2 F_2 F2
  • W = { s 1 3 , s 2 3 , . . . , s k 3 } W=\left\{s_{1}^{3},s_{2}^{3},...,s_{k}^{3}\right\} W={s13,s23,...,sk3}:NCG中k个设备,都有计算资源 F 3 F_3 F3
  • Π = L ∪ P ∪ W \Pi=L\cup P\cup W Π=LPW s i t ∈ Π s_{i}^{t}\in\Pi sitΠ:代表计算组中第i个设备
  • F 1 = α 1 F S , F 2 = α 2 F S , F 3 = α 3 F S F_{1}=\alpha_{1}F_{S},F_{2}=\alpha_{2}F_{S},F_{3}=\alpha_{3}F_{S} F1=α1FS,F2=α2FS,F3=α3FS 0 < α 1 < 1 , 0 < α 2 < 1 ,  and  0 < α 3 < 1 \begin{aligned}0<\alpha_1<1,0<\alpha_2<1,\text{ and }0<\alpha_3<1\end{aligned} 0<α1<1,0<α2<1, and 0<α3<1

B. 任务模型

  • ξ 1  (cycles/bit) \xi_1\text{ (cycles/bit)} ξ1 (cycles/bit) ξ 2  (cycles/bit) \xi_2\text{ (cycles/bit)} ξ2 (cycles/bit):在同类型设备上运行的任务复杂度和不同类型设备上运行的任务复杂度
  • I i t = { D i t , λ i t , y i t } I_{i}^{t}=\{D_{i}^{t},\lambda_{i}^{t},y_{i}^{t}\} Iit={Dit,λit,yit}:设备 s i t ∈ Π s_{i}^{t}\in\Pi sitΠ的任务, D i t D_{i}^{t} Dit代表需要被处理数据的总数, λ i t ∈ { 1 , 2 , 3 } \lambda_i^t\in\{1,2,3\} λit{1,2,3}代表任务的类型, y i t ∈ { 0 , 1 } y_{i}^{t}\in\{0,1\} yit{0,1}代表任务是否可以拆分成并行运行的任务
  • G i t = ( V i t , E i t , W i t ) G_{i}^{t}=(V_{i}^{t},E_{i}^{t},W_{i}^{t}) Git=(Vit,Eit,Wit):任务 I i t I_{i}^{t} Iit的模型, V i t V_{i}^{t} Vit是顶点集合, E i t E_i^t Eit是边集合, W i t W_{i}^{t} Wit是边权重
  • K i t = < v i , l 1 t , v i , l 2 t , … , v i , l ∣ K i t ∣ t > K_{i}^{t}=<v_{i,l_{1}}^{t},v_{i,l_{2}}^{t},\ldots,v_{i,l_{|K_{i}^{t}|}}^{t}> Kit=<vi,l1t,vi,l2t,,vi,lKitt>:关键路径

C. 计算模型

对于每个任务,可能有多个子任务需要执行。所有子任务可以在其所属的设备上本地执行,也可以卸载到同一类型计算组或边缘服务器中的其他设备上。

  • M = max ⁡ { n , m , k } M=\max\{n,m,k\} M=max{n,m,k}, 三种计算资源组中最大设备数
  • a i , j , z t , τ ∈ { 0 , 1 } a_{i,j,z}^{t,\tau}\in\{0,1\} ai,j,zt,τ{0,1}任务 I i t I_i^t Iit的卸载决策, τ ∈ { 0 , 1 , 2 , 3 } \tau\in\{0,1,2,3\} τ{0,1,2,3}是计算资源组, j ∈ { 0 , 1 , . . . , M } j\in\{0,1,...,M\} j{0,1,...,M}代表资源组 τ \tau τ中的设备, z ∈ { 1 , . . . , ∣ V i t ∣ } z\in\{1,...,|V_{i}^{t}|\} z{1,...,Vit}代表子任务. a i , j , z t , τ = 1 a_{i,j,z}^{t,\tau}=1 ai,j,zt,τ=1代表由设备 s i t s_{i}^{t} sit在计算资源组t生成的任务 I i t I_i^t Iit的第z个子任务卸载到在计算资源组 τ \tau τ的设备 S j τ S_{j}^{\tau} Sjτ。当 τ \tau τ和j都是0的时候, a i , 0 , z t , 0 = 1 a_{i,0,z}^{t,0}=1 ai,0,zt,0=1,代表在边缘服务器上计算
  • 基于以上,可以得到约束(就是只能调度到一个地方运行): ∑ τ = 0 3 ∑ j = 0 M ∑ z = 1 ∣ V i t ∣ a i , j , z l , τ ∣ V i t ∣ = 1 , ∀ t , i . ( 1 ) a i , j , z t , τ ∈ { 0 , 1 } , ∀ t , τ , i , j , z . ( 2 ) \begin{aligned}\frac{\sum_{\tau=0}^3\sum_{j=0}^M\sum_{z=1}^{|V_i^t|}a_{i,j,z}^{l,\tau}}{|V_i^t|}&=1,\quad\forall t,i.&(1)\\a_{i,j,z}^{t,\tau}\in\{0,1\},&\forall t,\tau,i,j,z.&(2)\end{aligned} Vitτ=03j=0Mz=1Vitai,j,zl,τai,j,zt,τ{0,1},=1,t,i.t,τ,i,j,z.(1)(2)
  • 每个任务可以以以下三种方式运行:
    • edge processing
      卸载到edge 的 (三种计算资源组里面的) (所有设备的) (所有子任务) 需要的计算资源 不超过 edge总的计算资源 ∑ t = 1 3 ∑ i = 1 M ∑ z = 1 ∣ V i t ∣ a i , 0 , z t , 0 ξ 1 w i , z t ≤ F S . ( 3 ) \sum_{t=1}^{3}\sum_{i=1}^{M}\sum_{z=1}^{|V_{i}^{t}|}a_{i,0,z}^{t,0}\xi_{1}w_{i,z}^{t}\leq F_{S}.\quad\quad\quad\quad(3) t=13i=1Mz=1Vitai,0,zt,0ξ1wi,ztFS.(3)
      • 传输速率: R ( s i t , B t ) = U u l log ⁡ 2 ( 1 + P i t h i t σ 2 + φ t ) , ( 4 ) R(s_i^t,B_t)=U^{ul}\log_2\left(1+\frac{P_i^th_i^t}{\sigma^2+\varphi_t}\right),\quad\quad(4) R(sit,Bt)=Uullog2(1+σ2+φtPithit),(4) Uul \text{Uul} Uul是带, h i t h_i^t hit是信道增益
      • 信道增益: h i t = μ i t A d ( v c 4 π f c d i l ) d e , ( 5 ) h_i^t=\mu_i^tA_d\left(\frac{v_c}{4\pi f_cd_i^l}\right)^{d_e},\quad\quad\quad(5) hit=μitAd(4πfcdilvc)de,(5)
      • 传输延迟: T i t r = D i t R ( s i t , B t ) . ( 6 ) T_{it}^{r}=\frac{D_{i}^{t}}{R(s_{i}^{t},B_{t})}.\quad\quad\quad\quad\quad\quad(6) Titr=R(sit,Bt)Dit.(6)
      • 执行延迟:(关键路径所有子任务的计算数据量) T i t e c = ξ 1 ∑ v i , l k t ∈ K i t w i , v i , l k t t F S , ( 7 ) T_{it}^{ec}=\frac{\xi_1\sum_{v_{i,l_k}^t\in K_i^t}w_{i,v_{i,l_k}^t}^t}{F_S},\quad\quad\quad\quad(7) Titec=FSξ1vi,lktKitwi,vi,lktt,(7)
      • 总延迟: T i t e = T i t r + T i t e c . ( 8 ) T_{it}^{e}=T_{it}^{r}+T_{it}^{ec}.\quad\quad\quad\quad\quad\quad(8) Tite=Titr+Titec.(8)
    • local processing
      • 约束$ ∑ z = 1 ∣ V i t ∣ a i , i , z t , t ( ξ 1 I { λ i t = t } + ξ 2 ( 1 − I { λ i t = t } ) ) w i , z t + ∑ r = 1 3 ∑ j = 1 M ∑ z = 1 ∣ V j τ ∣ a j , i , z τ , t ξ 1 w j , z τ ≤ F t , t ≠ τ , ( ∅ ) \begin{aligned}\sum_{z=1}^{|V_{i}^{t}|}a_{i,i,z}^{t,t}(\xi_{1}\mathbb{I}\left\{\lambda_{i}^{t}=t\right\}+\xi_{2}(1-\mathbb{I}\left\{\lambda_{i}^{t}=t\right\}))w_{i,z}^{t}\\&+\sum_{r=1}^{3}\sum_{j=1}^{M}\sum_{z=1}^{|V_{j}^{\tau}|}a_{j,i,z}^{\tau,t}\xi_{1}w_{j,z}^{\tau}\leq F_{t},\quad t\neq\tau,\quad(\emptyset)\end{aligned} z=1Vitai,i,zt,t(ξ1I{λit=t}+ξ2(1I{λit=t}))wi,zt+r=13j=1Mz=1Vjτaj,i,zτ,tξ1wj,zτFt,t=τ,()本设备任务需要的计算资源+别的设备卸载到本设备需要的计算资源 <= 本设备总计算资源
      • 本地计算延迟: T i t l = ( ξ 1 I { λ i t = t } + ξ 2 ( 1 − I { λ i t = t } ) ) ∑ v i , l k t ∈ K i t w i , v i , l k t t F t . ( 10 ) T_{it}^l=\frac{(\xi_1\mathbb{I}\left\{\lambda_i^t=t\right\}+\xi_2(1-\mathbb{I}\left\{\lambda_i^t=t\right\}))\sum_{v_{i,l_k}^t\in K_i^t}w_{i,v_{i,l_k}^t}^t}{F_t}.(10) Titl=Ft(ξ1I{λit=t}+ξ2(1I{λit=t}))vi,lktKitwi,vi,lktt.(10)
    • 其他计算资源协助计算
      • 将任务传递到基站延迟(上传延迟): T i t r = D i t R ( s i t , B t ) . ( 11 ) T_{it}^{r}=\frac{D_{i}^{t}}{R(s_{i}^{t},B_{t})}.\quad\quad\quad\quad(11) Titr=R(sit,Bt)Dit.(11)PS:任务传递到基站后,分发到设备的延迟(下载延迟)忽略
      • 执行延迟: T i t o c = ∑ v i , l k t ∈ K i t ξ 1 w i , v i , l k t t F τ . ( 12 ) T_{it}^{oc}=\sum_{v_{i,l_k}^t\in K_i^t}\frac{\xi_1w_{i,v_{i,l_k}^t}^t}{F_\tau}.\quad\quad\quad\quad\quad\quad\quad\quad\quad(12) Titoc=vi,lktKitFτξ1wi,vi,lktt.(12)
      • 子任务迁移成本(在不同设备上执行才有): T i t m = { C i t ∑ k = 2 ∣ K i t ∣ I { q k ≠ q l k − 1 } , i f   ∣ K i t ∣ > 1 , 0 , i f   ∣ K i t ∣ = 1. ( 13 ) T_{it}^m=\begin{cases}C_i^t\sum\limits_{k=2}^{|K_i^t|}\mathbb{I}\left\{q_k\neq q_{l_{k-1}}\right\},&\mathrm{if~}|K_i^t|>1,\\0,&\mathrm{if~}|K_i^t|=1.\end{cases}\quad(13) Titm= Citk=2KitI{qk=qlk1},0,if Kit>1,if Kit=1.(13)
      • 总延迟: T i t a = T i t r + T i t o c + T i t m . ( 14 ) T_{it}^a=T_{it}^r+T_{it}^{oc}+T_{it}^m.\quad\quad\quad\quad(14) Tita=Titr+Titoc+Titm.(14)
    • 基于以上三种情况,总延迟可以概括为: T i t = ∑ z = 1 ∣ V i t ∣ ( a i , i , z t , t ∣ V i t ∣ T i t t , 0 + a i , 0 , z t , 0 ∣ V i t ∣ T i t e + ∑ τ = 1 3 ∑ j = 1 M a i , j , z t , τ ∣ V i t ∣ T i t a ) , t ≠ τ . ( 15 ) \begin{aligned}T_i^t=\sum_{z=1}^{|V_i^t|}\left(\frac{a_{i,i,z}^{t,t}}{|V_i^t|}T_{it}^{t,0}+\frac{a_{i,0,z}^{t,0}}{|V_i^t|}T_{it}^{e}+\sum_{\tau=1}^{3}\sum_{j=1}^{M}\frac{a_{i,j,z}^{t,\tau}}{|V_i^t|}T_{it}^{a}\right),&t\neq\tau.\\(15)\end{aligned} Tit=z=1Vit(Vitai,i,zt,tTitt,0+Vitai,0,zt,0Tite+τ=13j=1MVitai,j,zt,τTita),(15)t=τ.

D. 问题定义

$$
\begin{aligned}
&&(\mathcal{P}):min max{T_i^t}\forall t,i(16) \
\text{subjectto:} \
&&\begin{aligned}\frac{\sum_{\tau=0}3\sum_{j=0}M\sum_{z=1}{|V_it|}a_{i,j,z}{t,\tau}}{|V_it|}=1,\forall t,i& \end{aligned}\text{(16a)} \
&&\begin{aligned}\sum_{t=1}3\sum_{i=1}M\sum_{z=1}{|V_it|}a_{i,0,z}{t,0}\xi_1w_{i,z}t\leq F_S\end{aligned} \text{(16b)} \
&&\begin{aligned}\sum_{z=1}{|V_it|}\left(a_{i,i,z}{t,t}(\xi_1\mathbb{I}\left{\lambda_it=t\right}+\xi_2(1-\mathbb{I}\left{\lambda_it=t\right}))w_{i,z}t\right.&\left.+\sum_{\tau=1}3\sum_{j=1}M\sum_{z=1}{|V_j\tau|}a_{j,i,z}{\tau,t}\xi_1w_{j,z}\tau\right)\leq F_t, t\neq\tau\end{aligned}\text{(16c)} \
&&\begin{aligned}\sum_{j=1}{|V_it|}w_{i,j}t=D_it,\forall t,i(1\text{6d})\end{aligned} \

&&\begin{aligned}a_{i,j,z}^{t,\tau}\in{0,1},\quad\forall t,\tau,i,j,z&\end{aligned}\text{(16c)}\

&&\begin{aligned}\lambda_i^t\in\left{1,2,3\right},\quad\forall t,i&\text{(16f)}\end{aligned}

\end{aligned}\ $$

  • (16):最小化所有任务中的最大总体任务处理延迟
  • (16a):确保其每个子任务i可以在本地设备上执行、卸载到边缘服务器、或分配给相应计算组中的设备以供执行。
  • (16b):确保在边缘服务器处执行的任务所需的计算资源的总和不超过边缘服务器的总计算资源。
  • (16c):确保设备本地计算的和被卸载计算的总和不超过本设备的资源总和
  • (16d):确保对子任务数据大小的约束,其中子任务数据大小之和等于任务的数据大小

问题转换:在调度任务时,系统需要考虑任务的类型和并行性以及设备和边缘服务器的资源情况。因此,问题P可以被认为是一个多维背包问题,其中每个设备(包括边缘服务器)都是一个背包,每个任务是一个具有多个属性的项目。多维背包问题的目标是将物品放入背包,使每个背包的总资源不超过其容量,同时最大化所有物品的总价值。多维背包问题已被证明是NP困难的。我们可以建立从多维背包问题到问题P的多项式时间归约,从而证明了问题P也是NP难的。

实验部分

  • 评价指标:
    • 资源利用率
    • 平均处理延迟
  • 实验设计:
    • 分析不同参数对边缘服务器和三个计算组的资源利用率的影响来进行评估
      • (任务不变,设备数增加)n =6, m =7, k =8,每个任务大小为170MB,计算资源组设备数分别从3增加到11:三个计算组的资源增加,资源利用率降低
        ![[Pasted image 20240225193934.png]]
      • (任务变大,设备数不变)n =6, m =7, k =8,每个任务从150MB增加到200MB,增长幅度为5MB:数据量增加,资源利用率增加(算法有效)
        ![[Pasted image 20240225194059.png]]
      • 任务、设备数不变,边缘服务器计算资源增加:资源利用率降低
        ![[Pasted image 20240225194355.png]]
      • 任务、设备数不变,设备计算资源增加:资源利用率降低
        ![[Pasted image 20240225194454.png]]
      • 任务复杂度增加,其他不变:资源利用率增加
        ![[Pasted image 20240225194544.png]]
    • 比较了DQNRTS算法和其他四种算法的性能(平均处理延迟)
      ![[Pasted image 20240225194650.png]]

相关工作

  • 计算卸载是边缘计算中的一个关键研究问题。许多研究者致力于研究计算卸载优化问题,如[16]、[17]、[18]。
  • 通常,研究人员将问题描述为混合整数规划(MIP)问题,并提出了求解该问题的有效算法,如[19]、[20]、[21]、[22]所示。提出了一种将移动设备负载转移到多个边缘设备的优化框架。他们利用基于线性松弛的方法来固定CPU频率,并使用穷举搜索和半定松弛来放松CPU频率限制。
    • 在[20]中,Bietal研究了一种多用户移动边缘计算网络。他们假设网络中的每台设备都遵循二进制计算策略。为了优化时间分配,他们引入了一种简单的双区间搜索算法来寻找条件最优解。此外,他们还开发了一种坐标下降法来优化网络中的模式选择。
    • 在[21]中,Du et al.提出了一种考虑共存任务间通信代价以及非驻留任务间通信代价不对称性的异质模型。他们认识到考虑这些成本的重要性,并设计了一种有效的启发式贪婪算法来获得问题的次优解。
    • Chen等人[22]综合考虑了数据收集和资源分配两大问题,将其归结为一个复杂的混合整数非线性规划问题,并将其归类为:基于深度强化学习111的资源受限边缘计算系统中的计算卸载为NP-Hard。在这个问题中,作者努力在确保服务质量的同时最大化系统的吞吐量。在大规模边缘计算网络中,上述方法都面临着计算复杂度高的问题。
  • 由于深度强化学习在处理高维状态和动作空间方面的优势,研究人员将重点放在使用深度强化学习方法来解决计算卸载问题,如[23]、[24]、[25]、[26]。
    • Huang等人的研究成果。[23]针对无线供电的移动边缘计算网络,开发了基于深度强化学习的在线卸载(DROO)框架,以根据不断变化的无线信道条件优化任务卸载决策和无线资源分配。
    • 唐等人。[24]重点研究了任务分流问题,提出了一种基于无模型深度强化学习的分布式算法,以最小化长期成本。
    • Dinh等人。[25]针对基于区块链的移动边缘计算系统,提出了一种基于多智能体深度确定性策略梯度算法的分布式深度强化学习方法。
    • Wu等人。[26]提出了一种动态资源分配与卸载方案,将资源分配视为部分可观测的马尔可夫决策过程,并利用策略梯度深度强化学习来优化边缘计算系统的计算性能和能量消耗。总体而言,这些研究证明了深度强化学习在解决大规模边缘计算网络中的计算卸载挑战方面的潜力。
  • 为了有效地解决边缘计算应用中任务之间的相互依赖问题,考虑任务之间的依赖关系是非常重要的。这可以通过将应用程序建模为有向无环图(DAG)来实现,DAG表示任务之间的关系和依赖关系。
    • 在[27]中,Chen et al.针对基于DAGs的多依赖任务的计算卸载问题,提出了一种具有两个嵌入层的行动者-批评者机制。该方法通过考虑任务之间的依赖关系来实现高效的任务卸载。
    • 类似地,Wang et al.提出了一种基于DRL的任务卸载(DRLTO)方案,该方案还使用DAG来表示依赖任务[28],他们使用非策略强化学习,并结合S2S(Sequence To Sequence)神经网络,有效地提取任务之间的依赖特征,优化任务卸载决策。
  • 然而,使用DAG来表示依赖关系可能会在物联网应用环境中带来额外的开销。为了克服这一挑战,
    • Goudarzi等人。提出了一种基于参与者-批评者方法的分布式应用程序放置技术[29],并结合自适应偏差策略校正方法来加速收敛到最优解。考虑到这些以前的工作,很明显,在解决手头的问题时,考虑到任务之间的相互依赖是至关重要的,这可以使用DAG有效地表示。
    • 在[30]中,Liu et al.研究了移动边缘计算系统中具有任务依赖需求的移动应用程序的计算卸载挑战,重点研究了系统截止期违规率(DVR)。为了解决这个问题,他们开发了一个任务迁移和合并模型,以有效地为所有相关任务构建一个全面的DAG。在确定最优任务执行顺序方面,提出了一种支持迁移的多优先级任务排序算法。然后,提出了一种基于深度确定性策略梯度(DDPG)的学习算法来寻找最优的卸载策略。
  • 这种对设备之间计算资源协作的缺乏关注是当前研究中的一个重大差距。当计算资源有限时,研究人员忽视了设备之间协作和资源共享的潜力,从而错失了提高计算效率、减少延迟和增强整体系统性能的机会。通过实现设备之间的计算资源协作,我们可以利用多个设备的集体能力来处理复杂的计算任务。这种协作可以通过任务分流(一个设备将其部分工作负载委托给另一个设备)或分布式计算(多个设备协同工作以并行处理数据)来实现。因此,我们考虑了边缘计算系统的体系结构,它由一个资源受限的边缘服务器和三个计算群组成。在系统中,任何设备都可以产生可划分为多个子任务的任务。在该系统中研究了计算卸载优化问题,目标是最小化所有任务的最大总任务处理延迟。为了解决这一问题,将设备产生的每个任务的子任务建模为一个加权有向无环图。然后提出了一种基于DQN的资源利用任务调度算法(DQNRTS)。
  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值