CN116501483A - 基于多智能体强化学习的车辆边缘计算任务调度方法 - Google Patents
基于多智能体强化学习的车辆边缘计算任务调度方法 Download PDFInfo
- Publication number
- CN116501483A CN116501483A CN202211608461.8A CN202211608461A CN116501483A CN 116501483 A CN116501483 A CN 116501483A CN 202211608461 A CN202211608461 A CN 202211608461A CN 116501483 A CN116501483 A CN 116501483A
- Authority
- CN
- China
- Prior art keywords
- rsu
- representing
- energy consumption
- task
- formula
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004364 calculation method Methods 0.000 title claims abstract description 22
- 230000002787 reinforcement Effects 0.000 title claims abstract description 21
- 238000005265 energy consumption Methods 0.000 claims abstract description 65
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 64
- 238000012549 training Methods 0.000 claims abstract description 13
- 238000004891 communication Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims description 62
- 238000013508 migration Methods 0.000 claims description 33
- 230000005012 migration Effects 0.000 claims description 33
- 230000009471 action Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 21
- 238000005457 optimization Methods 0.000 claims description 20
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 12
- 230000001934 delay Effects 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 125000004122 cyclic group Chemical group 0.000 claims description 2
- 238000004880 explosion Methods 0.000 abstract description 4
- 239000003795 chemical substances by application Substances 0.000 description 28
- 238000010586 diagram Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- PFFIDZXUXFLSSR-UHFFFAOYSA-N 1-methyl-N-[2-(4-methylpentan-2-yl)-3-thienyl]-3-(trifluoromethyl)pyrazole-4-carboxamide Chemical compound S1C=CC(NC(=O)C=2C(=NN(C)C=2)C(F)(F)F)=C1C(C)CC(C)C PFFIDZXUXFLSSR-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Mobile Radio Communication Systems (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
Abstract
本发明提出了一种基于多智能体强化学习的车辆边缘计算任务调度方法,涉及边缘任务调度技术领域。通过将每个路侧单元RSU都当成一个智能体,使其能够与通信范围内的其它智能体进行协作,从而建立一个多智能体环境。然后,将该环境下的任务调度问题抽象为一个在保证各约束条件下的最小化能耗成本的计算问题。之后,利用马尔可夫博弈思想推导出优化调度策略,并通过构建基于多智能体强化学习算法——MADQN‑TS算法模型对其进行训练,得到最终的决策模型。从而在当前有限的通信和计算资源的情况下,有效调度网络中的资源,使其达到最佳利用率,并促进***能耗最小化,以缓解决策空间维度***的问题。
Description
技术领域
本发明涉及边缘任务调度技术领域,具体而言,涉及一种基于多智能体强化学习的车辆边缘计算任务调度方法。
背景技术
车联自组网络下的实时任务调度研究按照调度算法大体可分为两类研究方向,传统调度算法和智能学习算法。其中,传统算法通常是复杂优化问题的静态解,无法基于动态环境实现最佳决策。
智能学习算法可以解决动态解问题,所以许多研究者利用深度学习和强化学习技术来解决边缘计算中的资源调度问题,包括单智能体学习和多智能体学习。例如,Yu等人将卸载决策问题描述为一个多标签分类问题,并使用了深度监督学习技术进行任务卸载决策。Miao等人基于LSTM算法对用户计算任务进行预测,从而优化边缘计算卸载模型。邱、Ning、Lu、以及Shen等人从不同角度出发,基于DQN技术(基于深度学习的Q-learning算法)适应动态环境,以解决任务卸载问题。以上算法虽然具有强大的并行处理和学习能力,但是不能很好的适应高并发实时任务以及多节点集群,往往存在决策空间维度***的问题。
此外,在车辆边缘计算中,车辆对数据通讯和计算负载的需求量较大,而现有的网络资源往往无法满足其对高时延的要求。
发明内容
本发明的目的在于提供一种基于多智能体强化学习的车辆边缘计算任务调度方法,通过改进的多智能体强化学习算法MADQN-TS,对车辆边缘计算中任务调度问题进行优化,提高网络利用率,促进***能耗最小化,以缓解决策空间维度***的问题。
本发明的实施例是这样实现的:
本申请实施例提供一种基于多智能体强化学习的车辆边缘计算任务调度方法,其包括:
接收所有车辆终端对应的实时任务信息和资源需求信息;
对任务进行分类,并对每个任务的资源需求进行度量;
根据任务的类型,将任务分割成单个原子任务,并放入待调度队列中;
依次从待调度队列中提取任务,并利用预设的MADQN-TS算法模型进行任务调度,将各任务分配给相应的路侧单元RSU;
路侧单元RSU执行对应的任务,得到并将处理结果回传给相应的上述车辆终端。
在本发明的一些实施例中,上述利用预设的MADQN-TS算法模型进行任务调度,将各任务分配给相应的路侧单元RSU的步骤包括:
基于RSU协作思想,计算每个RSU处理对应任务的时延和能耗;
根据时延和能耗构建多约束条件下的联合优化公式,明确联合优化问题;
基于马尔可夫博弈思想将联合优化问题转化为关于时延和能耗的奖励,推导得到状态转移函数;
利用预设的MADQN-TS算法模型对状态转移函数进行求解,得到调度结果;
根据调度结果进行本地处理/迁移到另一邻近RSU进行处理。
在本发明的一些实施例中,上述每个RSU处理对应任务时,需计算本地处理时延、本地处理能耗、迁移处理时延和迁移处理能耗;
本地处理时延的公式为:/>其中,ck表示RSUk执行任务所需的计算资源,/>表示RSUk的本地计算能力;
本地处理能耗的公式为:/>其中,κ表示RSUk的处理能力与功率消耗之间的关系系数,Dk表示RSUk的任务数据,且Dk={dk,ck},dk表示数据大小,ck表示执行任务所需的计算资源;
迁移处理时延Tk,m的公式为:其中,fk,m表示RSUm分配给RSUk的计算能力,xk,m表示RS Um和RSUk之间的通讯速率;且/>其中Bk表示带宽,pk表示RSUk的传输功率,hk,m表示信道衰减系数,θ表示路径损耗系数,lk,m表示RSUm和RSUk之间的距离;上述fk,m需要满足公式:/>代表RSUm所有分配出去的计算能力之和小于RSUm本身的最大计算能力Fm,其中,ok,m=1,表示RSUm将数据迁移到RSUk进行处理;
迁移处理能耗Ek,m的公式为:其中,em表示RSUm每单位计算容量的能耗。
在本发明的一些实施例中,上述根据时延和能耗构建多约束条件下的联合优化公式为:
s.t.C1:ok,j∈{0,1}
C2:
C3:
C4:0≤fk,m≤Fm
C5:0≤pk≤P
其中,表示时延的权重,/>表示能耗的权重因子,Tk和Ek表示真实的时延和能耗;当ok,0=1时,表示选择在本地执行任务,此时/>当ok,m=1,时表示迁移执行,此时Tk=Tk,m,Ek=Ek,m;约束C1和约束C2表示仅迁移到一个RSU上,约束C3和约束C4表示分配的计算能力不能超过RUSm上的最大计算能力,约束C5确保传输功率pk不超过上限。
在本发明的一些实施例中,上述基于马尔可夫博弈思想将联合优化问题转化为关于时延和能耗的奖励,推导得到状态转移函数的步骤包括:
根据本地处理时延和迁移处理时延计算归一化延迟差,并根据本地处理能耗和迁移处理能耗计算归一化能耗差;
结合归一化延迟差和归一化能耗差得到奖励公式:其中,/>表示RSUk最终的奖励,/>表示时延奖励,/>表示能耗奖励;
根据奖励计算***开销/>公式为:/>其中,ω表示折现因子,表示过去奖励对当前奖励的影响程度,τ表示过去的时隙,/>表示从状态/>到状态/>的奖励;
根据***开销推导得到状态转移函数/>公式为:/>
在本发明的一些实施例中,上述MADQN-TS算法模型的构建包括:
建立估计Actor网络和估计Critic网络,向估计Actor网络输入RSU的当前状态则输出动作/>向估计Critic网络输入所有RSU的当前状态S和动作A,则输出预测值其中,/> 表示估计Critic网络参数;
建立目标Actor网络和目标Critic网络,向目标Actor网络输入RSU下一步的状态则输出下一步的动作/>向目标Critic网络输入所有RSU的下一步的状态S'和动作A',则输出目标值/>其中,/> 表示目标Critic网络参数;
基于预测值和目标值/>利用随机梯度下降方法对估计Actor网络参数/>估计Critic网络参数/>和损失函数进行更新,并将相关状态、动作、损失函数和网络参数进行经验存储,形成经验重放机制;
从上述经验重放机制中获取相关的经验数据进行训练,并对目标Actor网络参数和目标Critic网络参数/>进行循环更新;
上述Actor网络、Critic网络和经验重放机制构成上述MADQN-TS算法模型。
在本发明的一些实施例中,上述目标Actor网络参数的更新公式为:目标Actor网络参数/>目标Critic网络参数/>的更新公式为:/>其中,λ∈[0,1]。
相对于现有技术,本发明的实施例至少具有如下优点或有益效果:
本申请实施例提供一种基于多智能体强化学习的车辆边缘计算任务调度方法。通过将每个路侧单元RSU都当成一个智能体,使其能够与通信范围内的其它智能体进行协作,从而建立一个多智能体环境。然后,将该环境下的任务调度问题抽象为一个在保证各约束条件下的最小化能耗成本的计算问题。之后,利用马尔可夫博弈思想推导出优化调度策略,并通过构建基于多智能体强化学习算法——MADQN-TS算法模型对其进行训练,得到最终的决策模型。从而在当前有限的通信和计算资源的情况下,有效调度网络中的资源,使其达到最佳利用率,并促进***能耗最小化,以缓解决策空间维度***的问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为边缘***三层模型的交互示意图;
图2为本发明提供的一种基于多智能体强化学习的车辆边缘计算任务调度方法一实施例的流程图;
图3为本发明提供的一种基于多智能体强化学习的车辆边缘计算任务调度方法一实施例中任务调度的流程示意图;
图4为MADQN算法的示意图;
图5为基于RSU协作的车辆边缘计算任务调度场景图;
图6为Actor网络示意图;
图7为Critic网络示意图;
图8为MADQN-TS算法模型的框架图;
图9为MADQN-TS算法和DQN-TS算法的收敛对比图;
图10为MADQN-TS算法和DQN-TS算法的能耗成本对比图;
图11为几种算法的平均资源利用率对比图;
图12为几种算法的平均任务失败率对比图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的各个实施例及实施例中的各个特征可以相互组合。
在边缘计算场景下,***模型有很多种,最经典的就是“云-边-端”三层***模型,如图1所示,分为下中上三层。其中下层是物联网层,包含各种资源匮乏、能量受限、时延过高的边端智能设备,例如车辆、监控等;中间层是边缘层,是整个边缘计算的心脏,连接着云端和物联网端,起着桥梁的作用,例如路侧单元RSU、边缘服务器等。其向上连接云端可以发送请求、接收结果,向下连接物联网层可以接受终端的任务请求,选择将任务在本地进行计算或者将任务进一步上传到云端,并将最终计算结果返回给终端设备;云端作为三层的核心大脑,设有存储中心、计算中心,能对大规模任务进行计算、处理、存储,并将结果返回。
本发明所想解决的资源分配和任务调度问题一般发生在中间层。由智能设备发送出的任务请求到达中间层,需要中间层对该请求进行判断,是通过跨层的方式上传到云端完成任务,还是通过横向协同临近的边缘服务器完成任务。调度过程对任务所需计算资源、网络传输开销、用户体验时长等条件进行衡量,以进行有效调度。
具体的,请参照图2和图3,本申请实施例提供一种基于多智能体强化学习的车辆边缘计算任务调度方法,该方法包括以下步骤:
步骤S1:接收所有车辆终端对应的实时任务信息和资源需求信息。
上述步骤中,边缘设备的任务释放是任务调度过程中的第一步。任务的发起者是处于网络边缘的物联网设备,包括智能机、监控摄像机、工业传感器、车辆等等。这些设备的形式各样、用途不一,具有异构性、动态性的特点,并且产生的任务类型以及任务的资源需求也各不相同。本申请通过路侧单元RSU接收所有车辆终端对应的实时任务信息和资源需求信息,然后进行车辆边缘计算任务调度。
步骤S2:对任务进行分类,并对每个任务的资源需求进行度量。
上述步骤中,边缘节点接收到任务后,首先会按照不同的任务类型进行分类,任务包含了独立任务类型、周期性任务类型、偶发性任务类型、多帧任务类型以及实时任务类型等。然后对每个任务的资源需求进行度量。可能包含的特定资源需求包括CPU资源、GPU资源、FPGA资源等,为后续任务调度的边缘节点选择做准备。
步骤S3:根据任务的类型,将任务分割成单个原子任务,并放入待调度队列中。
上述步骤中,任务在经过资源需求度量后,调度器能够更加准确地了解任务所需资源以及边缘节点的现有资源状况。其决策过程主要分为两步,第一步是依据任务的类型,选择不同的任务处理方式,将任务分割成单个原子任务,如若任务不可分,则不做处理。第二步是将任务放入待调度队列中,等待分配。
步骤S4:依次从待调度队列中提取任务,并利用预设的MADQN-TS算法模型进行任务调度,将各任务分配给相应的路侧单元RSU。
上述步骤中,本申请在MADQN算法(基于多智能体的深度Q-Learing学习算法)的基础上进行改进得到MADQN-TS算法。MADQN算法的原理如图4所示,假设该场景中有n个智能体,场景的状态s应当是n个智能体的结合,可用s{s1,s2,...,sn}表示,即sj(1≤j≤n)表示第j个智能体的置信状态。智能体Aj的输入是sj,输出是与Aj中的动作相对应的Q值,即qj,qj=[Q(sj),...,Q(sj)]。用如图4中最左侧的a图所示的神经网络的连接方式,得到所有动作的Q值,可表示为/>在智能体决策(本地处理或者迁移处理)时,依据q选择动作。图4中最右侧的c图表示两个隐藏层之间的计算细节。第i+1隐藏层/>的输入包括两部分,一个是上一个隐藏层/>的输出,以及来自其它隐藏单元的信息/>其它隐藏单元的信息/>可表示为:/>则第i+1隐藏层可以表示为:/>其中,σ表示非线性激活函数,通常使用RELU函数,是权重矩阵,表示智能体之间的共享参数。
MADQN通常认为是具有隐藏层di+1=σ(Tihi)的结构化DQN(深度Q-Learing学习算法),其中hi是所有的表示,即/>Ti可表示为:
其中,
基于上述原理,具体的模型构建及任务调度过程包括:
步骤S4-1:基于RSU协作思想,计算每个RSU处理对应任务的时延和能耗。
上述步骤中,首先将每个路侧单元RSU都当成一个智能体,使其能够与通信范围内的其它智能体进行协作,从而建立一个多智能体环境。
从RSU的角度上考虑,假设有K={1,2,...,K}个RSU,对每个RSU可接受在一定范围之内其它RSU卸载的任务数据。因此对于每个RSU可迁移的RSU有M={1,2,...,M},其中M必然是小于K的。假设RSUk的数据为Dk={dk,ck},其中dk和ck分别表示数据大小和所需计算资源。用pk表示RSUk的传输功率,pk满足pk∈[0,P],其中P表示其允许的最大传输功率。当RSUk与RSUm的距离小于rk时可以通讯。在每个时隙中,每个RSU只能与一个RSU通信,两者之间的通信速率取决于带宽,传输速率和噪声干扰。RSUk与RSUm之间的通讯速率X可以表示为:其中Bk表示带宽,pk表示RSUk的传输功率,hk,m表示信道衰减系数,θ表示路径损耗系数,lk,m表示RSUm和RSUk之间的距离。
在调度过程中,RSU可以灵活地决策数据是进行本地计算还是迁移到其它RSU上计算(如图5所示)。因此,可以用οk,j∈{0,1},j∈{0,1,2,...,N}表示计算决策,当οk,0=1时,表示数据Dk在本地进行处理,οk,m=1时表示数据迁移到RSUm上进行处理。需注意的是,每个RSU只选择一个迁移对象时,需要满足公式:
进一步地,在决策时,需要考虑RSU的时延和能耗,包括本地处理时延、本地处理能耗、迁移处理时延和迁移处理能耗。具体计算如下:
本地处理时延的公式为:/>其中,ck表示RSUk执行任务所需的计算资源,/>表示RSUk的本地计算能力;
本地处理能耗的公式为:/>其中,κ表示RSUk的处理能力与功率消耗之间的关系系数,Dk表示RSUk的任务数据,且Dk={dk,ck},dk表示数据大小,ck表示执行任务所需的计算资源;
迁移处理时延Tk,m的公式为:其中,fk,m表示RSUm分配给RSUk的计算能力,xk,m表示RS Um和RSUk之间的通讯速率;且/>其中Bk表示带宽,pk表示RSUk的传输功率,hk,m表示信道衰减系数,θ表示路径损耗系数,lk,m表示RSUm和RSUk之间的距离;上述fk,m需要满足公式:/>因为虽然RSUm可以接收到多个RSU的数据,但是每个RSU的资源是有限的,所以需要满足所有分配出去的计算能力之和小于RSUm本身的最大计算能力Fm,其中,ok,m=1,表示RSUm将数据迁移到RSUk进行处理;
迁移处理能耗Ek,m的公式为:其中,em表示RSUm每单位计算容量的能耗。
步骤S4-2:根据时延和能耗构建多约束条件下的联合优化公式,明确联合优化问题。
上述步骤中,为了能够在降低能耗的同时,充分利用计算能力,需要优化时延和能耗的加权和,即***成本。联合优化公式为:
s.t.C1:ok,j∈{0,1}
C2:
C3:
C4:0≤fk,m≤Fm
C5:0≤pk≤P
其中,表示时延的权重,/>表示能耗的权重因子,Tk和Ek表示真实的时延和能耗;当ok,0=1时,表示选择在本地执行任务,此时/>当ok,m=1,时表示迁移执行,此时Tk=Tk,m,Ek=Ek,m;约束C1和约束C2表示仅迁移到一个RSU上,约束C3和约束C4表示分配的计算能力不能超过RUSm上的最大计算能力,约束C5确保传输功率pk不超过上限。从而确定联合优化问题。
步骤S4-3:基于马尔可夫博弈思想将联合优化问题转化为关于时延和能耗的奖励,推导得到状态转移函数。
上述步骤中,环境中每个RSU都可以看成是一个Agent(代理)。在多个Agent的互动过程中,RSU执行不同的动作来改变状态,获得相应奖励。从而可以通过最大化累积奖励,解决上述联合优化问题。转换过程中对于状态、动作、奖励和下一个状态的描述如下所示:
(1)状态
在时隙t,RSUk可观察到自己的状态该状态包括原始计算决策ok,m、数据大小dk、所需计算资源ck和距离/>因此状态/>可表示为/>其中,/>表示RSUk和所有可互动的RSU之间的距离。
(2)动作
在时隙t,RSUk的动作包含可执行计算决策/>和可执行发射功率/>因此动作空间可表示为/>其中/>当/>时,表示在RSUk的本地执行,/>时表示RSUk将数据迁移到RSUm上执行。同理,/> 时表示在RSUk的本地执行,/>时表示以功率p迁移到RSUm上执行。
(3)奖励
在时隙t,RSUk的奖励包含时延奖励/>和能耗奖励/>根据上述联合优化问题,首先,根据本地处理时延和迁移处理时延计算归一化延迟差/>并根据本地处理能耗和迁移处理能耗计算归一化能耗差/>
然后,结合归一化延迟差和归一化能耗差得到奖励公式:其中,/>表示RSUk最终的奖励,/>表示时延奖励,/>表示能耗奖励。奖励公式表示的意义为:当RSUk选择在本地执行时,奖励/>当RSUk选择将数据迁移执行时,奖励/>是非零值。如果迁移的时延小于本地计算时延,/>为正奖励;否则,/>为负奖励。同理,如果迁移的能耗小于本地计算能耗,/>为正奖励;否则,/>为负奖励。
之后,根据奖励计算***开销/>公式为:/>其中,ω表示折现因子,表示过去奖励对当前奖励的影响程度,τ表示过去的时隙,/>表示从状态/>到状态的奖励。从而将上述联合优化问题转化为关于时延和能耗的奖励。
最后,根据***开销推导得到状态转移函数/>公式为:/>在时隙t,RSUk的状态转移函数/>是通过执行动作/>转变成下一步的状态/>的概率,表示为在两个RSU的互动过程中,最终收敛到最优状态转移函数/>即最大化累积报酬。从而通过计算最大化累积报酬的最优解,即可得到调度结果。
步骤S4-4:利用预设的MADQN-TS算法模型对状态转移函数进行求解,得到调度结果。
上述步骤中,MADQN-TS算法基于Actor-Critic框架搭建。对于每个RSU而言,其都是一个独立的智能体,都Actor网络、Critic网络和经验重放机制。其中,Actor网络用于产生动作,Critic网络用于指导Actor更好地行动。
示例性的,请参照图6,Actor网络由输入层、三个具有ReLU激活功能的全连接层和输出层组成。Actor网络输入的是状态输出的是动作/>此外,为了从未知的环境中学***衡开发和探索。开发表示RSU会尽可能的采取具有最大价值的行动来使用所学知识,而探索意味着RSU通过随机行动获取未知知识。在学***衡所采取的行动。
请参照图7,Critic网络使用Q值来评估动作的表现。Critic网络包括一个输入层、三个具有ReLU激活功能的全连接层和具有一个节点的输出层组成。Critic网络的输入是所有RSU的状态和动作,输出为Q值。
具体的,请参照图8,构建的MADQN-TS算法模型包括Actor网络、Critic网络和经验重放机制。
首先,建立估计Actor网络和估计Critic网络,向估计Actor网络输入RSU的当前状态则输出动作/>向估计Critic网络输入所有RSU的当前状态S和动作A,则输出预测值其中,/> 表示估计Critic网络参数。
然后,建立目标Actor网络和目标Critic网络,向目标Actor网络输入RSU下一步的状态则输出下一步的动作/>向目标Critic网络输入所有RSU的下一步的状态S'和动作A',则输出目标值/>其中,/> 表示目标Critic网络参数。
之后,基于预测值和目标值/>利用随机梯度下降方法对估计Actor网络参数/>估计Critic网络参数/>和损失函数进行更新,并将相关状态、动作、损失函数和网络参数进行经验存储,形成经验重放机制。其中,估计Actor网络参数/>的更新公式为:/>πk代表策略。此外,通过最小化当前Q值和下一步Q值的损失函数/>可以更新RSUk的估计Critic网络。其损失函数/>可表示为:/>更新公式为:/>
最后,从上述经验重放机制中获取相关的经验数据进行训练,并对目标Actor网络参数和目标Critic网络参数/>进行循环更新,从而获得最优的MADQN-TS算法模型。其中,目标Actor网络参数/>的更新公式为:目标Actor网络参数/>目标Critic网络参数/>的更新公式为:/>其中,λ∈[0,1]。
具体地,MADQN-TS算法模型的训练过程如下表1所示:
表1MADQN-TS算法模型训练过程
在MADQN-TS算法模型的训练过程中,每个Actor网络都需要自身状态和对应Critic网络的Q值,而Critic网络需要所有Actor网络的状态和行为。训练过程完成后,执行过程只需要Actor网络,每个Actor网络都可以根据自己的状态推导出有效的动作。需说明的是,在MADQN-TS算法模型中,经验重放机制是很重要的,若将每个样本表示为式则其历史序列表示为/>由于采样中的训练数据必须是独立同分布的,因此使用经验重放机制可以打乱时间的相关性。在训练过程中,产生的状态、动作、奖励和下一步的动作和状态都将存储到缓存池中。Actor网络和Critic网络在训练过程中,将从中随机选取经验数据进行训练。
步骤S5:路侧单元RSU执行对应的任务,得到并将处理结果回传给相应的上述车辆终端。
路侧单元RSU根据上述调度结果进行本地处理或者迁移到另一邻近RSU进行处理。并在处理完成后将处理结果回传给相应的上述车辆终端,从而完成车辆边缘计算任务调度。
为验证上述MADQN-TS算法的性能,本申请在边缘计算仿真器EdgeCloudsim的基础上构建了以车辆边缘计算为场景的边缘仿真***,并对算法进行了实验分析。EdgeCloudsim是基于Cloudsim开发的,环境中可以同时考虑计算资源和网络资源进行实验。具体实验软硬件环境如下表2所示。
表2实验软硬件环境参数表
名称 | 参数 |
CPU | Intel(R)Xeon(R)CPU [email protected] |
GPU | NVIDIA GeForce RTX 2080Ti |
操作*** | Ubuntu18.04 |
内存 | 128GB |
训练软件 | TensorFlow |
仿真器 | EdgeCloudsim |
数据统计 | MATLAB |
车辆应用通常有两类,一类是以车载安全为主的应用,例如障碍预警;另一类则是娱乐信息类的应用,主要指语音识别、视频处理、在线游戏等相关应用。为模拟真实车辆中常见的应用,实验中需要使用仿真器生成的车联网应用程序,主要有三个TRAFFIC_MANAGEMENT,DANGER_ASSESSMENT,INFOTAINMENT其主要参数见表3。
表3应用程序数据仿真参数表
TRAFFIC | DANGER | INFOTAINMENT | |
使用率(%) | 30 | 35 | 35 |
延迟敏感度(s) | 0.5 | 0.8 | 0.25 |
泊松分布参数(s) | 3 | 5 | 15 |
平均数据上传(KB) | 20 | 40 | 20 |
平均数据下载(KB) | 20 | 20 | 80 |
任务调度长度(KB) | 3000 | 10000 | 20000 |
所需核心数 | 1 | 1 | 1 |
边缘资源利用数 | 6 | 20 | 40 |
另外,本实验中考虑两个双向两车道的情况,每条车道长度为1000米,每条车道的宽度为4米,RSU部署在道路的一侧,车辆在各个车道上来回移动。速度数据使用包含中国西安迪迪快车速度的GAIA开放数据集的一部分。该数据集包含滴滴快车在一个月内以及数千个地区和道路上的GPS坐标和实时速度。随机选择三种负载,分别统计计算道路上车辆的平均速度。实验将车辆速度将从17.7、35.8和52.6km/h三个速度中随机选择。RSU和车辆的覆盖半径分别设置为500米和250米。任务的时延约束从中随机生成。实验中需要使用的车辆和RUS的详细参数表4。
表4车辆和RSU详细参数
参数名 | 参数符号 | 参数值 |
RSU数量 | K | 10 |
每个RSU可协作的RSU数量 | M | 2-4 |
RSU协作覆盖半径 | μk,m | 500m |
RSU计算能力 | Fk | 100GHz/s |
RSU计算能力的能耗 | ek | 1W/GHz |
数据大小 | dk | 50KB-10000KB |
所需计算资源 | ck | 1-9GHz |
最大传输功率 | P | 300mW |
基于以上的***参数,构建训练模型的场景环境,并设置DQN-TS算法的模型训练参数,如下表5所示。
表5DQN-TS算法模型训练参数
参数名 | 参数值 |
Actor网络学习率 | 10-4 |
Critic网络学习率 | 10-3 |
折现系数 | 0.95 |
初始化抽样概率 | 0.5 |
记忆A的采样衰减率 | -0.0001 |
记忆B的采样衰减率 | 0.0001 |
初始化ε | 1 |
ε的衰减系数 | 0.995 |
验证过程中,对MADQN-TS算法和DQN-TS算法的收敛性进行检测,得到了如图9所示的收敛对比图。其中,横坐标表示迭代次数,纵坐标表示对两种算法的奖励函数经过归一化处理后的结果。具体从收敛速度上来看,MADQN-TS在300次时基本收敛,DQN-TS在400次时收敛,MADQN-TS收敛速度更快。从回报率来说,MADQN-TS比DQN-TS高21.9%。由此可见,MADQN-TS算法由于采用了对时延和能耗的加权和的联合优化,以及经验重放机制,获得了更好的收敛性。
图10为MADQN-TS算法和DQN-TS算法的能耗成本对比图。从中可以看出,能耗成本会随着时间的增加而累积,而当时间累积足够长时,能耗成本的增长率将会趋于稳定,这是因为***中的任务调度过程已经达到一个相对均衡的点。MADQN-TS算法的***能耗与DQN-TS相比,降低了22.8%。
此外,还将MADQN-TS算法与DQN-TS算法、ML-based算法、SMA-based算法、Random算法进行了比较,得到的平均资源利用率对比图如图11所示。从中可以看出,在任务量较少时,MADQN-TS的资源利用率基本与DQN-TS一致,这是因为RSU的计算能力可以处理这些任务(本地处理)。但是当任务足够多时,某些RSU不能处理完的任务,可以迁移到其他RSU上运行,使得整体的RSU的平均CPU资源利用率增加。且任务量越多时,增加越明显,说明MADQN-TS算法更加适合车辆密度高的地方,例如城市中心。
得到的平均任务失败率对比图如图12所示。从中可以看出,随着任务的增加,任务的失败率也在增加,但是通过MADQN-TS算法的合理调度,其失败率远比其它算法要低。MADQN-TS算法的任务失败率比DQN-TS的低,这是因为RSU协作使得原本一些由于RSU计算能力不够的任务可以迁移到相邻的相对空闲的RSU上执行。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其它的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (7)
1.基于多智能体强化学习的车辆边缘计算任务调度方法,其特征在于,包括:
接收所有车辆终端对应的实时任务信息和资源需求信息;
对任务进行分类,并对每个任务的资源需求进行度量;
根据任务的类型,将任务分割成单个原子任务,并放入待调度队列中;
依次从待调度队列中提取任务,并利用预设的MADQN-TS算法模型进行任务调度,将各任务分配给相应的路侧单元RSU;
路侧单元RSU执行对应的任务,得到并将处理结果回传给相应的所述车辆终端。
2.如权利要求1所述的基于多智能体强化学习的车辆边缘计算任务调度方法,其特征在于,所述利用预设的MADQN-TS算法模型进行任务调度,将各任务分配给相应的路侧单元RSU的步骤包括:
基于RSU协作思想,计算每个RSU处理对应任务的时延和能耗;
根据时延和能耗构建多约束条件下的联合优化公式,明确联合优化问题;
基于马尔可夫博弈思想将联合优化问题转化为关于时延和能耗的奖励,推导得到状态转移函数;
利用预设的MADQN-TS算法模型对状态转移函数进行求解,得到调度结果;
根据调度结果进行本地处理/迁移到另一邻近RSU进行处理。
3.如权利要求2所述的基于多智能体强化学习的车辆边缘计算任务调度方法,其特征在于,每个RSU处理对应任务时,需计算本地处理时延、本地处理能耗、迁移处理时延和迁移处理能耗;
本地处理时延的公式为:/>其中,ck表示RSUk执行任务所需的计算资源,/>表示RSUk的本地计算能力;
本地处理能耗的公式为:/>其中,κ表示RSUk的处理能力与功率消耗之间的关系系数,Dk表示RSUk的任务数据,且Dk={dk,ck},dk表示数据大小,ck表示执行任务所需的计算资源;
迁移处理时延Tk,m的公式为:其中,fk,m表示RSUm分配给RSUk的计算能力,xk,m表示RSUm和RSUk之间的通讯速率;且/>其中Bk表示带宽,pk表示RSUk的传输功率,hk,m表示信道衰减系数,θ表示路径损耗系数,lk,m表示RSUm和RSUk之间的距离;所述fk,m需要满足公式:/>代表RSUm所有分配出去的计算能力之和小于RSUm本身的最大计算能力Fm,其中,ok,m=1,表示RSUm将数据迁移到RSUk进行处理;
迁移处理能耗Ek,m的公式为:其中,em表示RSUm每单位计算容量的能耗。
4.如权利要求3所述的基于多智能体强化学习的车辆边缘计算任务调度方法,其特征在于,所述根据时延和能耗构建多约束条件下的联合优化公式为:
s.t.C1:ok,j∈{0,1}
C4:0≤fk,m≤Fm
C5:0≤pk≤P
其中,表示时延的权重,/>表示能耗的权重因子,Tk和Ek表示真实的时延和能耗;当ok,0=1时,表示选择在本地执行任务,此时/>当ok,m=1,时表示迁移执行,此时Tk=Tk,m,Ek=Ek,m;约束C1和约束C2表示仅迁移到一个RSU上,约束C3和约束C4表示分配的计算能力不能超过RUSm上的最大计算能力,约束C5确保传输功率pk不超过上限。
5.如权利要求3所述的基于多智能体强化学习的车辆边缘计算任务调度方法,其特征在于,所述基于马尔可夫博弈思想将联合优化问题转化为关于时延和能耗的奖励,推导得到状态转移函数的步骤包括:
根据本地处理时延和迁移处理时延计算归一化延迟差,并根据本地处理能耗和迁移处理能耗计算归一化能耗差;
结合归一化延迟差和归一化能耗差得到奖励公式:其中,/>表示RSUk最终的奖励,/>表示时延奖励,/>表示能耗奖励;
根据奖励计算***开销/>公式为:/>其中,ω表示折现因子,表示过去奖励对当前奖励的影响程度,τ表示过去的时隙,/>表示从状态/>到状态/>的奖励;
根据***开销推导得到状态转移函数/>公式为:/>
6.如权利要求1所述的基于多智能体强化学习的车辆边缘计算任务调度方法,其特征在于,所述MADQN-TS算法模型的构建包括:
建立估计Actor网络和估计Critic网络,向估计Actor网络输入RSU的当前状态则输出动作/>向估计Critic网络输入所有RSU的当前状态S和动作A,则输出预测值其中,/> 表示估计Critic网络参数;
建立目标Actor网络和目标Critic网络,向目标Actor网络输入RSU下一步的状态则输出下一步的动作/>向目标Critic网络输入所有RSU的下一步的状态S'和动作A',则输出目标值/>其中,/> 表示目标Critic网络参数;
基于预测值和目标值/>利用随机梯度下降方法对估计Actor网络参数/>估计Critic网络参数/>和损失函数进行更新,并将相关状态、动作、损失函数和网络参数进行经验存储,形成经验重放机制;
从所述经验重放机制中获取相关的经验数据进行训练,并对目标Actor网络参数和目标Critic网络参数/>进行循环更新;
所述Actor网络、Critic网络和经验重放机制构成所述MADQN-TS算法模型。
7.如权利要求6所述的基于多智能体强化学习的车辆边缘计算任务调度方法,其特征在于,所述目标Actor网络参数θπ′k的更新公式为:目标Actor网络参数θπ′k;目标Critic网络参数θ′Qk的更新公式为:θ′Qk=λθQk+(1-λ)θ′Qk;其中,λ∈[0,1]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211608461.8A CN116501483A (zh) | 2022-12-14 | 2022-12-14 | 基于多智能体强化学习的车辆边缘计算任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211608461.8A CN116501483A (zh) | 2022-12-14 | 2022-12-14 | 基于多智能体强化学习的车辆边缘计算任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116501483A true CN116501483A (zh) | 2023-07-28 |
Family
ID=87321906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211608461.8A Pending CN116501483A (zh) | 2022-12-14 | 2022-12-14 | 基于多智能体强化学习的车辆边缘计算任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116501483A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290104A (zh) * | 2023-09-28 | 2023-12-26 | 苏州麦杰工业大数据产业研究院有限公司 | 一种边缘计算方法、装置及设备 |
-
2022
- 2022-12-14 CN CN202211608461.8A patent/CN116501483A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117290104A (zh) * | 2023-09-28 | 2023-12-26 | 苏州麦杰工业大数据产业研究院有限公司 | 一种边缘计算方法、装置及设备 |
CN117290104B (zh) * | 2023-09-28 | 2024-05-31 | 苏州麦杰工业大数据产业研究院有限公司 | 一种边缘计算方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112668128A (zh) | 联邦学习***中终端设备节点的选择方法及装置 | |
CN111064633B (zh) | 一种云边协同电力信息通信设备自动化测试资源分配方法 | |
CN113435472A (zh) | 车载算力网络用户需求预测方法、***、设备、介质 | |
Wu et al. | Multi-agent DRL for joint completion delay and energy consumption with queuing theory in MEC-based IIoT | |
CN111274036A (zh) | 一种基于速度预测的深度学习任务的调度方法 | |
CN113794748B (zh) | 一种性能感知的服务功能链智能部署方法及装置 | |
CN114638167B (zh) | 基于多智能体强化学***分配方法 | |
Sellami et al. | Deep reinforcement learning for energy-efficient task scheduling in SDN-based IoT network | |
CN114546608A (zh) | 一种基于边缘计算的任务调度方法 | |
Mishra et al. | A collaborative computation and offloading for compute-intensive and latency-sensitive dependency-aware tasks in dew-enabled vehicular fog computing: A federated deep Q-learning approach | |
CN116501483A (zh) | 基于多智能体强化学习的车辆边缘计算任务调度方法 | |
CN113887748B (zh) | 在线联邦学习任务分配方法、装置、联邦学习方法及*** | |
Tao et al. | Drl-driven digital twin function virtualization for adaptive service response in 6g networks | |
CN113190342B (zh) | 用于云-边协同网络的多应用细粒度卸载的方法与***架构 | |
Yan et al. | Service caching for meteorological emergency decision-making in cloud-edge computing | |
Lorido-Botran et al. | Adaptive container scheduling in cloud data centers: a deep reinforcement learning approach | |
CN116566891A (zh) | 时延敏感的服务功能链并行路由优化方法、装置及介质 | |
CN116915869A (zh) | 基于云边协同的时延敏感型智能服务快速响应方法 | |
Li et al. | Efficient data offloading using Markovian decision on state reward action in edge computing | |
Bensalem et al. | Towards optimal serverless function scaling in edge computing network | |
CN115208892A (zh) | 基于动态资源需求的车路协同在线任务调度方法及*** | |
CN113256128A (zh) | 电力物联网中使用强化学习均衡资源使用的任务调度方法 | |
Zhang et al. | Online joint scheduling of delay-sensitive and computation-oriented tasks in edge computing | |
CN112306641B (zh) | 一种用于虚拟机迁移模型的训练方法 | |
CN117834643B (zh) | 一种面向工业物联网的深度神经网络协同推理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |