郭辉,芮兰兰,高志鹏
(北京邮电大学网络与交换国家重点实验室,北京 100876)
云计算技术依靠其具有强大计算和存储能力的中心服务器,可以为用户提供广泛的服务及资源,然而,面对目前VR、智能电网、智慧城市等新型技术[1-4]中万物互联的通信场景及低时延、高质量的服务要求,传统云计算技术的部署架构及应用技术亟需改善。例如,集中、单一式的云计算资源无法满足密集型任务的计算需求,海量数据传送到远程云中心进行处理的过程极大增加了中心网络的负担和任务时延,隐私保护、数据安全性及能耗方面有待优化等。
作为传统云计算技术的一种补充与演进,边缘计算(edge computing)[5]技术将云中心服务器的远程集中式部署方式转化为近端离散化部署,通过在网络边缘部署小型云服务器,实现数据计算、存储、识别、分析等能力的下放,在极大减少核心网络带宽和数据处理负荷的同时,也为物联网应用提供了更好的支持。此外,其对于隐私数据的保护和权限设置更加灵活。基于此,边缘计算技术广受关注并成为热点研究领域[6-7]。进一步地,随着移动网络的飞速发展,思科预测到2021 年全球移动业务流量月增长速度将达到7.2 EB[8],为满足高质量的移动服务要求,移动边缘计算(MEC,mobile edge computing)技术[9-14]于2013 年被提出并获得欧洲电信标准协会(ETSI,European Telecommunications Standards Institute)的认可[15]。
在车辆边缘网络(vehicular edge network)中,由于车辆高速移动及边缘服务器(ES,edge server)覆盖范围有限,移动服务的连续性难以得到有效保障[16],因此,为降低请求时延与服务中断频率、保障服务连续性,本文为车辆边缘网络设计了基于多参数马尔可夫决策过程(MDP,Markov decision process)的动态服务迁移算法(DSMMP,dynamic service migration algorithm based on multiple parameter)。
本文的创新点如下。
1)改进了单纯基于跳数距离进行服务迁移方案的不足,DSMMP 构造了基于网络性能、服务器处理能力及车辆运动的多参数MDP 收益函数。
2)摒除了单一迁移目标边缘服务器(D-ES,destination ES)的限制,结合车辆运动参数及请求对应的时延限制构造候选边缘服务器(C-ES,candidate edge server)集合SetC-ES,利用Bellman 方程构造长期收益表达式,根据长期收益值进行迁移决策。
3)弥补了服务迁移方案动态适应性差的缺点,提出了一种基于历史数据的收益权重因子计算及网络数据定期更新方案,提高了DSMMP 算法对动态网络环境的适应能力。
Taleb 等[17]在FMC-Follow Me Cloud 架构[18]中引入了一维马尔可夫决策过程模型[19],为移动用户寻找最优数据中心(DC,data center)。该方案基于随机移动模型将MDP 状态函数定义为用户与最优DC 之间的跳数,利用用户运动概率进行状态聚类,加深了对用户行为的了解,并提高了预测准确度。然而,其计算及设计严格依赖蜂窝网络规则的部署方式,在移动Wi-Fi 等不规则信号覆盖场景中的适用性较差。
有研究者将移动云计算(MCC,mobile cloud computing)场景下的服务迁移问题[20]建模为一维MDP,并进一步在文献[21]中用“常数+指数”的函数形式具体化MDP 开销函数,并利用平衡方程求封闭解,同时改进策略迭代方式以获得更精准的最优策略,该设计的计算复杂度过高,而且在进行MDP 开销函数定义时未考虑环境动态性对函数参数的影响。
为规避MDP 迁移方案中的大量复杂计算和统计过程,IBM 研究人员[22]将Lyapunov 优化技术[23]扩展到约束的MDP 中,利用MDP 的解耦特性将约束MDP 问题转化为一个简单的确定性优化问题,从而高效地求解。类似地,其设计忽略了网络参数的动态特性,从而影响了迁移方案的动态适应性及可靠性。
美国罗格斯大学的研究人员结合服务响应时间参数和MDP 模型设计了一种主动式的边缘云服务迁移决策系统SEGUE(quality of service aware edge cloud service migration)[24]。基于一种混合的push/probe 技术[25],SEGUE 可以实现对网络中各个服务器响应时间变化的监测与收集;使用服务质量(QoS,quality of service)预测模块来检测性能冲突并进行迁移决策;利用MDP 的收益函数测量累计的QoS 提高程度,并选择一个累计QoS 收益最高的ES 作为目标迁移ES。该方案主动监测QoS 并进行服务迁移的过程能够在一定程度上提高服务的可靠性。然而,其监测数据的准确性与及时性缺乏有效保障机制,响应时间完全反映网络状态的设计思想也有待验证。
文献[26]提出了基于多属性的边缘计算服务迁移算法,该算法考虑了每个虚拟机的能量消耗、迁移开销、通信开销、时延以及服务器计算能力等多个属性因素对于服务迁移决策的影响,并建立相应的决策矩阵,在用户离开最优服务器的连接范围后,通过决策矩阵来决策此时是否需要进行服务迁移。该算法虽然在服务迁移过程中充分考虑了能量、时延等开销的影响,但忽略了网络环境的动态性,缺乏参数的实时更新机制。
已有方案对比如表1 所示。通过以上调研发现,大多数的服务迁移方案忽略了网络及节点动态性对迁移决策的影响,同时,动态决策参数的实时更新也是保障迁移算法有效性与可靠性的一个重要因素,如果不能根据环境变化对参数进行学习更新,往往会因参数退化而导致算法性能下降。为此,本文提出了车辆边缘网络中基于多参数MDP 模型的动态服务迁移方案DSMMP。
为保证DSMMP 算法的科学性,本节将利用一个通用的MDP模型来证明MDP服务迁移方案中最优迁移阈值的存在。
本文将时间划分为一个个相邻等值的状态检测时隙,在每个状态检测时隙开始时,ES 基于以下MDP 模型进行迁移决策。
1)状态函数S(t)
从ES 角度出发,将S(t)定义为状态检测时隙为t时,ES 与对应的车辆节点之间的链路跳数hop,有
2)动作函数a(t)
a(t)表示时隙为t时ES 节点对于某一特定车辆节点请求服务的迁移决策,有
(t)表示时隙为t时,ES 从s′迁移到状态s的概率。
4)收益函数
需要说明的是,在本节中利用时延开销来定义MDP 收益函数,则收益函数值越小对应的策略越优。DSMMP 综合网络性能、ES 处理能力、节点运动的收益来定义MDP 收益函数,取收益函数值最大时的策略为最优策略。虽然二者的定义不同,但其实质意义相同,因此2 种定义方式具有一致性,并不冲突。
对服务不迁移和迁移这2 种决策分别产生的网络时延开销进行如下分析。
①不进行服务迁移。如图1 所示,初始t时刻车辆V1处于节点ES2的覆盖范围内,则S(t)=0,此时V1向ES2发送了一个分组请求,设请求时延为treq;然后ES2开始对该请求进行服务计算,计算时延为tcom;在服务计算完成之前的每个状态检测时隙中,ES2均采取不迁移的动作,当计算完成后ES2准备向V1回复数据,却发现V1节点已经离开其信号覆盖范围并其处于ES1的覆盖范围,则ES2将结果数据返回给ES1,此过程的时延为ES 之间的传输时延tdata-trans;最后由节点ES1将请求应答数据回复给V1,此时的时延为车辆和ES 之间的传输时延trep。
则不迁移策略的总时延开销为
② 进行服务迁移。如图2 所示,t时刻车辆V1处于ES2的覆盖范围内,则S(t)=0,V1此时向ES2发送了一个分组请求,请求时延为treq;在计算服务完成之前的某一个状态检测时隙t'',ES2发现车辆V1节点离开其信号覆盖范围,进入ES1的覆盖范围,当S(t′′)>k(k为最优阈值)时,ES2选择进行服务迁移,将其与V1之间的会话过程、请求内容等具体信息打包发送给ES1,该过程的时延为tsession-trans;此后,ES1开始对车辆V1的请求进行服务计算,计算时延为tcom;计算完成后,ES1再将结果数据回复给车辆V1,产生传输时延trep(此时也可能出现V1离开了ES1的范围,但此处仅为证明阈值存在,故不考虑这种复杂情况)。
表1 已有方案对比
图1 服务不迁移场景
图2 服务迁移场景
则迁移策略的总时延开销为
对比上述2 种情况可以发现,tnon-mig和tmig中存在部分相同参数,为简化计算过程,去掉了重复的时延部分,并将MDP 中的收益函数定义为时间开销,因此,状态s下发生动作a的开销函数为
5)折合系数γ
γ表示上述MDP 模型的当前收益与未来收益之间的差异,本文取γ=0.9。
需要注意的是,虽然任务类型、网络及节点状态的差异会影响最优阈值的具体值,但并不影响各个ES 最优阈值的存在性,因此,本节不针对某一具体状态下的收益函数进行详细计算。同时,定义状态值上限值为N,当s>N时,无条件进行服务迁移。
基于上述,提出以下命题,并给出相应证明。
命题1在一个一维的移动边缘网络中,存在一个ES 与移动用户之间的最优状态阈值k<N,当状态s<k时,最优策略为不进行服务迁移;当s≥k时,最优策略为进行服务迁移。
证明
1)当状态值s=0 时,车辆节点与ES 直接相连,采取任何动作决策收益函数值均为0,即Ca(0)=0,此时取a*(0)=0。
2)假设在状态s=k时,对应的最优策略为迁移服务,则此时的动作价值函数满足
式(6)中等号右侧表示一个从未进行服务迁移的折合总开销值。
3)假设在状态k+1≤s′≤N采取不迁移动作,则每个时隙会产生一个时延tdata-trans,直到某个时隙tm到达迁移状态S(tm),则对于从s′开始的任何迁移路径L有
其中,tm为s′之后需要进行服务迁移的时隙值。则有
3.2.1 系统模型
1)网络模型
基于运营商基站和交通部门RSU(road side unit)部署方案[27-28],DSMMP 为每个基站和桩节点连接一个小型的ES,每个基站和桩节点的信号覆盖范围即为对应ES 的服务覆盖范围。如图3 所示,网络分为两级,主要包含3 种类型的节点:车辆、ES 以及一个后端云服务器(BCS,back-end cloud server)。其中,ES 和BCS 为静态节点,BCS 位于车辆和ES 的上层并拥有所有服务请求所需的计算资源,某个ES 中只拥有部分请求的计算资源。同时,ES 之间以及ES 与BCS 之间通过一个静态的回程网络互连,ES 与车辆之间通过无线网络连接。
图3 网络模型
2)服务请求模型
车辆节点将其服务请求发送给直接相连的ES,DSMMP 为每个车辆设置了一个请求表(如表2 所示)来记录每个请求的标识Rlabel、生存时间约束timer 以及接收该请求的ES 标识ESlabel(服务迁移后,ESlabel更新)。timer 代表每个请求对于时延的限制,当timer 未超时且收到回复时,车辆节点删除该请求表项;当timer 未超时且未收到回复时,车辆节点会一直保持该请求表项;当timer 超时仍未收到回复时,车辆会认为该请求暂时不能被满足,并删除该请求对应的表项。
3)服务应答模型
ES 收到一个请求后会立即查询本地是否缓存了相应的计算资源,若有则直接进行服务计算;否则,需要向BCS 进行资源请求再进行服务计算。每个ES 会维持一个服务表来记录向其发出请求的车辆标识Vlabel、对应的请求标识Rlabel以及其与该车辆的跳数距离hop(通过回程网络时刻跟踪该车辆节点获得,并在每个状态检测时隙进行更新)。当某个车辆的请求被满足或进行了服务迁移后,其对应的表项将删除。需要注意的是,一个车辆可能会向同一个ES 发送不同请求,如表3 所示,V2在不同时刻分别向同一个ES 发送了Request4、Request3和Request7。
表2 请求表
表3 服务表
3.2.2 MDP 模型
DSMMP 将时间划分为一个个相等的状态检测时隙t,一个时隙作为一个采样区间,在每个时隙开始时进行ES 状态检测并做出服务迁移决策。
1)状态函数S(t)
S(t)表示在状态检测时隙t时,某个ES 与向其进行请求的车辆V之间的跳数距离(表3 中的hop表项值),有
2)动作函数a(t)
a(t)表示在状态检测时隙t时,ES 节点对于车辆请求的服务采取的迁移决策,有
(t)表示在状态检测时隙t时,一个ES 从状态s′迁移到状态s的概率。由于受道路拓扑限制,能以较高的准确度预测获得车辆的下一个检测时隙的状态值,因此设(t)为0.85。此处,(t)<1 是由车辆边缘环境中的一些不确定因素导致的。
4)收益函数R(s,a)
R(s,a)表示ES 在状态s下对车辆的请求采取动作a的收益值,在决策服务迁移时,ES 需要分别对a=0 和a=1 这2 种情景进行收益函数值计算及比较。当a=1 时,DSMMP 并不会只选择一个目标ES计算R(s,1),而是基于车辆运动及请求时延限制选择多个候选C-ES 构成集合SetC-ES,然后分别计算其对应的收益函数,最后将最大值Rmax(s,1)设置为R(s,1);当a=0 时,DSMMP 利用原O-ES 对应的参数计算R(s,0)。
DSMMP 算法在定义R(s,a)时综合考虑了时延、带宽、服务器处理能力以及车辆运动参数的影响作用。设某个ES 在状态s下采取动作a时,有C-ESm∈SetC-ES(当a=0 时,C-ESm=O-ES),以C-ESm为例将各部分收益计算定义如下。
1)时延收益
(s,a)表示在状态s下采取动作a后,对应于C-ESm的时延收益值。
2)带宽收益
(s,a)表示在状态s下采取动作a后对应于C-ESm的带宽收益值。
3)边缘服务器处理能力
(s,a)表示状态s下采取动作a后获得的C-ESm处理能力大小。DSMMP 从存储和计算能力两方面定义(s,a),考虑到不同任务类型(如计算密集型业务、资源密集型业务等)对于服务器存储和计算能力的要求各不相同,本文不涉及对具体业务类型的考虑,故各自取其权重为0.5。
4)运动收益
①构造SetC-ES
不进行服务迁移时,候选服务器唯一且为O-ES。如图4 所示,在某个状态检测时隙开始时,ES1上运行着某车辆的服务计算并检测到该车辆以速度v从Ps点离开其服务范围,此时ES1若决定进行服务迁移,DSMMP 将进行如下操作构造集合SetC-ES。首先,查询车辆服务请求表中对应请求的timer 值,根据车速v计算distmax=vtimer;然后,根据车辆运动方向及distmax预测请求超时时车辆节点的位置Pe;最后连接点Ps及Pe,选择线段PsPe穿过区域对应的 ES 构建集合 SetC-ES,图 4 中SetC-ES={C-ES2,C-ES6,C-ES7}。
图4 C-ES 选择示意
(s,a)表示状态s下采取动作a后对应于C-ESm的运动收益值。结合车辆运动参数及网络拓扑,DSMMP 将根据车辆节点在C-ES 服务范围的逗留时间定义其运动收益。
需要说明的是,若车辆离开O-ES 的服务范围且该O-ES 选择不进行服务迁移,DSMMP 设置此时的(s,0)=0,因为车辆短时间内再运动回O-ES 服务范围的概率极小。下面以C-ESm为例,分别针对不同Pe位置对进行服务迁移时的(s,1)进行讨论。
①当Pe不在C-ESm的服务范围内时(图4 中的C-ES2和C-ES6),如图5 所示,记车辆与C-ESm服务范围边界的交点为Pm,θm表示车辆运动方向与线段PmC-ESm的夹角,C-ESm的服务覆盖半径为R,则车辆在 C-ESm服务范围内的逗留距离为
图5 运动收益计算示意(Pe不在C-ESm的服务范围)
② 当Pe在C-ESm的服务范围内时(图4 中的C-ES7),如图6 所示,有
图6 运动收益计算示意(Pe在C-ESm的服务范围)
最终,有
其中,αm、βm、δm、εm分别为C-ESm各个参量对应的权重因子。对于每个权重因子的具体取值将在3.4.1 节中给出。
5)折合因子γ
γ表示当前总收益与未来总收益之间的差异。
3.3.1 Bellman 方程计算累计收益
基于3.2.2 节中定义的MDP 模型,DSMMP 将服务迁移的期望总收益定义为
其中,π描述为状态s时采取动作a的策略,将式(19)用递归形式表示为
其中,s′表示状态s的前一个状态检测时隙对应的状态值,p(s',s)表示从状态s′转移到状态s的概率,Vπ(s')表示状态为s′时获得的累计收益值。
DSMMP 的最终目标是在状态s根据策略π采取一个动作a,以实现Vπ(s)的最大化,即
3.3.2 求解迁移状态阈值
DSMMP 利用收益函数值迭代的方法对3.3.1 节中的Bellman 方程进行求解,从而保证在某一个具体状态下为ES 提供合理的服务迁移决策。工作流程如图7 所示,具体求解过程如下。
图7 工作流程
1)初始化。状态检测时隙t时车辆Vi位于ESj的服务范围内,状态值s′=0,threshold 表示进行服务迁移的最小状态阈值,初始时有threshold=N,N为车辆与边缘服务器之间的最大状态值,根据ESj的信息计算R(s′,0)=V*(s′)。
2)在接下来的每个新的状态检测时隙开始时,检测ESj与Vi之间的状态值s,若s=0,不进行服务迁移。
3)若s>0,根据ESj与Vi对应的参数计算a=0时的R(s,0),并获得Va=0(s)。
4)当a=1 时,计算distmax,获得候选ES 集合SetC-ES,分别针对SetC-ES中的每个C-ES 计算其迁移收益值,并选择收益最大的C-ES 作为D-ES,其对应的收益值为Rmax(s,1),计算Va=1(s)。
5)比较Va=0(s)和Va=1(s)的值,选择长期收益最好做出迁移决策:当Va=0(s)>Va=1(s)时,不进行服务迁移,将s赋值给s′,V*(s′)=Va=0(s),下一个时隙继续检测重复上述操作;当Va=0(s)<Va=1(s)时,ESj将Vi的服务请求迁移到D-ES 上,将s赋值给threshold。
6)结束。
算法1求解迁移决策
输入Vi,ESj,timeslot=t,最大状态值N,迁移状态阈值threshold=N,R(s′,0)=V*(s′)
3.4.1 权重因子计算
DSMMP 设置每个ES 对应的权重因子各不相同,相同ES 在为不同车辆的服务进行迁移决策时所使用的权重因子相同。为适应车辆边缘网络环境的动态特征,DSMMP 采用基于ES 历史数据并定期更新的权重因子计算方式。
以ESm为例,在初始时隙,设置权重的更新周期为,并取αm=βm=δm=εm=0.25,ESm基于历史数据,建立矩阵Am进行权重计算,如表4 所示。
表4 历史数据矩阵Am
表4 中,X1、X2、X3分别代表ESm在此次更新之前最近获得的3 组数据编号,Ai1、Ai2、Ai3、Ai4分别代表在第i组数据中的时延收益值、带宽收益值、服务器服务能力以及运动收益值,取
构造一个新的矩阵Bm,其矩阵元素为Bij,如式(23)所示。
在信息论中,熵不仅是不确定性的度量,同时也可以用来表示数据中包含的信息量,将矩阵Bm进行归一化处理得到矩阵Cm,其矩阵元素为Cij,如式(24)所示。
j指标的熵为
j指标的差系数为
则j指标的权重为
从而可以得到αm=w1,βm=w2,δm=w3,εm=w4。
3.4.2 数据更新
1)权重因子更新
权重因子会随着网络参数的变化而变化,因此本文对其采取定期更新方式。以ESm为例,设置更新周期为。初始设置2=t,其中t为一个状态检测时隙的时间长度。DSMMP 算法运行一段时间之后,若算法 1 获得了 threshold,则取,否则2=t。
在车辆节点和ESm之间的服务请求与应答完成后,其对应的参数就会失效,若二者未来再次连接,则在启动DSMMP 算法时重新计算上述参数。
4.1.1 参数设置
基于ORBIT[29](open access research testbed for next-generation wireless network)平台和CRAWDAD社区对某地区出租车进行GPS 跟踪得到的运动轨迹数据集[30],本文对城市车辆边缘网络中的动态服务迁移过程进行了真实模拟。
根据图3 中描述的网络模型及移动运营商对于基站的铺设和区域覆盖范围的设置,取每个ES 的覆盖半径为2 100 m,相邻ES 的重叠区域为204 m,表5 具体展示了仿真实验中其他参数的详细设置。
表5 参数设置
4.1.2 对比方案
DSMMP 策略的仿真过程有以下3 种对比方案。
1)不迁移策略,即服务一直在O-ES 上运行。
2)一直迁移策略,即车辆离开O-ES 覆盖范围后就会进行服务迁移且D-ES 为与车辆节直接连接的ES。
3)SEGUE 策略,根据检测到的QoS 冲突决定是否迁移,利用累计收益计算获得最优D-ES。
4.1.3 对比指标
1)服务响应过程。描述了在每个策略指导下的具体请求服务响应时间变化过程,该指标可以清晰地展示出每个策略的工作方式及各个策略之间直观的性能对比。
2)平均时延。时延是衡量网络性能的一个代表性参数,通过对比不同策略指导下的服务平均时延,可以清晰地看出各个策略的优劣。
3)分组丢失率。利用数据请求失败率来反映每个策略的工作效率。
4)服务迁移次数。结合时延数据,服务迁移次数结果可以清晰地描述出每个策略对于环境动态变化的适应能力。
4.2.1 服务响应过程
以100 次服务请求作为一个采样区间,图8~图11分别描述了数据分组大小为1 MB、4 MB、16 MB及64 MB 时,每个策略对应的服务响应过程。
图8 数据分组为1 MB 时的服务响应过程
图9 数据分组为4 MB 时的服务响应过程
首先,对于存在服务迁移过程的3 种策略,服务响应曲线的每个波峰都代表着一次服务迁移,从服务迁移频率的角度来说,一直迁移策略、SEGUE策略及DSMMP 策略依次递减。一方面,与一直迁移策略相比,SEGUE 策略和DSMMP 策略的迁移决策是分别根据QoS 冲突检测和累计收益值来决定,而不是仅仅基于车辆节点与ES 的位置,因此迁移次数均明显小于一直迁移策略。另一方面,DSMMP 策略在收益函数中加入了对车辆运动参数的考虑及多个C-ES 的选择,因此,其服务迁移位置会更加符合车辆的运动轨迹,有利于实现利用最小迁移次数最快响应请求的目的。
图10 数据分组为16 MB 时的服务响应过程
图11 数据分组为64 MB 时的服务响应过程
其次,对于不迁移策略,其服务响应曲线并不会出现大幅度的波峰形状,而那些小的曲线波谷则是由于请求本地满足或车辆位置靠近ES 引起的响应时间降低。
最后,综合比较图8~图11 可以发现,随着数据分组的增大,各个策略的响应时间均出现增长,但4 种策略的工作模式并未改变,DSMMP 策略表现最优。
4.2.2 平均时延
以100 s 作为一个采样区间,图12~图15 分别记录了数据分组大小为1 MB、4 MB、16 MB 及64 MB时对应的任务平均时延变化结果。
从图12~图15 中可以看出,一直迁移策略的任务平均时延要明显大于其他3 种策略。通过分析,认为原因如下:由于车辆节点一直运动,因此会一直发生频繁的ES 切换和服务迁移过程,使网络中请求分组和回复分组的数据流量增大,甚至出现网络拥塞情况,并最终增大任务的传输时延;而不迁移策略不会存在上述问题,SEGUE 策略和DSMMP策略根据各自的设计进行迁移也不会对网络流量造成严重影响。
图12 数据分组为1 MB 时的平均时延
图13 数据分组为4 MB 时的平均时延
图14 数据分组为16 MB 时的平均时延
DSMMP 策略的平均时延明显优于SEGUE 策略的结果,因为相比于SEGUE 策略,DSMMP 策略在收益函数中加入了对网络参数、ES 服务能力及车辆节点运动参数的综合考虑,在进行服务迁移时,其迁移决策对动态车辆边缘网络环境具有更好的适应能力,因此能够更好地实现边缘请求的快速处理。
图15 数据分组为64 MB 时的平均时延
同时,可以发现4 条曲线均呈现出起点很高,然后急剧下降,最后趋于平缓的变化过程。因为初次请求时,ES 本地无资源缓存,需要向BCS 进行资源请求后再进行服务计算,ES 在回复给请求节点的同时会进行内容的本地缓存,当出现需要相同资源的请求时,可以在本地直接进行请求计算,大大降低了服务时延。
4.2.3 分组丢失率
在进行分组丢失率计算过程中,共进行了235次仿真实验,每次持续100 s,然后综合所有的仿真数据得到图16,其分别记录了数据分组大小为1 MB、2 MB、4 MB、8 MB、16 MB 以及64 MB 情况下各个策略的分组丢失率。
图16 分组丢失率比较
首先,可以看出一直迁移策略的分组丢失率最高。因为其以车辆节点离开O-ES 服务覆盖范围作为迁移触发条件,当一个请求未得到满足并且车辆发生移动时,该服务会被迁移到新的ES 上重新进行服务计算。这种方式虽然简单,但增大了服务中断的频率并且很容易造成一个请求及其对应回复的大量重复,从而造成网络流量的急剧增大,甚至引发网络拥塞,引起丢失分组,增大了数据传输失败的概率。
其次,不迁移策略的分组丢失率高于SEGUE策略及DSMMP 策略。因为该策略采取的不迁移方式虽然不会造成严重的网络流量增长,但随着车辆节点与O-ES 之间距离越来越远,很容易出现由于传输时延过大而造成数据传输超时的情况,进而造成分组丢失。从本质上来说,SEGUE 策略和DSMMP 策略是一直迁移策略与不迁移策略的一种折中方式,这2 种策略既不会随着车辆的运动一直迁移,也不会不迁移,因此,不会出现网络流量急剧上升及大范围数据分组超时的情况。
进一步地,在迁移决策方面,SEGUE 策略基于QoS 冲突进行迁移决策,其仅仅考虑了ES 的QoS;DSMMP 基于一个综合性的动态累计收益函数值来决策,并利用车辆运动参数在多个C-ES 中择优选择,因此,DSMMP 比SEGUE 能够更加适应网络的动态变化,性能更优,分组丢失数更少。
最后,从总体上来看,可以发现随着数据分组的增大,分组丢失率逐渐增大:一方面,由于数据分组增大,网络流量势必增大,网络传输将会受到一定影响,严重时引起分组丢失;另一方面,数据分组增大,当ES 不能本地满足要向BCS 进行数据请求时(如图3 所示),其下载时延及传输时延也会相应增大,严重时会造成数据超时。
4.2.4 服务迁移次数
图17 展示了对235 次100 s 的仿真数据计算平均服务迁移次数的结果。DSMMP 策略的服务迁移次数最低,其次为SEGUE 策略,最大为一直迁移策略。
图17 服务迁移次数比较
首先,SEGUE 策略基于QoS 冲突检测以及DSMMP 策略利用累计收益决策迁移的方式,使二者的服务迁移次数小于一直迁移策略;其次,SEGUE 策略与DSMMP 策略相比,DSMMP 策略充分考虑了节点运动参数及时延限制,因此其迁移位置会更加符合车辆的运动轨迹,对于动态环境的适应性更强;最后,可以看出数据分组的大小对于各个策略的平均迁移次数影响并不大,其原因是3 种策略的迁移决策中并没有考虑数据分组大小的影响作用,因此数据分组大小变化只会对时延造成影响,对于策略的工作过程影响不大。
之所以对服务迁移次数进行统计及比较,是因为每次的服务迁移过程都对应着不可忽视的迁移开销,频繁的服务迁移会对网络造成大量的网络负担,结合时延及分组丢失率结果,可以发现DSMMP能够在最小迁移次数前提下,实现更小的时延和分组丢失率,与其他策略相比,性能最优。
为解决车辆边缘网络中车辆高速移动造成的大量连接切换及服务中断问题,本文提出了基于多参数MDP 模型的动态服务迁移算法DSMMP。DSMMP结合网络带宽、时延、ES 处理能力及车辆运动4 种参数构造了动态适应性更强的MDP 收益函数,利用Bellman 方程获得累计收益,并求解收益最大的迁移状态阈值,另外,DSMMP 还设计了基于历史数据的权重因子计算及数据更新方案。仿真表明,该算法拥有更高的动态环境适应性与可靠性,能在迁移次数最低的情况下达到时延及分组丢失率最优。
在未来工作中,将进一步对DSMMP 算法进行改进和完善。一方面,在迁移决策中加入对更多因素的考虑,如能耗、通信开销、迁移代价等;另一方面,进一步提高算法的可扩展性及其对动态环境适用性,如考虑将该算法应用于更为普遍的MANET 环境中。