Joint Optimization of the Partition and Scheduling of DNN Tasks in Computing and Network Convergence

本文提出了一种端-边-网络-云(EENC)协作推理架构,结合集中式DNN任务卸载算法(CDTO),以解决计算和网络融合(CNC)中DNN推理任务的延迟问题。EENC架构旨在充分利用计算和网络资源,CDTO算法对多个DNN任务进行细粒度划分和调度,以降低推理延迟并最大化CNC的计算潜力。文章讨论了现有方案的局限性,并提出了新的计算和网络资源协同调度策略。
摘要由CSDN通过智能技术生成

Joint Optimization of the Partition and Scheduling of DNN Tasks in Computing and Network Convergence
计算与网络融合中DNN任务划分与调度的联合优化

  • 背景:计算和网络融合(CNC)是一种基于计算演化和网络集成的新型网络架构。深度神经网络(DNN)推理对移动设备造成了沉重的计算负担。
  • 解决的问题:如何减少DNN推理延迟并最大化CNC的计算潜力。
  • 方法:提出了一种端-边-网络-云(EENC)协作推理架构,并提出了一种启发式的集中式DNN任务卸载算法(CDTO),用于解决多个DNN推理任务的细粒度划分和调度问题。
  • 贡献:提出了一种EENC协作推理架构,这是第一个完全调度CNC中计算资源的协作推理架构。提出了一种低复杂度的CDTO算法,这是第一个用于多个DNN任务的细粒度划分和调度的解决方案。

I、Introduction

  • 背景:随着移动设备的算力增强,将DNN模型部署到移动设备的需求也不断增长。但是,DNN的推理计算会给资源受限的移动设备过多的计算负担,而使用云端执行又会出现高延迟隐私数据泄露的问题。
    在现有的工作中,有**端-云(end-cloud)协调推理的方案,他是将DNN模型分成两部分,一部分在移动设备进行,一部分在云端进行,这种方式无法最大限度利用网络资源;另一种是端-边缘-云(end-edge-cloud)**协调推理方案,可以将任务卸载到边缘结点或是云端加速推理。

  • 问题:而这两种方式都没考虑计算网络资源的整和。计算资源,仅仅用来计算任务;网络资源仅仅作为传输通道。

  • 可行性考虑:计算和网络融合(CNC)现以被广泛的研究。移动CN作为其中的一个分支,带有更多的独特需求。
    6G分布式云和通信系统将支持通过无线网络扩展的分布式AI原生基础设施。这意味着在所有网络节点和设备中启用DNN分布式和协作推理任务,但是较难对这么多(泛在)计算能力和网络能力进行调度。
    然后存在一个算力网络控制层,他能感知计算能力结点的资源信息,也就提供了泛在调度的前提。

    也就有了端-边缘-网络-云(end-edge-network-cloud)EENC实现计算资源协同调度。EENC是用来减少推理延时的。
    对于现实场景中,一般是多任务同时请求计算资源,对此提出一个算法基于排序的启发式集中DNN任务卸载算法(CDTO)用来精细划分和调度多DNN任务

写作过程梳理:
移动部署DNN带来的问题(推理负担过重)——现有的两种方案(端-云、端-边缘-云)——现有方案的问题(没能整和利用计算和网络资源)——解决问题的可行性(6G分布式云和通信系统、算你网络控制层的感知)——分别提出解决方案(计算资源、任务划分和调度)

II、系统模型

在这里插入图片描述
该架构包括两个主要层级:CNC资源层和CNC控制层。

  • CNC资源层是计算和网络资源的存放地。这里存放了用于执行深度神经网络(DNN)推理任务的计算设备和网络设备。

  • CNC控制层接收移动设备发来的DNN任务信息,并收集计算能力信息。然后,它将这些信息发送到资源调度单元进行进一步处理。控制层采用集成的CDTO算法,对任务进行分割和分布式计算调度的控制。

  • 移动设备通过增强的NAS信令(Non Access Stratum)向CNC控制层请求DNN计算任务。请求中携带了任务的属性和服务质量(QoS)信息。

  • 分段路由IPv6(SRv6)路由协议消息被用于收集计算能力信息和分配调度策略。这意味着SRv6协议被用来收集网络中各个节点的计算能力信息,并为任务分配合适的调度策略。

  • 最后,为了满足任务的低延迟要求,DNN推理任务在多个节点之间进行协作来实现高效执行。

变量与表示

  • T n = { r n , l n , G n } : T_n=\{r_n,l_n,G_n\}: Tn={rn,ln,Gn}由移动设备a生成的一个DNN推理任务

r n r_n rn表示发布时间:网络控制单元会根据先来先服务调度不同发布时间的任务,并将同时发布的任务聚合到一个队列中。网络控制单元主要就是寻找最优解,在同一发布时间的多任务划分和调度中。

l n l_n ln表示截止时间;

G n = ( V ⋃ { s , e } , L n ) G_n=(V\bigcup\{s,e\},L_n) Gn=(V{s,e},Ln)表示对推理任务的建模, V n = { v 1 n , v 2 n , … , v m n } V_n=\{v_1^n,v_2^n,\ldots,v_m^n\} Vn={v1n,v2n,,vmn}
V 、 L n V、L_n VLn表示的是顶点集和有向边的集合;
s 、 e s、e se是在现有DNN任务开始和结束结点加入的一个虚拟进入和退出结点。
v i n v_i^n vin表示一个子任务,每个自任务是DNN中的一层。
在这里插入图片描述

  • x i , d n x_{i,d}^n xi,dn:卸载选择,为1就是将任务卸载到设备 d d d.另外满足约束开始、结束卸载只能到移动设备,即 x 1 , a n = 1 , x m , a n = 1 x_{1,a}^n=1,x_{m,a}^n=1 x1,an=1,xm,an=1
    x i , d n = { 1 , i f v i n  is offloaded to device  d , 0 , o t h e r w i s e . ∑ d ∈ D x i , d n = 1 , ∀ i ∈ V n , D = A ∪ R \begin{gathered} x_{i,d}^{n} =\left\{\begin{matrix}1,ifv_i^n\text{ is offloaded to device }d,\\\\0,otherwise.\end{matrix}\right. \\ \sum_{d\in D}x_{i,d}^n =1,\forall i\in V_n,D=\mathbb{A}\cup\mathbb{R} \end{gathered} xi,dn= 1,ifvin is offloaded to device d,0,otherwise.dDxi,dn=1,iVn,D=AR

  • I ( x i , d n ) I(x_{i,d}^n) I(xi,dn):执行时间

由三个时间组成,读取输入数据 ρ p d i n \rho_{pd_i^n} ρpdin + 计算 + 写入输出数据 ρ i n \rho_{i}^{n} ρin
I ( x i , d n ) = R ( x i , d n ) + C ( x i , d n ) + W ( x i , d n ) I(x_{i,d}^n)=R(x_{i,d}^n)+C(x_{i,d}^n)+W(x_{i,d}^n) I(xi,dn)=R(xi,dn)+C(xi,dn)+W(xi,dn)读取时间: R ( x i , d n ) = ρ p d i n / b d i / o R(x_{i,d}^n)=\rho_{pd_i^n}/b_d^{i/o} R(xi,dn)=ρpdin/bdi/o b d i / o b_d^{i/o} bdi/o是设备d的I/O是带宽
计算时间: C ( x i , d n ) = F ( v i n ) / p d C(x_{i,d}^n)=F(v_i^n)/p_d C(xi,dn)=F(vin)/pd;F是对数据v进行浮点运算, p d p_d pd是设备d的浮点计算速度
写入时间: W ( x i , d n ) = ρ i n / b d i / o W(x_{i,d}^n)=\rho_i^n/b_d^{i/o} W(xi,dn)=ρin/bdi/o

  • T ( v i n , v j n ) T(v_i^n,v_j^n) T(vin,vjn):父子数据输时间
    T ( v i n , v j n ) = { ρ i n b d , d ′ + ρ i n b d ′ , w ∗ h d ′ , w , i f   d → d ′ w , ρ i n b d , w ∗ h d , w , o t h e r w i s e . (8) T(v_i^n,v_j^n)=\left\{\begin{array}{ll}\frac{\rho_i^n}{b_{d,d^{\prime}}}+\frac{\rho_i^n}{b_{d^{\prime},w}}*h_{d^{\prime},w},&\quad if~d\xrightarrow{d^{\prime}}w,\\\frac{\rho_i^n}{b_{d,w}}*h_{d,w},&\quad otherwise.\end{array}\right.\tag{8} T(vin,vjn)= bd,dρin+bd,wρinhd,w,bd,wρinhd,w,if dd w,otherwise.(8)

子任务 v n i v_n^i vni v n j v_n^j vnj分别被分配到设备 d 和 w,而且 d 和 w 不是同一个设备,那么就需要在它们之间传输数据。
数据传输时间取决于子任务 v n i v_n^i vni的输出数据量 ρ j j \rho_j^j ρjj,以及设备 d 和 w 之间的最短路径的跳数 h k , k h_{k,k} hk,k和数据率 b k , w b_{k,w} bk,w
如果设备 d 是一个移动设备,那么还需要经过它所关联的基站 d’ 来转发数据。

  • Q d comp , Q d tran {Q_d}^{\textit{comp}} , Q _ d ^ {\textit{tran}} Qdcomp,Qdtran:计算等待队列、传输等待对列

设备计算单元有限,会产出一些等待计算的子任务;
任务完成之后,任务之间需要把前驱任务产生的数据给后继任务,但带宽有限,会产生等待传输的任务数据。

  • S ( x i , d n ) S(x_{i,d}^n) S(xi,dn):开始的时间节点(比如是上午9点,不是一个时间长度)
    S ( x i , d n ) = max ⁡ { q d c o m p x i , d n , H ( x i , d n ) } , (9) S(x_{i,d}^n)=\max\{q_d^{comp}x_{i,d}^n,H(x_{i,d}^n)\},\tag{9} S(xi,dn)=max{qdcompxi,dn,H(xi,dn)},(9) q d c o m p = max ⁡ v j t ∈ p r e ( v i n ) { E ( x j , d t ) } , (10) q_d^{comp}=\max_{v_j^t\in pre(v_i^n)}\{E(x_{j,d}^t)\},\tag{10} qdcomp=vjtpre(vin)max{E(xj,dt)},(10)

子任务要开始执行,必须满足这两个条件:
(1) q d c o m p q_d^{comp} qdcomp:在计算对列中,该子任务前面的等待的其他子任务执行完成的时间结点;
(2)H:该子任务父节点的数据都已经传输完毕的时间结点

  • H ( x i , d n ) H(x_{i,d}^n) H(xi,dn):父任务传输到子任务的时间节点
    H ( x i , d n ) = max ⁡ v k n ∈ p d ( v i n ) { max ⁡ { E ( x k , w n ) , q w t r a n x k , w n } + T ( v k n , v i n ) } (11) H(x_{i,d}^n)=\max_{v_k^n\in pd(v_i^n)}\{\max\{E(x_{k,w}^n),q_w^{tran}x_{k,w}^n\}+T(v_k^n,v_i^n)\} \tag{11} H(xi,dn)=vknpd(vin)max{max{E(xk,wn),qwtranxk,wn}+T(vkn,vin)}(11) q w t r a n = max ⁡ ( v j t , v o t ) ∈ p r e ( v k n ) { H ( x j t , w ) } (12) q_w^{tran}=\max_{\left(v_j^t,v_o^t\right)\in pre(v_k^n)}\{H(x_j^t,w)\} \tag{12} qwtran=(vjt,vot)pre(vkn)max{H(xjt,w)}(12)

max ⁡ { E ( x k , w n ) , q w t r a n x k , w n } \max\{E(x_{k,w}^n),q_w^{tran}x_{k,w}^n\} max{E(xk,wn),qwtranxk,wn}是指准备开始传输的时间点,加上 T 传输的时间段,就是发完数据的时间节点。再取一个max,就是所有的父任务都到传到位。
准备开始传输的时间点,由该任务运行完成的时间节点和传输队列中的时间节点确定,由于两个条件都要满足,就要等到都完成,即取最大值。例如:任务完成了,但是传输队列还没到你,你得等到别人传完,就是依赖传输对列中其他的完成时间;传输对列中到你传了,但是你还没执行完成,还需要等你完成,这就是依赖完成任务的时间。

  • E ( x i , d n ) E(x_{i,d}^n) E(xi,dn):任务完成时间节点
    E ( x i , d n ) = { r n , i f v i n = v 1 n , r n + S ( v i n ) + I ( x i , d n ) , o t h e r w i s e . (13) E(x_{i,d}^n)=\left\{\begin{array}{lr}r^n,&ifv_i^n=v_1^n,\\r^n+S(v_i^n)+I(x_{i,d}^n),&otherwise.&\end{array}\right.\tag{13} E(xi,dn)={rn,rn+S(vin)+I(xi,dn),ifvin=v1n,otherwise.(13)

r :任务的发布时间
S S S是开始时间结点, I I I是任务执行时间段

时间节点有: 可以开始算的时间 q d c o m p q_d^{comp} qdcomp、可以开始发的时间 q d t r a n q_d^{tran} qdtran、任务完成的时间 E ( x i , d n ) E(x_{i,d}^{n}) E(xi,dn)、数据发完的时间 H ( x i , d n ) H(x_{i,d}^{n}) H(xi,dn)、开始的时间 S ( x i , d n ) S(x_{i,d}^n) S(xi,dn)

受计算单元约束,开始时间 S ( x i , d n ) S(x_{i,d}^n) S(xi,dn),就是最晚的 { 开始算的时间 q d c o m p q_d^{comp} qdcomp,数据发完的时间 H ( x i , d n ) H(x_{i,d}^{n}) H(xi,dn)}
受带宽约束,数据发完的时间 H ( x i , d n ) H(x_{i,d}^{n}) H(xi,dn),就是最晚的 { 开始发的时间 q d t r a n q_d^{tran} qdtran,任务完成的时间 E ( x i , d n ) E(x_{i,d}^{n}) E(xi,dn) } + 传输花的时间

优化目标

在满足截止时间的同时最小化所有任务的最大完工时间。
在这里插入图片描述

T F TF TF是最后子任务的完成时间 T F ( n ) = max ⁡ v i n ∈ V n { E ( x i , d n ) } TF(n)=\max_{v_i^n\in V_n}\left\{E(x_{i,d}^n)\right\} TF(n)=vinVnmax{E(xi,dn)}

III、CDTO算法

在这里插入图片描述
(16)式是用来计算每个子任务的优先级的公式。越高的优先级意味着越早被执行。
R p r ( v i n ) R^{pr}(v^n_i) Rpr(vin)表示第n个DNN任务的第i个子任务的优先级,它取决于它的子节点的优先级它自己的计算量

F ( v i n ) F(v^n_i) F(vin)表示第i个子任务的浮点运算数, p ˉ \bar{p} pˉ表示所有设备的平均计算能力, B ˉ \bar{B} Bˉ表示所有链路的平均数据速率。 η i n η^n_i ηin是一个二进制变量,用来确定是否需要数据传输。 θ i n θ^n_i θin表示计算时间和传输时间的比例。如果 v i n v^n_i vin v m n v^n_m vmn,也就是DNN任务的结束节点,那么它的优先级为0。

在这里插入图片描述
这个公式定义了 η i n η^n_i ηin的值,它是一个二进制变量,用来确定是否需要数据传输。β是一个人为设定的大常数,frand()是一个函数,它遵循均匀分布,可以生成[0,1)之间的随机实数。 θ i n θ^n_i θin表示计算时间和传输时间的比例。如果 1 − β − θ n i 1 − β^{−θ^{n_i}} 1βθni小于frand()生成的随机数,则 η i n η^n_i ηin为0,否则为1。

这个规则考虑了计算时间和传输时间的比例,以及一个人为设定的常数β。这样设计的目的是为了在计算和传输之间进行权衡,以便在满足性能要求的同时,尽可能减少数据传输。

怎么权衡的呢?

计算时间和传输时间的比例 θ i n θ^n_i θin被用来确定 η i n η^n_i ηin的值。如果 θ i n θ^n_i θin越大,那么 1 − β − θ n i 1 − β^{−θ^{n_i}} 1βθni就越大,frand()生成的随机数就更有可能小于 1 − β − θ n i 1 − β^{−θ^{n_i}} 1βθni,从而使 η i n η^n_i ηin等于1。这意味着当计算时间远大于传输时间时,更倾向于进行数据传输。
例如,如果计算时间远大于传输时间,那么就可以考虑增加设备数量,以提高并行度和执行效率。如果传输时间远大于计算时间,那么就可以考虑优化网络拓扑结构,以减少数据传输的延迟和等待时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lawey#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值