法律状态公告日
法律状态信息
法律状态
2022-09-06
实质审查的生效 IPC(主分类):H04W 4/48 专利申请号:2022103588132 申请日:20220407
实质审查的生效
技术领域
本发明属于车载边缘任务处理领域,是一种基于深度强化学习的软件定义车载任务卸载与资源分配优化方法、控制器及决策方法,可以利用在小型基站环境中。对车载任务进行合理的卸载与资源分配决策,可以有效地降低任务的执行时延,特别适合解决有突发热点任务卸载下的执行容错问题。
背景技术
随着无线通信需求的快速增长,传统网络的传输速率和网络容量面临着前所未有的挑战。此外,针对5G和6G网络环境下新增的业务场景,如车辆网络、增强虚拟现实和工业物联网,它们对延迟、能效和其他性能提出了更高的要求。对于上述日益严峻的挑战,边缘计算有望为资源受限设备提供可用的计算服务能力。它可以有效缩短用户设备与数据中心之间的数据传输距离,避免网络拥塞。它允许车辆将自身的车载任务移送至网络边缘进行计算。由于许多计算任务可以在数据源附近完成,所以可以分布式的平衡计算负载。
目前主流的平衡计算负载仅仅涉及到服务器与服务器之间的计算资源分配,并未考虑到单一服务器给每个车载任务的卸载和计算资源的分配。这样便忽略了单个车载任务对整个负载均衡的影响。
无线通信和计算资源通常非常有限且能耗高,这使得难以满足物联网应用日益增长的需求和动态需求,并解决通过互联网通信的智能对象的异构需求。因此,灵活的资源管理、智能网络控制和高效的任务调度算法对于确保公平和有保障的性能起着重要作用。软件定义网络(Software Defined Network,SDN)用于在云移动边缘计算(Mobile EdgeComputing,MEC)中实现灵活协作的任务卸载服务编排。提出了一种服务编排方案来降低网络负载,降低任务时延和能耗。
动态物联网环境中的任务调度问题通常是最具挑战性的资源管理问题之一,因为它通常表现为一个困难的在线决策,适当的解决方案通常取决于动态工作负载和与周围环境的交互。对于深度强化学习(Deep Reinforced Leaning,DRL)来说,非常适合用于解决动态环境交互下的问题,我们提出了一种基于深度强化学习的卸载决策模型,该模型了解资源需求,接入网络和用户移动性。重要的是,它在从学习的卸载知识决定当前任务时考虑以下任务的未来数据依赖性。通过该模型,可以直接从环境中获得最优策略,而无需对卸载解决方案进行复杂的计算。
本发明主要研究通过SDN控制器获取网络全局的状态感知数据,例如获取该区域中所有车载任务的数目、该区域中MEC服务器的负载状态,之后根据部署在SDN控制器上的深度确定策略梯度优化算法来对当前状态数据进行动作决策,直接给出各车载任务的卸载与资源分配的建议,并且通过SDN控制器来转发命令数据给各个路边接入单元(RoadsideAccess Unit,RSU),将具体决策成功执行,该深度强化学习模型会通过决策的结果好坏以及环境状态数据来不断地更新学习,确保最终给出的决策是最优决策。
综合以上情况,需要提出一种基于深度强化学习的软件定义车载任务卸载与资源分配二阶段优化方法,它能够应对车载任务的卸载情景并可考虑多种影响因素。
发明内容
针对上述问题,本发明提出一种软件定义车载任务卸载与资源分配的二阶段优化方法,以解决计算车载任务而导致服务器负载不均衡的问题,该方法包括如下步骤:
步骤1,获取车辆接入的RSU的集合、请求在RSU区域中的卸载的车辆的任务的相关信息、MEC服务器的负载、RSU对应的本地服务器的负载;
步骤2,将车载任务卸载与资源分配二阶段优化方法转化为数学问题;
步骤3,建立马尔可夫模型并求解步骤2中的数学问题;
步骤4,将算法部署至SDN控制器。
进一步,步骤1中所述的信息包括:
①任务的计算时延约束定义为t={T
②将车载任务可能送入的本地服务器集合定义为ser={SER
③服务器的CPU计算能力(每秒可用周期数)定义为h={H
④当前需要处理的车载任务集合为q={Q
⑤计算每个车载任务所需的CPU周期数分别为D={D
⑥MEC服务器的计算能力为f
⑦RSU当前可用的总传输功率e
进一步,步骤2中将车载任务卸载与资源分配二阶段优化方法转化为数学问题的方法为:
步骤2.1,需要执行的计算任务的大小可以写成:B
步骤2.2,由于不同区域的RSU和本地服务器是同类型、同频谱,所以在不同的RSU区域之间存在干扰。RSU设备k在时间槽t处的信噪比为:
其中e
e
根据香农定理,RSU设备k与宏基站m之间可实现的最大数据速率为:
R
其中,R
W=B
其中N
步骤2.3,定义车载任务在本地执行时所需的时间,当SDN做出了由本地服务器来执行任务的决策之后,任务执行所需时间为:
其中D
步骤2.4,根据步骤2.2,若SDN做出了将车载任务卸载到MEC服务器上进行执行的决策时,则需要由RSU向MEC服务器传输当前任务,因此任务传输到MEC上的传输时间为
步骤2.5,根据步骤2.4,当把任务传输到MEC服务器之后,由MEC服务器对当前任务进行计算,则任务在MEC服务器上执行完成所需的时间为:
D
f
步骤2.6,根据步骤2.5,当MEC服务器执行完任务之后,需要将结果回传给RSU,则任务结果返回的回程时间为:
其中B
步骤2.7,根据步骤2.3、2.4、2.5、2.6,可以知道车载任务有两种处理方式,放在本地服务器执行和卸载到MEC服务器上执行,因此任务的总时间可以有两种情况,第一种情况为:
其中,第一种情况的具体流程执行图详情见图4车载任务本地执行具体流程图
第二种情况为:
其中
第二种情况的具体流程执行详情见图5车载任务卸载到MEC服务器执行时具体流程图。
单个任务的计算延迟定义为
其中,
步骤2.8,根据步骤2.7,可得所有任务的计算延迟和为:
步骤2.9,结合步骤2.5、步骤2.6、步骤2.7,将车载任务卸载与资源分配二阶段优化方法转化为求解下列式子:
进一步,建立马尔可夫模型并求解式(14)中的数学问题。求解式(14)的关键在于寻找车载任务的最佳放置序列以及各个任务分配的最合理计算资源。其具体步骤为:
步骤3.1,建立马尔可夫状态空间:
S={t,h,a
其中各个参数说明如下:
①t={T
②h={H
③a
④H
⑤f
⑥e
⑦B
步骤3.2,建立马尔可夫动作空间:
A={k
其中各个参数说明如下:
①k
②k
③κ
④τk为分配给业务设备的带宽比例,用于计算卸载;
步骤3.3,建立马尔可夫奖励函数:
reward=ε(η)×base+κ×[t-(T+D
其中各个参数说明如下:
①ε(η)为阶跃函数
其中ε(η)=1时表示车载任务被成功计算,ε(η)=0表示车载任务没有被成功计算;
②base为常数,表示基础奖励。ε(η)×base表示当一个车载任务被成功计算会获得基础奖励,失败则不会获得基础奖励;
③T+D
④κ×[t-(T+D
步骤3.4,根据步骤3.3中的马尔可夫模型,使用深度确定策略梯度优化算法求解最优卸载和资源调度决策:
步骤3.4.1,建立Actor当前网络、Actor目标网络、Critic当前网络、Critic目标网络,这四个网络的说明如下:
①Actor当前网络的参数为θ,θ也指代神经网络,负责更新网络的参数θ以及根据当前状态S产生当前动作A。动作A作用于当前状态S,生成状态S′和奖励R,奖励R由奖励函数reward获得;
②Actor目标网络的参数为θ′,θ′也指代神经网络,负责从经验回放池中选择动作A′以及更新θ′;
③Critic当前网络的参数为ω,ω也指代神经网络,负责计算当前Q值,Q值用来衡量选择动作的优劣。
④Critic目标网络的参数为ω′,也指代神经网络,负责计算目标Q值,即Q′。
步骤3.4.2,训练Actor当前网络、Actor目标网络、Critic当前网络、Critic目标网络。具体步骤如下所示:
3.4.2.1,首先获得初始化状态S,Actor当前网络根据状态S生成动作A;
3.4.2.2,根据状态S和动作A计算奖励R,并且获取下一状态S′;
3.4.2.3,将{S,A,S′}存入经验回放池;
3.4.2.4,将当前状态记为S′;
3.4.2.5,计算当前Q值与目标Q值;
3.4.2.6,更新Critic当前网络参数ω;
3.4.2.7,更新Actor当前网络参数;
3.4.2.8,如果当前状态S′是终止状态,则迭代完毕,否则转到步骤3.4.2.2。
对于Q值的解释:Q值指的是动作值函数Q
Q
这里将函数Q
G
其中R
对于策略π的解释为:在随机策略下,智能体(Agent)在某一状态下可能执行多种动作,其动作概率分布形如(0.2,0.2,0.3,0.3),随机策略将状态映射为执行动作的概率。随机策略函数可以表示为:
π(a|s)=P(a|s)=P(A
式(19)表示Agent处于状态s时,根据策略π,执行动作a的概率。
马尔可夫决策过程(MDP)应用一个策略产生序列的方法如下:
①从初始状态分布中产生一个初始状态S
②根据策略π(a|s),给出采取的动作A
③根据奖赏函数和状态转移函数得到奖赏R
④S
⑤不断重复第②步到第④步的过程,产生一个序列:
{S
⑥如果任务是情节式的,序列将终止于状态S
归根结底,策略是根据上述所说的动作值函数进行更新的。当动作值函数的值越大,说明该策略越好,模型算法会不断去学习来保证最终给出的都是最好的决策。
基于上述优化方法,本发明还提出了一种SDN控制器,该SDN控制器为部署了上述优化方法的控制器,具体将算法部署至SDN控制器的具体方法为:深度确定策略梯度优化算法训练完成后,保存Actor当前网络并将其部署至SDN控制器。
基于上述SDN控制器,当有车载任务卸载和资源调度需求时,由SDN控制器根据当前网络和节点的状态信息为车载任务确定最佳的卸载和资源分配决策,具体决策方法如下:
网络和节点状态信息转发给SDN控制器以及SDN控制器转发处理决策给RSU的具体流程为:
步骤4.1、发送者连接到网络并向SDN交换机传输相应数据分组,所述数据分组包括:获取车辆接入的RSU的集合、请求在RSU区域中的卸载的车辆的任务的相关信息、MEC服务器的负载、RSU对应的本地服务器的负载等;
步骤4.2、SDN交换机接收数据分组并解析分组头后,在自身流表中查询该数据分组有无对应流规则,如果匹配成功,则直接转发至相应端口;如果匹配失败,则进行下一步骤;
步骤4.3、SDN交换机根据相应数据分组产生Packet-in事件,以TCP协议或TLS协议(安全传输层协议)将Pakcet-in数据分组发送至控制器;
步骤4.4、SDN控制器接收Packet-in数据分组后,根据相关应用产生相应转发策略,并下发至相应SDN交换机;所述策略包括SDN控制器中部署的深度确定策略梯度优化算法决策,以及该决策需要转发的RSU;
步骤4.5、SDN交换机将流规则加入流表,并将相应数据分组转发至指定接口,从而完成数据转发。
本发明的有益效果为:
1、本发明充分考虑每个车载任务的卸载位置和适当的资源调度,在确保计算资源足够使用且计算时延满足任务需求的同时,使得边缘计算服务器提供商的利益最大化。
2、本发明设计了一套完整的车载任务计算流程算法(深度确定策略梯度优化算法),任务流程详情见图1车载任务卸载与资源分配决策流程图,算法流程详情见图2深度确定策略梯度优化算法流程图,包含了车载任务从卸载到计算到结果回传的所有流程,具有完备性和可实施性。
3、基于本发明的算法设计上,只需要对奖励函数做进一步的调整,就可以适应性的满足不同的需求(如要想以节约MEC服务器的计算资源为目的,可在奖励函数中将MEC剩余资源进行一个奖励定义,来达到让算法自适应的学会节约计算资源),可以基于不同用户的侧重点来调整奖励函数达到不同的利益目的。
4、本发明使用SDN控制器来进行全局信息收集转发和策略决策,SDN将网络设备的转发面与控制面解耦,通过控制器负责网络设备的管理、网络业务的编排和业务流量的调度,具有成本低、集中管理、灵活调度等优点。
附图说明
图1车载任务卸载与资源分配决策流程图
图2深度确定策略梯度优化算法流程图
图3车载任务具体处理过程流程图
图4车载任务本地执行具体流程图
图5车载任务卸载到MEC服务器执行时具体流程图
具体实施方式
下面结合附图对本发明作进一步说明。
如图1所示,下面对本发明做进一步的说明,需要说明的是,本实例的具体实施是以本技术为前提,给出了详尽的实施过程和实施步骤,但是本发明的保护范围并不受限于本实施实例。
假设此时车辆j将车载任务Q
(1)步骤1中使用SDN控制器收集相关信息。车载任务R
(2)根据(1)中获取的数据,根据步骤2,使用公式:
计算任务Q
(3)SDN汇总其它车辆与本地服务器和MEC服务器的信息,根据步骤2,使用公式:
计算服务器中所有的车载任务的计算延迟。
(4)SDN汇总本地服务器和MEC服务器的负载信息,根据步骤2,使用公式:
将车载任务卸载与资源分配二阶段优化方法转化为数学问题。
(5)根据步骤3,使用深度确定策略梯度优化算法求解该数学问题。步骤3.4.2中:
1.首先获得初始化状态S,即各个RSU的状态、所有车辆任务的完成情况。Actor当前网络根据状态S生成动作A,动作A即某辆车的任务所选择的卸载和资源分配决策。具体方法为:计算状态S的特征向量φ(S),动作
2.由当前状态S和动作A计算奖励R,并产生新的状态S′。当选择了某个车辆任务卸载和资源分配的决策后,各个RSU本地服务器和MEC服务器的状态、所有车辆任务的完成情况都会产生变化,其新的状态定义为S′;
3.将{S,A,S′}存入经验回放池,其目的在于更好的训练神经网络。Actor目标网络θ′根据经验池中的S′选择出动作A′;
4.将当前状态记为S′;
5.计算当前Q值与目标Q值
Q(S,A,ω)为当前Q值,将状态S与动作A输入Critic当前网络ω计算完成,由于神经网络极其复杂,这里不做计算过程的表述;y为目标Q值,其中Q′(S′,A′,ω′)计算原理与Q(S,A,ω)相同。
6.使用当前Q值与目标Q值更新Critic当前网络ω:
ω←ω+(y-Q(S,A,ω))
y代表更加准确的Q值,ω+(y-Q(S,A,ω))表示Critic当前网络ω通过Q值更新自身。由于神经网络的更新极其复杂,这里仅仅体现更新的基本思路;
7.Critic当前网络ω帮助Actor当前网络θ更新:
θ←θ-TD(S,A,ω)
其中TD(S,A,ω)表示ω计算在状态S下选择的动作A与最优动作的误差,θ-TD(S,A,ω)表示Actor当前网络θ消除了误差。由于神经网络的更新极其复杂,这里仅仅体现更新的基本思路;
8.如果当前状态S′是终止状态,则迭代完毕,Actor当前网络会做出最优卸载时隙的决策,否则转到步骤2。
进一步的,对上述步骤(1)-(5)中,SDN控制器具体的数据转发流程进行一个具体描述:
发送者要与接收者通信时,基本通信流程主要包括以下步骤。
步骤1、发送者(各个路边接入单元RSU)连接到网络并向SDN交换机传输相应数据分组(获取车辆接入的RSU的集合、请求在RSU区域中的卸载的车辆的任务的相关信息、MEC服务器的负载、RSU对应的本地服务器的负载等)。
步骤2、SDN交换机接收数据分组并解析分组头后,在自身流表中查询该数据分组有无对应流规则。如果匹配成功,则直接转发至相应端口;如果匹配失败,则进行下一步骤。
步骤3、SDN交换机根据相应数据分组产生Packet-in事件,以TCP协议或TLS协议(安全传输层协议)将Pakcet-in数据分组发送至控制器。
步骤4、SDN控制器接收Packet-in数据分组后,根据相关应用产生相应转发策略(策略中包括SDN控制器中部署的深度确定策略梯度优化算法决策,以及该决策需要转发的RSU),并下发至相应SDN交换机。
步骤5、SDN交换机将流规则加入流表,并将相应数据分组转发至指定接口,从而完成数据转发。
进一步的,关于本发明的任务具体处理过程的流程详情见图3车载任务具体处理过程流程图所示。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技术所创的等效方式或变更均应包含在本发明的保护范围之内。
机译: 传输路径优化方法和使用该方法的软件定义的网络控制器
机译: 传输路径优化方法及使用该方法的软件定义网络控制器
机译: SDN软件定义的网络一种用于解决网络错误的控制器和交换机及其控制器和交换机的操作方法