基于DRL的边缘任务调度

基于深度强化学习的边缘计算网络任务调度

摘要

随着5G移动网络服务的快速发展,海量数据在网络边缘激增。云计算服务面临延迟长和带宽需求大的问题。边缘计算已成为降低5G移动网络中服务延迟和流量负载的关键技术。然而,如何在边缘计算环境中智能地调度任务仍然是一个关键挑战。本文定义了在云边网络架构中最小化任务调度延迟的优化问题。该问题被证明是NP难的,并基于马尔可夫决策过程进行建模。我们设计了一种基于异步优势演员评论家的云边协同调度算法(CECS‐A3C)。仿真结果表明,所提出的算法具有良好的收敛速度,与现有的DQN和RL‐G算法相比,平均可将任务处理时间分别减少28.3%和46.1%,同时保持性能的可扩展性。

关键词 —边缘计算,任务调度,深度强化学习,延迟优化

一、引言

深度神经网络(DNN)在各种应用中取得了巨大成功,例如自动驾驶[1],语音识别[2]和计算机视觉[3]。与此同时,移动终端的数量急剧增加。这些能够获取大量环境数据的用户设备(UDs)对深度学习(DL)应用具有吸引力[4]。大量数据可以支持DNN模型的训练,而DNN模型反过来可以为用户设备上的DL应用提供智能分析。然而,这些能量和计算资源有限的用户设备无法承担计算密集型任务(如人脸识别)。因此,DNN模型通常被部署在具有充足计算资源的云服务器上。当数据从用户设备卸载到云服务器时,云与网络边缘之间的距离通常过远,导致延迟长且不稳定[5]。

边缘计算是一种新兴的计算平台,其核心原理是将计算能力推向网络边缘。与传统的云计算相比,边缘节点更靠近用户设备。通过将任务卸载到边缘节点进行处理,可以减少数据传输延迟,也能保障实时应用的需求[6]。此外,边缘计算可以提供更好的隐私保护措施[7]。许多研究人员利用边缘计算的特点来优化深度学习任务的延迟,降低计算负担并提高能效[8][9]。然而,在边缘计算场景的任务卸载中,针对深度学习任务的卸载策略较少。此外,大多数现有研究仅考虑单个边缘计算服务器。在异构边缘计算环境中,由于DNN模型的巨大资源需求,资源受限的边缘节点只能部署具有较低计算需求的小型DNN模型。小型DNN模型意味着推理准确率的妥协,即当前现状无法满足深度学习应用的需求。因此,需要考虑多个边缘节点协作的方案来处理深度学习任务。

因此,为深度学习任务从云和边缘节点中选择合适的卸载目标是一个挑战。本文聚焦于边缘计算环境中的深度学习任务调度问题,旨在最小化任务处理延迟。同时,我们提出了一种基于深度强化学习(DRL)的调度算法以解决上述挑战。

本文的主要贡献如下。
1) 我们专注于优化深度学习任务调度的延迟成本。提出了面向延迟优化的任务调度(TSDO)问题,并证明其为NP难问题。
2) 考虑到所提出问题的高复杂性以及边缘计算网络资源的局限性,我们提出了一种基于异步优势执行者‐评论者策略的云‐边协同调度算法(CECS‐A3C)来解决TSDO问题。
3) 进行了充分实验以分析CECS‐A3C的性能以及不同参数设置的影响。实验结果表明,在保证可扩展性能的前提下,与现有的DQN和RL‐G算法相比,所提出算法可将任务处理时间平均减少28.3%和46.1%。

本文的其余部分组织如下。在第2节中,我们回顾了相关工作。在第3节中,我们阐述了系统模型,提出了优化问题,并证明了其NP‐难性。DRL方法在第4节中提出。性能评估在第5节中给出。第6节总结了本文。

示意图0

II. 相关工作

在本部分中,我们首先介绍边缘计算中的任务调度研究,然后讨论深度强化学习的应用。

A. 边缘计算中的任务调度

任务调度是边缘计算中的关键技术,在提高资源利用率和为用户提供高质量服务方面发挥着重要作用。一个好的任务调度策略能够灵活适应边缘和云计算的动态环境,有效减少用户提交任务所需的时间,并提升资源利用效率。

