基于车辆云簇的协作式移动计算卸载
摘要
本文研究了车载网络中的协作式计算卸载。尽管道路上的智能车辆数量日益增加,但大量未配备强大计算设备的传统车辆预计将在较长时间内继续存在。当位于这些传统车辆中的移动设备需要进行计算卸载时,它们可以将任务卸载至附近可作为云微服务器的智能车辆。由于车辆具有高移动性,一个应用的多个任务可能需要被卸载到不同的基于车辆的云簇上。本文在考虑车辆行驶速度和无线信道条件随机性的基础上,将卸载问题建模为马尔可夫决策过程(MDP),目标是最小化应用的平均完成时间。然而,由于状态空间和状态转移概率矩阵规模庞大,直接求解该问题的复杂度极高。为此,本文通过探索状态空间的特殊结构来降低计算复杂度,并提出一种启发式方法,即逐站点和逐任务(SSTT)方法,以更低的复杂度对各个任务做出卸载决策。仿真结果表明,与本地执行所有任务以及基于距离的卸载决策相比,提出的SSTT方法不仅显著降低了平均完成时间,还大幅减少了移动设备的能耗。
索引术语
马尔可夫决策过程,移动计算卸载,基于车辆的云簇,车载网络。
I. 引言
A. 背景与动机
MOBILE 云计算(MCC)被视为一种有前景的方法,可通过移动计算卸载(MCO)促进移动设备上复杂应用的执行,这些移动设备[1],具有有限的电池能量和CPU处理能力。移动计算卸载( MCO)使移动设备能够将计算任务迁移到远程云端进行执行。设备可以将其应用卸载到更强大的计算设备上。与访问中心云服务器相比,通过一次无线传输将任务卸载到边缘服务器可节省经由互联网访问服务器的时间,从而有望改善用户体验。对于道路上的移动用户而言,边缘服务器可能与路侧单元(RSUs)或蜂窝网络基站(BSs)共址,从而为移动用户提供相对稳定的连接性[2]以访问服务器。然而,RSUs和BSs的部署远未覆盖所有道路,这使得在许多情况下基于基础设施的卸载不可行[3]。随着城市和郊区智能车辆数量的急剧增加,位于智能车辆内的移动设备可访问车内计算设备进行计算卸载[4]。但预计在未来很长一段时间内,大量未配备强大计算设备的传统车辆仍将在道路上行驶。对于位于此类传统车辆内的移动设备,其计算密集型应用可能需要卸载到车外的计算设备上。基于车辆的计算卸载允许移动设备将其应用卸载至附近智能车辆中的服务器。当基于基础设施的服务器不可用时(例如在BSs和RSUs的覆盖盲区,或因通信链路或服务器过载导致交通拥堵期间),这种方案尤为有益[5]。
在[6]–[8],中研究了利用智能车辆中的计算设备作为云微服务器,其中将停放的智能车辆用作静态云微。对于在道路上移动的移动设备而言,其附近可能没有停放的车辆。在这种情况下,利用在同一道路上行驶的周围智能车辆中的计算设备成为一个有前景的选择,因为这些车辆上可用的计算资源可能十分丰富且未被充分利用。然而,访问这些基于车辆的云簇的一个挑战性问题是由车辆移动性引起的无线传输条件随机变化,这使得难以对完成一个应用所需的资源量做出可靠承诺。对于可分割为多个相对独立任务的应用程序,每个任务可以在不同的云簇中执行。与将整个应用程序卸载到单个服务器相比,基于任务的卸载决策可以利用车辆之间短暂的连接,并更好地适应变化的通信条件,因为执行单个任务所需的时间可能远短于执行整个应用程序所需的时间。
同时,同一应用中的不同任务在执行顺序上可能存在依赖关系,这限制了进行卸载决策的灵活性。例如,考虑任务 a和 b应分别在云簇 A和 B上执行,且执行 a后的结果是启动任务 b所必需的。当任务a在云簇 A上执行完成后,其结果可下载回移动设备,再由该设备上传至云簇B。或者,结果可以直接从云簇 A传输到云簇 B,从而节省移动设备的能量消耗。若合理选择云簇,还可能减少任务执行之间的数据传输时间。这就是文献[9]中为车载用户提出的云簇中继的基本思想。与此同时,传统车辆中的移动用户可能由于车辆随机移动导致与当前云簇的连接性短暂,不得不频繁更换任务需要卸载的目标云簇。一方面,包括用户车辆和云小车在内的车辆随机移动,使得寻找最优卸载决策[10]变得复杂;另一方面,这也提供了机会:通过根据信道条件和任务依赖关系策略性地选择云簇,可以减少信道传输时间和整体应用执行时间。文献[9]在固定车辆行驶速度和固定信道传输速率的基础上研究了这一问题。
B. 问题定义与贡献概述
在本文中,我们延续了[9]的研究工作,考虑了一种位于行驶在道路上的传统车辆内的移动设备,该设备需要对一个多任务应用进行计算卸载。与[9],不同,我们考虑了更为实际的车辆移动情况以及由于车辆间距离随机变化所导致的随机信道传输速率。本文的主要贡献总结如下:
1) 将应用中各个任务的卸载决策问题建模为马尔可夫决策过程(MDP)问题,目标是最小化应用的平均完成时间。然而,由于该MDP具有大规模状态空间,导致状态转移概率矩阵维度较大,因此直接求解该问题的复杂度极高。
2) 通过探索该问题的特殊性质,并仅关注可能的非零状态转移概率,我们将状态空间划分为多个子空间。因此,存储状态转移概率所需的内存大大减少。当系统规模(包括任务数量、车辆数量、待传输数据量和计算负载量)相对较小时,这有助于显著降低求解问题的复杂度,并找到最优解。
3) 为了进一步降低做出卸载决策的复杂度,我们提出了一种逐站点和逐任务(SSTT)的方案。假设所有尚未已执行的超任务,可通过求解多个小规模MDP来获得该超任务的卸载决策,每个MDP均考虑移动设备、一个云簇以及该超任务。在所有小规模MDP的解中,选择最优的一个作为下一任务的卸载决策。这些小规模MDP可以以低得多的复杂度进行求解。
4) 仿真结果表明,当系统规模较小时,提出的SSTT方案不仅实现了接近最优的时延性能,还显著节省了移动设备的能耗。此外,在广泛的参数设置范围内,与在本地处理应用程序或采用基于距离的卸载决策相比,提出的SSTT方案在节省移动设备能耗的同时,实现了更短的平均应用完成时间。
本文的其余部分组织如下。第二节总结了一些相关工作。第三节描述了系统模型。第四节首先提出了马尔可夫决策过程,然后在第五节中以降低的复杂度重新进行了表述。第六节描述了提出的SSTT方案。第七节展示了数值结果。最后,第八节对全文进行了总结。
II. 相关工作
在车载网络中,计算卸载可以通过基于基础设施的网络或自组织网络实现。这两种架构在[11]中被讨论,以提高智能交通网络的安全性和效率。对于基于基础设施的移动计算卸载( MCO),用户通过蜂窝基站(BSs)或路侧单元(RSUs)访问服务器,而基于自组织网络的移动计算卸载(MCO)则允许用户在对等设备的帮助下访问专用服务器或计算设备。
由于高速移动,车载用户访问基于RSU的服务器时可能链路持续时间较短,并且在完成一个应用的过程中可能发生频繁切换。这可能需要多个基于RSU的服务器协同合作以优化卸载决策和资源分配[12]。此类场景在[13],[14]中进行了研究。在[13],中,通过预测车辆与路侧单元( RSUs)之间的链路持续时间来做出最优卸载决策,而在 [14]中,采用深度强化学习使基于基础设施的服务器能够相互协作,共享资源并适应网络环境变化。随着智能车辆数量的增加,访问基于车辆的云簇可能成为道路上移动设备执行计算卸载的另一种流行方式。高移动性在利用道路可用计算资源方面既带来了挑战也带来了机遇。特别是,通过分析车辆间的相对运动,有可能维持更长的数据传输链路持续时间,从而有助于提高卸载效率。
车载云计算(VCC)在[5],中被提出,其中讨论了设计原则、典型应用场景及相关问题。自那以后,提出了多种基于车辆的计算架构。[15],[16]中的车载云计算架构是临时性的,通过聚合各个车辆的丰富资源而构建。
[15]中的研究进一步将车载云与基于基础设施的云相结合,提出了一种灵活的卸载策略,利用动态云朵为智能手机用户提供云服务。与我们的工作不同,[15]中考虑的用户并不在道路上,因此该工作中用户与云簇之间的相对移动性与我们的工作不同。在[16],中,行驶中和停放的车辆相互连接形成车载云,并基于车辆行驶速度的平均值和概率分布分析容量。[17]中考虑的车载云由行驶中的车辆构成,这些车辆可以随机加入和离开一个云,该研究通过考虑动态和随机资源可用性,优化了由能耗和处理时间组合而成的收益。
移动信息在基于车辆的计算卸载中起着重要作用。准确的移动信息有助于预测链路状态,做出良好的卸载决策,从而更高效地利用可用的通信和计算资源,并提升卸载性能。[13]和[15]中假设车辆具有恒定行驶速度,以便在决策时刻已知用户与车载云之间的未来连通性。在[17],中,车辆根据泊松过程加入或离开车载云,并采用半马尔可夫决策过程来求解最优资源分配策略。准确的移动信息对提升卸载性能具有重要意义[18],[19]。文献[20]提出的车辆移动模型同时刻画了实证车辆轨迹和心理物理跟车模型,该模型被本文所采用。
通信与计算资源联合管理一直是移动计算卸载( MCO)中的主要问题之一。对于独立任务而言,不同任务的卸载不存在时间依赖性,因此可以按顺序做出卸载决策,以最佳利用可用资源或优化应用性能,例如[17][21]。最大化并行处理是MCO在调度任务执行和分配资源时服务独立任务的另一优势[22]。然而,复杂应用中的任务通常具有时间依赖性,某些任务的执行可能依赖于一个或多个其他任务执行后的结果。这种关系可以通过任务图来描述。
复杂的任务图结合随机的无线传输条件,使得为多任务应用寻找最优卸载决策变得极为复杂。在此方向上,研究具有顺序任务图的应用的移动计算卸载(MCO)成为一个重要的步骤:首先,许多实际应用具有顺序任务图[23];其次,对于具有更复杂任务图(如树状拓扑任务图)的应用,其任务图可被分解为多个顺序任务图[24]。
对于一个顺序任务图,任务的执行需要在所有前序任务执行完成后的结果,因此多个任务必须依次执行[23]–[27]。当仅有一个云服务器可用时,为了节省任务间数据传输的时间,应以较大概率连续卸载任务,这就是文献[25]中提出的“一次攀登”方法的基本思想。该问题如果任务可以卸载到多个云服务器上,做出最优卸载决策的问题将变得更加复杂,尤其是在考虑随机的无线传输信道时更具挑战性。在[26],中,基于马尔可夫决策过程(MDP)构建了一个延迟约束下的最小成本最短路径问题,以解决移动计算卸载(MCO)中的多站点划分问题。一次爬升法被用作在[24],[27]中对具有更复杂任务图的应用程序进行卸载决策的基础。在最大化并行性以减少应用完成时间的同时,还应考虑不同顺序路径上任务之间的时间依赖性。在假设无线信道条件已知的情况下,于[24],[27]中找到了最优卸载策略,其中[24]旨在最小化应用完成时间,而[27]旨在最小化应用程序的能耗。
与以往的研究不同,本文提出了一种在车载网络中针对顺序任务图的可行的基于车辆云微数据中心的计算卸载方案,其中移动用户和云簇均在道路上行驶。我们并未考虑固定的或已知的信道传输速率以及固定车辆移动速度,而是考虑了由于车辆间距离随机变化所导致的随机信道传输速率。在动态且随机的场景下,顺序任务图中任务严格的时间依赖性为做出最优卸载决策带来了特殊挑战,因为当前任务的卸载决策对未来任务的影响难以准确预测。
III. 系统模型
我们考虑如图1所示的系统,其中存在沿直线道路行驶的传统车辆和智能车辆。智能车辆配备了计算设备,而传统车辆则没有。对于位于传统车辆中的移动设备,如果其运行着计算密集型应用,并需要将部分或全部计算负载卸载到功能相对更强大的计算设备上,则附近智能车辆中的计算设备可作为潜在的云簇。请求计算卸载服务的移动设备称为requester,该请求者所在的传统车辆称为requester vehicle。每当
A. 移动性模型
我们考虑 M={0, 1,…, M}作为道路上朝相同方向行驶的车辆集合,其中 m= 0为请求者车辆, m> 0为道路上第 m个云簇。采用文献[20]中提出的微观移动性模型来跟踪车辆的移动信息。该移动模型的有效性已通过实证车辆轨迹和心理物理跟车模型[28]得到验证。时间被划分为等长的时隙,每个时隙的持续时间为 τ,其值足够小,使得车辆位置的变化足够小,并且在一时隙内两辆车之间的车距可视为常数。在时隙 t,车辆 m与车辆 m+ 1之间的车距表示为 Xm(t),其中 m= 0, 1, 2,…, M −1。根据[20],, Xm(t)的变化遵循具有时间平稳转移概率的离散时间有限状态马尔可夫链,且所有 Xm(t)对于 0 ≤ m< M是独立同分布的。与文献[20]中考虑相邻车辆间绝对距离的模型略有不同,我们还考虑了车辆沿道路的相对位置。具体而言,当 X m(t)为正值时,车辆 m+ 1位于车辆 m前方;当 X m(t)为负值时,车辆 m位于车辆 m+ 1前方。
设 Xmax 为两相邻车辆之间的最大车头间距, L为在两个连续时隙中两相邻车辆之间距离变化的最大值。定义 N= X max L ,则 X m(t) ∈{0,±L,±2 L,…,±nL,…,±NL}。当 Xm(t)= nL时,我们称车辆 m与 m+ 1之间的车距为在状态 n中,其中 n= 0,±1,±2,…,±N。也就是说,马尔可夫链 Xm(t)具有 2N+ 1个状态。我们考虑时间平稳转移,使得 Xm(t)在当前时隙(t)从状态 n转移到下一时隙 (t+ 1)的状态 n′的概率不依赖于 t,且该转移概率表示为
PXm,n,n′= P{Xm(t+ 1)= n′L|Xm(t)= nL} (1)
= ⎧⎪⎨⎪⎩ pn, n′= n+ 1 qn, n′= n −1 1 −pn − qn, n′= n 0, |n′ − n| > 1 (2)
也就是说,车距只能保持不变或在下一时隙转移到相邻的状态。设PXm=[PXm,n,n′, ∀n, n′= 0,±1,…,±N]表示车辆 m与m+ 1之间的车距状态转移矩阵。则PXm的维度为 (2N+ 1) ×(2N+ 1)。该矩阵为三对角矩阵,当 pn ≠ 0、 qn ≠ 0和 pn+ qn< 1时具有3(2N −1)个非零元素。 pn和 qn的取值依赖于车辆密度。文献[20]提供了一种在高速公路稳态交通流条件下确定 pn和 qn的方法。该移动模型的有效性已通过下一代仿真(NGSIM)在线数据库提供的高速公路实测车辆轨迹数据得到验证。
对于任意两辆车辆 m1和 m2,在时隙 t处的车头间距Dm1 ,m 2( t)表示为Dm1 ,m 2( t) =∑ m 2 −1 m=m 1 Xm(t)。例如, 当 τ= 2秒, Xmax=为200米,且 L= 20为米时,该模型可以描述从无移动、低动态移动(例如每2秒距离变化20米)到高移动性场景(例如当Dm1 ,m 2( t)包含6个同时增加或减少的距离的求和时,每2秒距离变化120米)的情况。因此,可以建模一个高动态系统。
我们考虑路径损耗和固定传输功率,因此当两辆车辆通信时,Dm1 ,m 2( t) 决定接收端的信噪比(SNR),进而决定车辆之间的数据传输速率 Rm1 ,m 2( t)。作为一种特殊情况,Rm1 ,m 2( t) = ∞当 m1= m2 时成立。有多种方法可根据D m 1 ,m 2( t) 确定 Rm1 ,m 2( t)。例如,将SNR的可能范围划分为若干个小区间,每个区间对应一个离散数据传输速率,如[30] 所示。
B. 应用模型
我们考虑一个具有顺序任务图的应用,如图2所示,其中包含由 u= 1 2… U u B u ,,,索引的U个任务。每个任务由三个参数定义:Z u 和 Q u ,其中 B u 是开始执行任务所需的输入数据量, Z u 是执行任务后产生的输出数据量
执行任务,且 Qu为执行该任务所需的计算负载量。每个任务在一个站点上执行,该站点为请求者或其中一个云簇。站点 m的数据处理速度表示为 fm,其中 0 ≤ m ≤ M。我们假设每辆智能车辆上均有一个云簇,且请求者处有一个计算设备。
任务 u+ 1的执行需要在所有 1 ≤ u< U上先执行任务 u后的结果。也就是说,对于所有 1 ≤ u< U,有 Zu= Bu+1。在执行任务 U之后,如果任务 U不在请求者处执行,则应将数量为 ZU的数据返回给请求者。为了便于表述,我们定义虚拟任务 u= 0和u= U+ 1,这两个虚拟任务都必须在请求者处执行。任务0的参数为 B0= 0、 Q0= 0和 Z0= B1;任务 U+ 1的参数为 BU+1= ZU、 QU+1= 0和ZU+1= 0。当任务1在云簇上执行时,需要从请求者向云簇传输数量为B1的数据;当任务 U在云簇上执行时,需要从云簇向请求者回传数量为 ZU的数据。
IV. 最优决策制定
在本节中,我们构建了一个马尔可夫决策过程( MDP),以找到所有任务的最优卸载决策,从而最小化处理应用的平均时间。为了便于后续利用所构建的MDP设计启发式方案,我们将 A定义为可用执行站点的集合。在做出最优决策时,我们有A= M,即A包含请求者以及道路上智能车辆中的所有可用云簇。需要注意的是,在决策过程中,集合A将通过移除已被分配执行任务的云簇、并添加已完成任务执行的云簇而动态更新。集合 A将在第六节介绍启发式方案时重新定义。
A. 状态空间和动作集
将 s=[xm|∀ m∈A ,Tsk,Ex,Tx,St] ∈S 定义为在某个给定时隙 t 结束时的系统状态,其中 xm 是 Xm(t) 的值,Tsk 是当前正在处理的任务(其输入数据正在通过无线信道传输或计算正在执行)在时隙 t 内的任务,Ex 是任务 Tsk 在时刻 t 的剩余计算负载,Tx 是在任务 Tsk 执行前仍需传输的剩余输入数据,St 是任务 Tsk 当前正在(若 Tx = 0)或将要(若 Tx > 0)执行的站点。以下我们分别使用 sTsk、 s Ex、 s Tx 和 sSt 表示状态 s 中的元素 任务 Tsk、剩余计算负载Ex、待传输数据Tx 和 执行站点St。
在时刻 t= 0,s Tsk = 0,s Ex = 0,s Tx = 0,以及s St = 0。在任意时隙 t> 0,令 s Tsk = u,我们有:
- 1 ≤ u ≤ U+ 1;
- s Tx ∈[0, B u]和 s Ex ∈[0, Qu];
- 如果s Tx > 0,则系统正处于传输执行任务所需的输入数据的过程中 u。因此,s Ex = Qu必须为真;
- 如果s Ex < Qu ,则系统正处于执行任务的过程中u。因此,s Tx = 0必须为真。
为进一步简化表示,我们将每个状态中的元素分为与移动性相关的元素x和与应用相关的元素y,即 s=[x, y],,其中x =[xm , ∀ m ∈ A]以及y=[Tsk,Ex,Tx,St]。设 A= |A|。对于x有(2N+ 1)A种可能的状态,假设Ex和Tx只能取整数值,则y有∑U+1 u=1 (Bu+ 1)(Qu+ 1)A个元素。因此,状态总数为
|S| =(2N+ 1)A U+1 ∑ u=1 (Bu+ 1)(Qu+ 1)A. (3)
给定当前时隙的状态,动作是指决定在下一时隙用于处理应用程序的站点。设 a ∈ A为在时间 t采取的动作。出于实际考虑,我们认为在任务执行完成之前不能更改执行站点。即, a= sSt,如果sEx> 0或sTx> 0。
B. 状态转移概率
在当前时隙的状态 s 下,执行动作 a 后,在下一时隙转移到另一个状态 s′ 的概率表示为 P(s′|s a),具体如下
P(s′|s, a)= P(x′, y′|x, y, a) = P(x′|x, y, a)· P(y′|x′, x, y, a) = P(x′|x)· P(y′|x, y, a), (4)
其中 s′=[x′,y′],其中 x′=[x′ m, ∀ m ∈ A] 和 y′=[Tsk′, Ex′,Tx′,St′]。 P(x′|x, y a)= P(x′|x),因为从当前时隙到下一时隙的车辆移动变化与动作和应用处理状态无关。P(y′|x′, x, y a)= P(y′|x, y a),因为应用处理不依赖于下一时隙的移动状态。
此外,由于不同车辆的移动相互独立,我们有
P(x′|x)= M ∏ m=0 PXm . (5)
如第三节所述,PXm中非零元素的总数为3(2N −1)。因此, P(x′|x)中非零元素的总数为[3(2N −1)] A。
接下来,我们求解 P(y ′|x, y a)。注意,在给定x、y和a 的情况下,任务处理是完全确定性的。因此,P(y ′|x, y a)的取值只能为1或0。下面我们找出所有满足 P(y ′|x, y a)= 1的状态转移类型。令y=[Tsk,Ex,Tx,St]表示当前时隙的状态,y ′=[Tsk′ ,Ex ′ ,Tx ′ ,St′ ]表示下一时隙的状态。
类型1。
在执行任务Tsk之前传输输入数据:Ex′ = Ex = QTsk 且Tx′ < Tx。在两个连续的时隙之间,任务和处理该应用的站点保持不变,待传输数据量减少。给定x ′,数据传输速率Rm,a得以确定,其中m是处理任务Tsk −1的站点,而 a是处理任务Tsk的站点。我们有 P(y ′|x, y a)= 1如果
- 正在处理的任务Tsk ′ = 正在处理的任务 Tsk,
- 剩余计算负载Ex ′ = 剩余计算负载Ex = Q Tsk ,
- 剩余输入数据Tx ′ = max { 剩余输入数据Tx − Δ, 0 } ,以及
- 执行站点St ′ = 执行 站点St = a ,
其中Δ= Rm,aτ是从站点 m到站点 a可传输的最大数据量。
类型2。
执行任务Tsk:Tx′= Tx = 0和 Ex′<Ex。在此类型中,执行任务Tsk所需的全部输入数据均在站点 St处可用。在两个连续时隙之间,使用同一站点执行该任务。因此,唯一可能的动作是在下一时隙继续使用同一站点。计算负载量随时间减少。由于任务的执行与无线传输无关, P(y′|x, y a)= P(y′|y a) 在此类转移中成立,且P (y′|y a)= 1如果
- 正在处理的任务Tsk′=Tsk,
- 剩余计算负载Ex′= max{Ex − faτ, 0},
- Tx′= Tx = 0,以及
- 执行 站点St′=St = a。
类型3。
完成执行任务Tsk,并使用同一站点执行任务 Tsk′= Tsk+ 1。在这种情况下,当执行任务Tsk完成后,无需数据传输,同一站点可立即开始执行下一个任务。因此, P(y′|x, y a)= P(y′|y a)= 1如果
- 正在处理的任务Tsk′=正在处理的任务Tsk + 1,
- 执行站点St′=执行站点St = a,
- 剩余计算负载Ex = 剩余输入数据Tx = 0,
- 剩余计算负载Ex′= max{QTsk′ − faτ, 0}, 和 Tx′= 0.
Tsk = U和St = 0是类型3的一种特殊情况,因为任务U+ 1总是在站点 0 执行。
类型4。
完成执行任务Tsk,并使用不同的站点执行任务 Tsk′= Tsk+ 1。在这种情况下,执行前一个任务后的输出应从前一个站点传输到新站点。类似于类型 2, P(y′|x, y a) = 1如果
- 正在处理的任务Tsk′= Tsk + 1,
- 执行站点St′= a 和 St ≠ a,
- 剩余计算负载Ex = 剩余输入数据Tx = 0,
- Ex′= QTsk ′, 和 Tx′= max{BTsk ′ − RSt,St ′τ, 0}。
正在处理的任务Tsk = U和执行站点St ≠ 0是此类的特例,因为任务U+ 1始终在站点 0 执行。
记P(a) =[P(s′|s a) ∀s, s′ ∈S]。给定 a ∈ A,集合A中元素的总数为 |S|2,其中 |S| 由(3)给出。对于所有 a ∈ A,集合A中元素的总数为
α1= |S|2 × A =(2N+ 1) 2 A[U+1 ∑ u=1 (Bu+ 1)(Qu+ 1)A] 2 A =(2N+ 1) 2 A[U+1 ∑ u=1 (Bu + 1)(Qu + 1)] 2 A 3 . (6)
C. 优化问题
我们的目标是最小化应用的平均完成时间。每次从状态y转移到状态y ′(如果发生)均消耗一个时隙。因此,最小化平均完成时间的目标等价于以下目标
C=∑ ∀ y ∑ ∀ y′ P(y ′|y) (7)
其中
P(y′|y)= ∑∀x∑∀a P(y′|x, y, a)P(x, y, a) P(y) =∑ ∀x ∑ ∀x′∑ ∀a P(x′, y′|x, y, a)P(x, y, a) P(x′|x)P(y) . (8)
因此,
C=∑ ∀y ∑ ∀y′ P(y′|y) =∑ ∀s ∑ ∀s′ ∑ ∀a P(s′|s, a)W(s, a) P(x′|x)P(y) (9)
其中 W(s, a) = P(x, y a)是在状态s下采取动作a的概率。
根据[31],,马尔可夫决策过程可以通过求解以下线性优化问题来解决:
P1. min∑ ∀s ∑ ∀s′ ∑ ∀a P(s′|s, a)W(s, a) P(x′|x)P(y) (10)
s.t.∑ a∈A W(s′, a)=∑ s∈S ∑ a∈A P(s′|s, a)W(s, a), ∀s′ ∈S(11)
∑ s∈S ∑ a∈A W(s, a)= 1 (12)
0 ≤ W(s, a) ≤ 1, ∀s ∈S, ∀a ∈ A (13)
令 W ∗(s a)为问题P1的最优解。 W ∗(s a)中元素的总数由 |S| × A给出。为了解决该问题,需要存储的转移概率数量由(6)给出。求解问题P1的复杂度随着 U、 A或 N的增加而增加。大规模状态空间导致了大规模的{s}(s a)矩阵以及大规模的转移概率矩阵。
V. 以降低的复杂度求解问题P1
为了解决MDP问题中的维度灾难,已提出多种方法,例如状态聚合[31],、深度Q网络[32],和值函数逼近[33]。然而,这些方法要么是针对具有特殊结构的MDP设计的,要么需要高复杂度来训练算法[34]。在本节中,我们探讨了问题P1 中状态空间的特殊结构,并对问题进行简化,使其能够以低得多的复杂度求解。
如图3 所示,我们将状态空间 S 划分为子空间,即 S= ∪ m ∈ A[( ∪ U + 1 u= 1 S1 u,m) ∪( ∪ U u= 1 S2 u,m)], 其中
)
子空间 S1 u,m,其中 S1 u,m={系统状态s|s ∈S,sTsk= u,sSt= m, 0< sTx< Bu, sEx= Qu} 对应 1 ≤ u ≤ U+ 1 和 m ∈ A;以及子空间 S2 u,m,其中 S2 u,m={系统状态s|s ∈S,sTsk= u, sSt=m, sTx= 0, sEx< Qu} 对应 1 ≤ u ≤ U 和 m ∈ A。
也就是说,S1 u,m 是指输入数据正在传输到站点 m 以开始执行任务 u 的所有状态的集合,而 S2 u,m 是指任务 u 正在站点 m 执行的所有状态的集合。特殊情况是,当 u= 0 时,对所有 m ∈ A 均有 S1 u,m= S2 u,m= ∅。在子空间 S1 u,m 中,Tx 较大的状态为更高状态;在子空间 S2 u,m 中,Ex 较大的状态为更高状态。
在子空间中(并在图4中说明),现在可以进一步检查第四节-B小节中定义的四种可能的非零状态转移:
- 类型1:在子空间S1 u,m, 1 ≤ u ≤ U+ 1内,只有更高状态可以转移到更低状态;
- 类型2.1:在子空间S2 u,m, 1 ≤ u ≤ U内,只有更高状态可以转移到更低状态;
- 类型2.2:子空间S1 u,m中的最低状态(sTx= 0)可以转移到子空间S2 u,m, 1 ≤ u ≤ U+ 1中的某个状态;
- 类型3:S2 u,m, 1 ≤ u< U中的一个状态可以转移到S2 u+1,m中的一个状态;以及
- 类型4:S2 u,m, 1 ≤ u ≤ U中的一个状态可以转移到S1 u+1,m ′, m′ ≠ m中的一个状态。
注意,类型 2 转移被分为类型2.1和类型2.2,其中类型2.2是从输入数据传输完成到任务执行的转移。
通过将整个状态空间划分为不同的子空间并找出所有非零状态转移,我们可以通过去除零状态转移概率来简化问题P1。主要工作在于减少约束(11)和目标函数(10)。
对于约束(11):
当s′ ∈S1 u,m, 1 ≤ u ≤ U+ 1且 m ∈ A时,右侧可以重写为
∑ s ∈ S ∑ a ∈ A P(s ′|s, a)W(s, a) = ∑ u ′ ∈ [ 1 , U + 1 ] ∑ n ∈ A ∑ s ∈ S1 u ′ ,n ∑ a ∈ A P(s ′|s, a)W(s, a) + ∑ u′∈[1,U+1] n∑∈A ∑ s∈S2 u′,n ∑ a∈A P(s′|s, a)W(s, a) (14) = ∑ s∈S1 u,m P(s′|s, m)W(s, m)(Type 1) + ∑ m′∈A ∑ s∈S2 u−1,m′ P(s′|s, m)W(s, m)(Type 4). (15)
方程(14)将原始的双重求和根据状态空间划分后的子空间重写为两个四重求和的和。对于第一个四重求和,P(s′|s a)= 0仅当s∈S1 u′,m且 u′ ≠ u时成立,因此它被简化为仅对S1 u,m内状态的转移进行单重求和。这给出了到达状态s′的所有类型1转移。对于第二个四重求和, P(s′|s a) ≠ 0仅当s∈S2 u−1,m′且 a= m时成立,因此该四重求和被简化为对所有 m′以及s ∈S2 u−1,m′的双重求和,这给出了到达状态s′的所有类型4转移。作为一种特殊情况,当 u= 1时,不存在到达状态s的类型4转移,此时(15)简化为仅包含一个求和,如下所示,
∑ s∈S ∑ a∈A P(s′|s, a)W(s, a) = ∑ s∈S 1 u,m P(s′|s, m)W(s, m)(Type 1). (16)
当s′ ∈S2 u,m, 1 ≤ u ≤ U和 m ∈ A时,(11)的右侧简化为
∑ s∈S
VI. 针对顺序任务图的SSTT卸载算法
尽管由于存储转移概率所需的内存空间大大减少,求解P2的复杂度远低于求解P1的复杂度,但其复杂度仍然可能过高,并且随着 A、 U、 Bu、 Qu和 N的增大而增加。特别是,马尔可夫决策过程需要在每个时隙跟踪移动状态的变化,因此很难降低式(30)中的因子 NA。我们不通过求解一个大规模优化问题一次性对所有系统状态下所有任务做出卸载决策,而是考虑采用逐任务(TT)方式,即每次仅对一个任务做出卸载决策,从而降低计算复杂度。该方法如算法1所示。多接入边缘计算(MEC)可被视为执行此算法的中心调度点。其基本思想是:在时间 t完成任务 u −1的执行后,将所有剩余任务视为一个“超任务” (ST),记为 u+。与超任务 u+相关的参数包括计算负载量∑U u′=u Qu′和输入数据量 Bu。在算法中, Q+被更新为当前超任务的计算负载。初始时,当 t= 0,我们有 u= 0以及当前执行站点 m= 0。此时,应基于当前系统状态,根据超任务 1+的相关参数做出卸载决策。该卸载决策通过调用过程SS实现,返回站点 a(第4行)。随后,任务1在站点 a执行。
通常情况下,在站点 m完成执行任务 u−1后,所有剩余任务将被视为一个新的ST u+,并根据当前系统状态调用针对该ST的procedureSS。调用该procedure返回 a,即执行任务 u的站点。也就是说,如果决策为 a= m,则无需数据传输,任务 u在站点 a执行;如果为 a ≠ m,则需从站点 m向站点 a传输 Bu量的数据,然后在站点 a执行任务 u。
过程SS用于为ST u+确定执行站点。调用该过程所需的输入参数包括当前系统状态s、当前执行站点 m、通信负载Bu以及计算负载 Qu+(第4行)。该过程通过从 M+ 1个可能的站点(M个云簇和请求者自身)中选择最佳执行站点,或采用逐站点(SS)过程,来做出针对 ST的卸载决策。决策过程可分解为多个独立的子问题,每个子问题假设仅将云簇 n(1 ≤ n ≤ M)作为可用来卸载 ST的服务器,从而求得最小平均执行时间。此操作在第 13–16行完成。最后,将所有子问题得到的平均执行时间与本地处理时间进行比较,返回使执行时间最小的执行站点(第17–18行)。在过程SS的for循环(第13–16行)中,通过应用参数s、 m、 B u和 Qu+来求解问题 P2。
由于逐站点过程嵌入在任务级算法中,因此整体算法被称为SSTT。SSTT算法的复杂度是过程SS复杂度的 U倍。对于过程SS,其主要复杂度来源于第15行中求解 M个子问题P2。因此,SSTT算法的整体复杂度为求解 UM
算法1:逐站点逐任务卸载
1: t= 0, u= 0, m= 0, Q+=∑ U u=1 Qu
2: s: t 时刻的系统状态
3: while u ≤ U do
4: a= SS(系统状态s m, Bu, Q+)
5: Q+= Q+ − Qu
6: u= u+ 1
7: 在站点 a处理任务 u
8: 完成后,将 t更新为完成时间,s 作为当前系统状态,以及 m= a
9: 结束循环
10: 将结果返回给请求者
过程 SS(State, 站点, 输入, RemQ)
12: 状态s,执行站点St,输入,RemQ
13: 对于 n= 1: M执行
14: A={m, n, 0}
15: 求解问题 P2,设 C∗(n) 为最优目标函数和 a∗(n)为最优决策。
16: 结束循环
17: n ∗= arg maxn C ∗(n)
18: 返回下一个站点 = a ∗ (n ∗ )
19: 结束过程
第15行中的子问题。当 m ≠ n ≠ 0时,求解第15行中P2的复杂度最高,且非零状态转移概率的数量与 N 3 × max{(Bu) 2 ,(Qu+) 2 }成正比。
一个示例如图5所示,其中显示了一个请求者和三辆云小车。该应用包含3个任务,即 U= 3。在时间 t= 0,通过调用SS过程对任务 u= 1做出卸载决策,任务1的执行站点决策为云小车1,即 a= 1。因此,需要从请求者向云小车1传输输入数据量 B 1
表II 主要参数的默认值
| 参数 | 值 |
|---|---|
| 道路长度 | 1 km |
| 云簇数量 M | 5 |
| 任务数量 U | 3 |
| 每个任务的输入数据量 B_u | 1 MB |
| 每个任务的输出数据量 Z_u | 0.5 MB |
| 每个任务的计算负载 Q_u | 1e9 CPU cycles |
| 请求者处理速度 f_0 | 1e8 cycles/s |
| 云簇处理速度 f_m (m>0) | 1e9 cycles/s |
| 时隙长度 τ | 2 s |
| 最大车头间距 X_max | 200 m |
| 最大距离变化 L | 20 m |
| 传输功率 P_t | 20 dBm |
| 噪声功率 P_n | -90 dBm |
表III DSRC数据速率与SNR阈值
| SNR阈值 (dB) | 数据速率 (Mbps) |
|---|---|
| 4 | 3 |
| 7 | 4.5 |
| 10 | 6 |
| 13 | 9 |
| 16 | 12 |
| 19 | 18 |
| 22 | 24 |
| 25 | 27 |
云小车1,然后云小车1执行任务1。在时间 t= t1,云小车 1完成执行任务1,并调用过程SS为任务2寻找执行站点,决策结果为 a= 3。因此,需要将数量为 B2的输入数据从云小车1传输到云小车3,然后云小车3执行任务2。在时间 t= t2,云小车3完成执行任务2,对于执行任务3的决策是保持在同一站点,即 a= 3。在这种情况下,执行任务2和任务3之间不需要信道传输时间。在时间 t= t3,当云小车 3完成执行任务3时,应将数量为 Z3的结果数据传回请求者。总体而言,执行该应用的总时间包括传输三部分数据 (B1, B2和 Z3)以及执行三个任务的时间。
七、性能评估
在本节中,我们评估了所提出的SSTT方案在不同场景下的性能。性能指标包括应用的平均完成时间、请求者的平均能耗以及卸载率。卸载率是指在云簇上执行的任务数量与总任务数量之比。请求者的能耗是指请求者用于本地执行任务(如果任务未被卸载)以及向云簇传输数据 (如果任务直接从请求者处卸载)所消耗的总能量。
给定传输功率,从站点 m1到站点 m2的数据传输速率由 m2接收器处的信噪比决定。我们考虑基于路径损耗的链路增益,因此当站点 m1向站点 m2传输时, m2接收器处的信噪比由P t (Dm1 m 2 )h P n 给出,其中 P t为传输功率,P n 为背景噪声功率。根据接收到的信噪比值,发射器依据SNR阈值调整调制方式和物理层传输速率,从而得到八个不同的传输速率Rm1 ,m 2 (t),范围从3兆比特每秒到 27兆比特每秒。信噪比与速率的映射关系见表III,该表采用自[30]。
我们对一个车载网络进行仿真,其中请求者车辆和所有 M智能车辆沿一条单向直路行驶。所有 M+ 1车辆的初始位置在道路上均匀分布,且所有车辆均按照[20]中描述的移动模型行驶。为了消除边界效应,在仿真中将道路的起点和终点连接在一起,使得任一车辆(无论是请求者还是云簇车辆)在驶出终点后立即从道路的起点重新进入。
我们将提出的SSTT方案与另外三种卸载方案进行比较:最优、云簇距离和本地距离。最优方案通过求解问题P2获得,其在平均完成时间方面提供了一个下界。仅当系统规模较小时,才能在合理的时间内获得最优解。由于现有文献中没有研究考虑相同的协作式和基于车辆的卸载场景,因此目前尚无现成的工作可直接与提出的SSTT方案进行对比。然而,在文献中,“最小距离”常被用作评估移动计算卸载中决策策略的基准准则,例如[35]–[37],,因为这是一个通用准则,可针对不同系统场景进行调整。在本工作中,卸载可在不同的云簇之间以及云簇与请求者之间进行,因此我们根据卸载决策中涉及的两种距离类型——云点距离和本地距离,设计了两种“最小距离”方案。在云簇距离方案中,当站点 m(可以是请求者或一个云簇)完成执行任务 u后,站点 m总是将任务 u+ 1的执行卸载到距离自身最近的云簇。在本地距离方案中,当站点 m(可以是请求者或一个云簇)完成执行任务 u后,站点 m总是将任务 u+ 1的执行卸载到距离请求者最近的云簇。此外,我们还包含了全部本地执行的性能,即所有任务均在请求者本地执行。
默认参数列于表II中,其中与移动性相关的参数经过调整以匹配[20]中的结果。使用Matlab求解马尔可夫决策过程并仿真所提出的方案,下图中的每个完成时间和能耗值均通过对1000次独立的车辆移动实现进行平均得到。应用完成时间的95%置信区间在平均值附近 ± 2秒范围内,能耗的95%置信区间在平均值附近 ± 1焦耳范围内。为了避免图表过于拥挤,我们仅在下方绘制一条曲线的95%置信区间作为示例。
在第一组仿真中,我们通过改变道路上的云簇密度 (每公里云簇总数)来考察性能,结果如图6–8所示。需要说明的是,卸载方案(包括最优解和启发式方法)的性能并不直接受云小车总数的影响,而是受云点密度的影响。然而,车辆数量会影响方案的复杂度,这对于求解马尔可夫决策过程以获得最优解具有重要意义。为了在合理的时间内获得最优解时间量,我们需要将车辆总数限制在较小的数量,并选择道路长度为1公里。然而,由于该方案的复杂度要低得多,因此可以使用更大的 M值或更长的道路来仿真提出的 SSTT的性能。我们对不同道路长度下的SSTT进行了仿真,结果也验证了只要云点密度和其他参数保持不变,性能对道路长度或车辆总数并不敏感。因此,在以下结果中,我们报告了性能随云点密度的变化情况,云点密度从1辆/公里变化到10辆/公里,涵盖了从轻度到重度道路交通的情况。
图6显示,所有卸载方案的平均完成时间均短于本地执行时间。此外,对于所有卸载方案,平均应用完成时间随着云点密度的增加而减少。这是因为当云点密度增加时,卸载机会增多
如图8所示,这些结果表明,云点距离、本地距离和 SSTT都能充分利用道路上可用的智能车辆进行计算卸载。与云点距离和本地距离相比,提出的SSTT方案能够实现更低的平均完成时间,且非常接近最优值。SSTT与最优方案之间较小的性能差距是由于SSTT在做出卸载决策时缺乏全局信息所致。另一方面,结合逐站点逐任务的决策能够在大多数情况下找到最佳卸载站点,并且所需复杂度显著更低。图7显示了使用不同卸载方案时请求者的能耗情况。该图中所有卸载方案的能量性能表现与图6中的完成时间性能表现一致:即,使用所有卸载方案的请求者能耗远低于本地执行的能耗,并且随着道路云点密度的增加而降低;提出的SSTT方案相比云点距离和本地距离方案能够实现更低的能耗。
由于道路上的云点密度较小,增加密度对卸载性能 (包括平均应用完成时间和请求者的能耗)的影响更为明显,因为这为请求者直接将任务卸载到云簇,或将任务执行从一个云簇直接转移到另一个云簇提供了更多机会。当云点密度足够大时,进一步增加云点密度对平均完成时间或请求者的能耗影响不大。这一点在图6和图7中均有体现。当大多数或所有任务都有足够的机会卸载到云簇时,就会出现这种情况。图8所示的卸载率也验证了这一点。该图还表明,与云点距离和本地距离方案相比,提出的SSTT 方案允许更多的任务在云簇上执行。
仿真实验的第二组通过改变每个任务的计算负载进行,结果如图9–11所示。这些图表明,请求者的平均完成时间和能耗均随着每个任务的计算负载增加而线性上升。与本地执行相比,所有三种基于卸载的方案具有更小的斜率。与本地距离和云簇距离方案相比,提出的SSTT方案使请求者实现了更低的应用完成时间和能耗。图9显示,使用提出的SSTT方案的完成时间约为使用本地执行方案完成时间的一半;图10显示,使用提出的SSTT方案的请求者能耗约为使用本地执行方案时的一半。图11显示,对于所有方案,随着每个任务的计算负载增加,卸载率下降
三种卸载方案。然而,提出的SSTT方案比其他两种方案实现了更高的卸载率。
在仿真的第三组实验中,我们通过改变每个任务的输入数据大小来绘制不同方案的性能,结果如图12–13所示。对于本地执行,由于输入数据大小不影响本地执行,因此应用完成时间和请求者能耗均为常数。图12显示,对于三种卸载方案,应用完成时间随着输入数据大小的增加而增加,因为在不同站点执行连续任务时需要更多的时间进行数据传输。同时,由于其中一些数据传输是从请求者到云簇,传输时间更长,导致请求者的能耗也随之增加。对于云点距离和本地距离方案,应用完成时间随着输入数据大小的增加而持续增加,且
当数据大小超过某一特定值时,使用这些方案的应用完成时间可能比本地执行时间更长。本地距离方案忽略了不同云簇之间的距离,而云点距离方案未考虑各个云簇与请求者之间的距离。它们要么不必要地更换执行站点,要么错失最佳执行站点,从而导致更长的数据传输时间。相比之下,使用提出的SSTT方案,随着数据量的增加,应用完成时间的增长要慢得多;并且随着数据量持续增加,应用完成时间逐渐趋于饱和。这是因为提出的SSTT方案基于整体应用完成时间做出卸载决策,避免了执行站点的不必要变更,并防止通过较差的无线传输信道进行卸载。从图13中我们对请求者的能耗也得到了一致的观察结果。
VIII. 结论
本文研究了道路上传统非智能车辆中移动设备的协同计算卸载问题。将最小化应用平均完成时间的问题建模为一个马尔可夫决策过程优化问题。提出了一种具有降低复杂度的求解方法。同时提出了一种启发式方案,即逐站点逐任务方案,该方案以更低的计算复杂度进行卸载决策。仿真结果表明,所提出的卸载方案能够显著减少应用完成时间,同时节省请求者的能耗。当前工作针对的是包含多个任务的单个应用。尽管该工作明确描述的是单个应用的情况,但如果服务规则采用先生成先调度,则该方法也可用于多个应用程序的卸载决策,因为最优方案和SSTT都在每次决策后更新可用云簇(或站点)的集合。扩展该在类似的车载环境中同时为多个应用制定卸载决策的工作要复杂得多,相关内容将在我们的未来工作中进行报告。
775

被折叠的 条评论
为什么被折叠?