Sardellitti等人[10]提出了多用户边缘计算系统的任务调度和资源管理策略,在保证服务质量的同时最小化所有用户的能耗。在单用户情况下,优化问题的最优解以解析形式给出;在多用户场景下,设计了一种基于连续凸近似算法的迭代策略以获得局部最优解。郭等人[11]研究了在共享通信带宽资源的情况下如何对多个设备的任务进行卸载和调度。该延迟最小化问题被建模为混合整数线性规划问题,并提出了一种近似求解算法。上述研究分别针对卸载调度优化中的能耗最小化和延迟最小化,但均基于仅存在一个边缘节点的情况。针对多个边缘云中的任务调度问题,吴等人[12]设计了一种基于遗传算法和模拟退火算法的任务调度算法,并采用分解技术降低算法复杂度。然而,深度学习任务的推理依赖于复杂的DNN模型,需要更具针对性的调度策略。

B. 深度强化学习的应用

强化学习(RL)是一种数据驱动的无模型算法,已广泛应用于任务调度系统[13]。其基本思想是通过最大化智能体从环境状态变化中获得的奖励来调整策略以实现目标。由于自身局限性,它无法很好地处理高维和连续性问题。深度学习方法侧重于输入的感知与表达,擅长发现数据特征。结合深度学习可以弥补强化学习的不足。因此,目前研究人员最关注的是将强化学习与深度学习相结合的深度强化学习算法。深度强化学习可利用边缘节点作为智能体来学习调度策略,并且不需要关于环境的全局信息。

深度强化学习包括基于价值函数和策略梯度两种基本方法。
魏等人[14]采用基于策略梯度的Actor‐Critic强化学习方法设计了一种在线任务卸载策略,能够持续动态地调整策略以适应无线信号强度和服务请求的变化。曾等人[15]设计了一种基于DQN的算法来编排网络边缘资源。DQN是一种典型的基于价值函数的深度强化学习方法。它能够挖掘模型移动规律,并据此做出正确决策,以平衡虚拟机迁移成本和数据传输成本,从而长期降低总成本。由于雾节点的不同位置和性能会影响物联网应用的服务质量(QoS),[16]针对雾计算环境引入了一个四层卷积神经网络(CNN)模型。改进后的DQN算法用于解决多层雾计算结构中的移动群智感知任务调度问题。该方案在有限雾节点基础上实现了良好的实时任务调度性能。这些算法使用经验回放机制。每个智能体与环境交互都需要大量内存计算资源,这对边缘计算环境并不友好。本文提出采用异步优势Actor‐Critic强化学习算法用于深度学习任务调度。

III. 系统模型与问题定义

本文中的网络场景基于集中式的边缘节点交互环境。每个边缘节点区域均设有边缘路由器,用于部署任务调度器并控制该区域内边缘节点的交互。当用户设备需要上传数据以进行深度学习任务处理时,会向边缘路由器发送请求。在任务调度器中,边缘路由器根据任务请求信息以及系统中各节点收集的状态信息生成最优的调度决策,然后将任务分配给边缘节点或云服务器。最后,用户设备将数据上传至指定的边缘节点或云服务器。

由于边缘计算环境的异构性,每个边缘节点的计算能力不同,资源有限的节点可能无法部署完整的DNN模型。资源有限的边缘节点可以部署小型DNN模型,而计算资源较多的边缘节点可以部署大型DNN模型。更大更深的深度神经网络模型意味着任务推理的准确率更高。我们可以利用DNN模型中层间数据传输的特性来进行任务推理。如果任务无法在当前边缘节点获得推理结果,可以将其转移到下一个边缘节点或部署了更大模型的云服务器以继续任务处理。这种协同模型可以替代原先仅将任务上传至云服务器的方式。

总之,我们提出了一项任务调度的优化问题。即,在给定一个云服务器和一组部署了深度学习模型的边缘节点的情况下,任务调度问题试图选择边缘节点和云服务器进行协同处理,以满足用户的任务需求。优化目标是最小化任务的平均延迟成本。我们将此问题定义为TSDO——面向延迟优化的任务调度。

A. 边缘处理成本

我们用任务 $T_n={z_n, d_n, \tau_n, p_n}$ 表示,其中 $z_n$ 表示计算任务n的输入数据大小,$d_n$ 表示完成任务n所需的CPU总周期数,$\tau_n$ 表示用户可容忍的最大延迟。$p_n$ 表示任务n的延迟敏感度。延迟敏感度越高,任务的优先级越高。我们将此因素加入成本函数中。

任务是在边缘处理还是传输到云,由边缘路由器决定,定义
$$
a_n =
\begin{cases}
1 & \text{task } n \text{ is execute at the edge}, \
0 & \text{task } n \text{ is to send the cloud}.
\end{cases}
\quad (1)
$$

如果 $a_n=1$,则任务$n$在边缘执行。此时,边缘上的任务处理时间$T^E_a$由三部分组成:第一,任务上传到边缘节点的时间$T^E_u$;第二,任务在边缘节点的计算时间$T^E_c$;第三,任务结果返回给用户的时间$T^E_r$。因此,总的 task 处理时间表示为
$$
T^E_a = T^E_u + T^E_c + T^E_r. \quad (2)
$$

根据[17],我们可以忽略结果返回时间对任务卸载的影响,因为任务处理后的输出远小于输入。然后我们定义卸载时间为
$$
T^E_a = T^E_u + T^E_c. \quad (3)
$$

其中,$T^E_u$可表示为
$$
T^E_u = \frac{z_n}{B \log_2(1 + \frac{P_u L_{os}}{\sigma})}, \quad (4)
$$
其中 $z_n$ 是任务n的数据大小,$L_{os}$是信道功率增益,$P_u$是发射功率,B是带宽,$\sigma$是信道内的高斯噪声功率。我们根据蜂窝无线环境中的无线干扰模型,将$L_{os}$定义为基于距离的函数 $L_{os}=d^{-\alpha}$,其值根据论文[18]取为4。在计算中,$\sigma$被定义为$-100$dBm。

当任务n被分配到边缘节点k上执行时,该任务所需的CPU周期数记为$d_n$。当前节点为此任务分配的资源数记为$c_{n,k}$和$C_k$是边缘节点k的最大可用计算资源。任务在边缘节点k上的处理时间$T^E_c$可表示为$T^E_c = d_n / c_{n,k}$。

B. 云处理的成本

如果 $a_n=0$,则任务$n$在云中执行。云服务器通常具有充足的计算资源和内存,因此深度学习任务的云计算时间可以忽略不计。在云上的任务处理时间可表示如下:
$$
T^C_a = q_n, \quad (5)
$$
其中 $q_n$是由任务数据上传到云服务器引起的固定延迟。

C. 优化目标

假设存在任务调度策略、网络条件和计算资源分配,时隙t中任务调度的平均时间成本为
$$
C(t) = \sum_{n=1}^{N} \left[ \frac{1}{N} T^E_a + \frac{1}{N} T^C_a (1 - a_n) \right] (1 - p_n). \quad (6)
$$
第一部分是任务在边缘处理的时间开销,第二部分是任务在云服务器上处理的时间开销。

我们定义用户设备集合$U={1, 2,…, U}$处于边缘节点集合$K={1, 2,…, K}$的服务范围内。边缘路由器是$K$个节点之一。在时隙$t$,边缘路由器从用户设备接收到$n$个任务请求,每个请求包含一个延迟敏感标志。边缘路由器收集$n$个计算卸载请求的信息以及可用边缘节点的计算资源信息,以确定任务是在边缘节点执行还是转发到云服务器。当任务在边缘执行时,它决定将哪个边缘节点以及多少计算资源分配给该任务。优化目标是最小化协同任务调度的延迟成本,即
$$
\min \sum_{t=0}^{T-1} [C(t)] \quad (7)
$$
s.t.
$$
a_n \in {0, 1}, \forall n \quad (8)
$$
$$
a_n T^E_a + (1 - a_n) T^C_a \leq \tau_n, \forall n \quad (9)
$$
$$
\sum_{n=1}^{N} c_{n,k}(t) \leq C_k, \forall k \quad (10)
$$

其中,(8)表示任务卸载决策,(9)用于确保每个任务必须完成,(10)是计算资源分配的约束条件。

D. TSDO的复杂性

定理1 TSDO是一个NP难问题。

证明 :首先我们介绍带拒绝的调度问题(SWRP),其定义如下。给定一组作业 $J={1, 2,…, J}$。每个作业具有非负的处理时间 $p_j$、权重 $w_j$以及拒绝处理的罚金 $e_j$。对于每个作业,机器需要决定是调度还是拒绝它。如果作业j被调度,则j的完成时间为 $p_j$。如果作业j被拒绝,则需要支付 $e_j$的拒绝费用。已调度作业的集合定义为S,被拒绝作业的集合为 $\bar{S}$。SWRP的目标是最小化已调度作业的加权完成时间之和与被拒绝作业的罚金之和。
$$
\min \sum_{j \in S} p_j w_j + \sum_{j \in \bar{S}} e_j.
$$

接下来,我们将SWRP归约到TSDO问题。
我们构造一个TSDO问题的实例。M中的每台机器代表一个边缘节点,J中的每个作业代表一个任务。我们假设边缘节点上的计算资源充足,因此任务的计算时间可以忽略不计。接下来需要找到一个任务调度集合A以最小化延迟成本,即SWRP中的最小完成时间。容易确认,当且仅当我们解决了SWRP实例并找到了其最优解时,我们对TSDO实例的回答才是肯定的。
由于SWRP是不考虑边缘计算延迟的TSDO问题的一个特例,且SWRP已被证明是NP难的[19],因此TSDO问题是NP难的。
这完成了证明。 □

IV. 基于深度强化学习的调度算法

由于当前时隙的边缘计算网络状态仅受前一时隙的任务调度和资源分配影响,我们将该问题建模为马尔可夫决策过程。在有限状态马尔可夫过程中,大多数现有工作假设转移概率可通过离线训练获得。然而,实际网络环境是未知的[20]。为了获得最佳的任务调度策略,我们通过无模型DRL算法对系统的状态进行训练。在DRL框架中,通常需要集中式智能体为系统做出决策[21],这也符合我们上述定义的集中式边缘计算网络环境。

A. 基于马尔可夫决策过程的建模

状态空间
$S_t = {{z_1(t), z_2(t), …, z_n(t)}, {p_1(t), p_2(t), …, p_n(t)}, {d_1(t), d_2(t), …, d_n(t)}}$,其中$z_n$表示任务n的数据大小,$p_n$表示任务n的延迟敏感指数,且$d_n$表示任务n所需的计算资源数量。如果当前边缘节点的深度学习模型无法满足任务推理的准确率,边缘路由器将继续收集该任务所需的计算资源信息,作为下一次系统状态更新。

动作空间
$A_t = {{e_1(t), e_2(t), …, e_U(t)}, {a_1(t), a_2(t), …, a_N(t)}, {c_{1,k}(t), c_{2,k}(t), …, c_{n,k}(t)}}$,其中$e_U(t) = {e_{u,1}, e_{u,2}, …, e_{u,k}}$表示边缘节点对用户设备请求的分配,且$e_{u,k}=1$表示用户设备u的请求由边缘节点K处理。$a_n(t)$表示任务n在云端或边缘的卸载。$c_{n,k}(t)$是任务n在边缘节点k上执行时分配的计算资源数量。

奖励 :在每个时间段t,深度强化学习系统在执行动作后,将奖励$r_t$反馈给状态S。算法的目标是持续调整策略以最大化长期累积奖励。由于目标函数取最小值,奖励可与目标函数负相关。即时奖励定义为负成本函数。该成本函数包含任务延迟敏感性的定义。敏感度越高,奖励越高,从而使延迟敏感型任务获得优先级。

B. 基于深度强化学习的任务调度算法

现有的无模型深度强化学习方法可分为两类。第一类基于价值的算法,例如DQN[22]、DDQN[23]等。对于基于价值的DRL方法,DQN原理使其天然适用于动作维度有限的环境。第二类方法,如DDPG算法[24],能够处理连续控制任务,还可进一步结合DNN,利用DNN逼近策略和价值函数。针对不同的问题特性(如离散控制或连续控制),应选择具有不同能力的强化学习算法作为基础算法[15]。此外,上述深度强化学习算法通常采用经验回放机制来解决算法的不稳定性问题。经验回放机制存储系统探索环境的数据,然后通过随机采样这些样本来更新模型并提高数据利用率。然而,该方法在边缘计算环境中存在两个问题:
1) 智能体与环境之间的每次交互都需要大量内存和计算能力。
2) 训练模型需要昂贵的GPU资源。在边缘环境中,计算资源并不具备优势。

因此,我们设计了一种基于深度强化学习的边缘计算场景下的任务调度方法CECS‐A3C。该算法采用异步训练的思想,依赖多线程来提高训练速度。每个线程由一个智能体进行随机探索,多个智能体共同计算策略梯度并行更新参数。在CECS‐A3C算法中,执行者将状态映射到动作,评论者负责将状态‐动作对映射到累积奖励[25]。异步训练与执行者‐评论者方法的结合不仅能减少计算时间,还能适应网络动态变化。它能以更快的速度收敛到具有最低平均任务延迟的最佳调度方案。与其他算法相比,CECS‐A3C不需要经验回放来存储历史样本,能够适应大规模状态空间的优化问题。详细信息见算法1。

算法1 基于A3C的云边协同调度算法
1: 假设全局共享参数向量 $\theta$ 和 $\theta_v$ 以及全局共享计数器 $T=0$
2: 假设当前线程参数向量 $\theta’$ 和 $\theta’ v$
3: 初始化线程步数计数器 $t \leftarrow 1$
4: 重复
5: 重置梯度:$d\theta \leftarrow 0$ 和 $d\theta_v \leftarrow 0$
6: 同步当前线程参数 $\theta’ = \theta$ 和 $\theta’_v = \theta_v$
7: $t
{\text{start}} = t$
8: 获取状态 $S_t$
9: 重复
10: 根据策略 $\pi(A_t|S_t; \theta’)$ 执行 $A_t$
11: 接收奖励 $r_t$ 和新状态 $S_{t+1}$
12: $t \leftarrow t+1$
13: $T \leftarrow T+1$
14: 直到终端 $S_t$ 或 $t - t_{\text{start}} == t_{\text{max}}$
15: if $S_t$ 是终止状态 then
16: $R = 0$
17: else
18: $R = V(S_t, \theta’ v)$
19: 结束 if
20: 对于 $i \in t-1, …, t
{\text{start}}$ 执行
21: $R \leftarrow r_i + \gamma R$
22: 累积演员的局部梯度更新
23: 累积评论家的局部梯度更新
24: 结束 for 循环
25: 使用 $d\theta$ 对 $\theta$ 以及使用 $d\theta_v$ 对 $\theta_v$ 执行异步更新
26: 直到 $T > T_{\text{max}}$

V. 评估

在仿真中,我们使用Tensorflow评估所提算法的性能。我们将边缘节点数量设为 $K = 5$,在一个边缘路由器管理区域内的用户设备数量设为 $U = 25$。在每个决策时刻,边缘节点和用户设备的数量保持不变。每个用户设备在每个时隙具有固定类型的任务请求,初始值设为10 任务/100秒。信道带宽 $W$ 设置为20 MHz。在相同的实验条件下,我们采用广泛用于计算卸载的DQN算法[16]以及贪婪策略强化学习(RL‐G)算法[26]作为对比。

几种算法的收敛曲线如图2所示。CECS‐A3C比另外两种算法更快地达到了最优策略。此外,随着迭代时间步的增加,所提出的算法具有更高的奖励,这表明所提出的算法是有效的。

示意图1

图3表明,当任务请求密度增加且需要传输更多数据时,三种算法的平均任务处理延迟逐渐增加。但 CECS‐A3C具有更好的调度性能。根据统计,在相似的边缘计算资源和任务密度下,与DQN和RL‐G算法相比,任务处理所需的平均延迟分别缩短了28.3%和46.1%。

示意图2

图4显示了随着任务请求密度的增加,任务调度中失败任务的数量。如果任务在调度中的处理时间长于 $\tau_n$,我们将该任务定义为失败。如图4所示,当任务请求密度较低时,三种算法的性能差异较小,但随着密度的增加,CECS‐A3C算法具有更好的稳定性能。

示意图3

VI. 结论

为了解决边缘计算中深度学习任务完成时的长延迟问题,我们定义了云边网络架构下的任务调度问题TSDO,该问题已被证明是NP难的。此外,我们将其建模为马尔可夫决策过程,并提出了一种基于深度强化学习的调度算法CECS‐A3C,同时考虑了资源约束。通过充分实验发现,在保证可扩展性能的情况下,与现有的DQN和RL‐G算法相比,所提出的算法能够将任务处理时间平均减少28.3% 和46.1%。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值