CN116455903A - 一种利用深度强化学习优化车联网中依赖性任务卸载方法 - Google Patents
一种利用深度强化学习优化车联网中依赖性任务卸载方法 Download PDFInfo
- Publication number
- CN116455903A CN116455903A CN202310522700.6A CN202310522700A CN116455903A CN 116455903 A CN116455903 A CN 116455903A CN 202310522700 A CN202310522700 A CN 202310522700A CN 116455903 A CN116455903 A CN 116455903A
- Authority
- CN
- China
- Prior art keywords
- task
- phi
- subtask
- vehicle
- network
- 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 46
- 230000002787 reinforcement Effects 0.000 title claims abstract description 33
- 238000005265 energy consumption Methods 0.000 claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims abstract description 24
- 239000002243 precursor Substances 0.000 claims abstract description 18
- 238000009826 distribution Methods 0.000 claims abstract description 4
- 230000009471 action Effects 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 238000002360 preparation method Methods 0.000 claims description 8
- 238000005457 optimization Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 5
- 230000007613 environmental effect Effects 0.000 claims description 4
- 238000012546 transfer Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 3
- 238000000342 Monte Carlo simulation Methods 0.000 claims description 2
- 230000001174 ascending effect Effects 0.000 claims description 2
- 238000012790 confirmation Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims description 2
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- KDYFGRWQOYBRFD-UHFFFAOYSA-N succinic acid Chemical compound OC(=O)CCC(O)=O KDYFGRWQOYBRFD-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/46—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for vehicle-to-vehicle communication [V2V]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公布了一种利用深度强化学习优化车联网中依赖性任务卸载方法。本发明步骤包:S1、构建车辆***网络;S2、构建应用程序的任务模型;S3、构建任务负载模型:根据车辆网络***和任务模型,分别计算本地计算、卸载到附近车辆、卸载到附近路边单元这3种卸载方式的时延、能耗以及支付的激励报酬;S4、确定任务优先级:首先根据子任务的前驱节点的分配再结合动态网络环境确定每个子任务的优先级,然后根据多队列算法进行调度;S5、通过深度强化学习寻找最优卸载策略。本发明的方法不需要过多的先验知识,且在类似的应用场景中具有良好的复用性,具有较高的实用价值。
Description
技术领域
本发明属于车辆边缘计算技术领域,具体涉及一种利用深度强化学习优化车联网中依赖性任务卸载方法。
背景技术
随着全球车辆用户数量的急剧增长和车辆用户对服务需求的不断增加,车联网网络承受了更多的网络高传输带宽需求、高传输可靠性及强数据处理能力等业务挑战。车联网整合了传统车辆自组网和远程信息处理技术,可以有效提升车辆服务能力。在IOV中,智能车辆可以执行多种应用程序,例如碰撞预警、自动驾驶和自动导航。然而,这些应用程序需要大量的计算和存储资源,并且具有很强的延迟要求。在低时延的限制下,在资源有限的车辆上执行这些应用程序是一项具有挑战性的任务。
将移动边缘计算(MEC)集成到车联网的车载边缘计算是一种前景广阔的解决方案,可以有效解决上述问题。车载边缘计算可以通过在车辆附近部署MEC服务器的计算和储存资源来提高车辆服务质量。计算密集型和延迟敏感的任务可以通过无线网络加载到MEC服务器上进行执行。尽管车载边缘计算可以减少任务执行的延迟,但是边缘服务器具有有限的计算和存储能力,因此无法保证负载均衡。因此,有效的卸载策略可以减少任务的处理延迟,提高用户的服务质量。
当前的车载边缘计算计算主要研究单个任务的计算优化,缺乏考虑任务之间的依赖关系,这限制了车载边缘计算技术的应用范围和效果。此外,考虑到环保因素,大多数车辆都是电动车,能耗对电动车的使用至关重要。在实际应用中,提供计算服务的车辆或基础设施通常需要相应的激励报酬,但现有研究很少关注计算中的能耗和相应的激励报酬。为解决这些问题,本发明旨在满足应用程序计算服务需求的前提下,尽可能降低计算过程中的能耗和支付的激励报酬,从而提高用户的服务质量。具体地,本发明提出了一种利用深度强化学习优化车联网中依赖性任务卸载的***和方法,考虑任务之间的依赖关系,这样可以保证满足时延约束的同时,最小化计算过程中的能耗和支付给计算服务的车辆或基础设施的激励报酬。具体来说,首先对车辆和基础设施的计算资源、能耗成本和激励报酬进行数学建模,然后利用深度强化学习技术并结合任务之间的依赖关系,制定相应的任务调度和卸载策略。这样可以保证满足时延约束的同时,最小化计算过程中的能耗和支付给提供计算服务的车辆或基础设施的激励报酬。
总之,本发明提出了一种全新的车载边缘计算技术,可以更好地解决任务之间的依赖关系、能耗成本和激励报酬的计算卸载问题,提高计算服务的效率和质量。
发明内容
本发明的目的是针对现有技术的不足,提供一种利用深度强化学习优化车联网中依赖性任务卸载方法。
为了达到上述目的,本发明所采用的技术方案包含以下步骤:
S1、构建车辆***网络:所提出的车辆***网络由依次连接的MEC服务器、RSU、车辆用户端组成;
S2、构建应用程序的任务模型:具有时序依赖和数据依赖关系的任务被建模为一个DAG任务模型;
S3、构建任务负载模型:根据车辆网络***和任务模型,分别计算本地计算、卸载到附近车辆、卸载到附近路边单元这3种卸载方式的时延、能耗以及支付的激励报酬;
S4、确定任务优先级:首先根据子任务的前驱节点的分配再结合动态网络环境确定每个子任务的优先级,然后根据多队列算法进行调度;
S5、通过深度强化学习寻找最优卸载策略:通过深度强化学习学习最优卸载策略,即每个子任务选择相应的执行设备来完成任务的卸载使在时延限制下能耗和支付的激励报酬最小化,以此提高用户的服务质量。
本发明的有益效果:
本发明适用于车辆网环境下V2I和V2V协同卸载场景。该方法将非线性整数规划问题解耦为两个子问题:关联子任务调度问题和任务卸载问题。结合子任务前驱任务的分配和动态的网络环境,该方法为准备子任务集合进行优先级排序,然后利用基于值函数和策略函数的深度强化学习解决卸载问题。在保证任务依赖性和时延约束的前提下,该方法优化了任务卸载问题,最小化计算过程中的能耗和支付给计算服务的车辆或基础设施的激励报酬。本发明的方法不需要过多的先验知识,且在类似的应用场景中具有良好的复用性,具有较高的实用价值。
本发明解决了一种基于深度强化学习的V2I和V2V协作边缘计算中依赖性任务卸载的方法。有效求得在时延约束下客户端车辆的能耗和支付的激励报酬加权和最小化,从而提高用户体验。整个过程规范、易操作。此外,本发明还具有较强的实践价值和复用性,在类似的应用场景中有着广泛的应用前景。
附图说明
图1为本发明实例所提供的的V2I和V2V协同卸载模型示意图;
图2为本发明实例提出的基于深度强化学习算法的原理图;
图3为本发明实例提出的车联网场景下基于深度强化学习算法的流程图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能允以实施,但所举实施不作为对本发明的限定。
智能体在当前状态下采取动作获得环境的一个奖励,然后进入下一个状态。通过不断地交互,智能体可以逐步学习到最优的卸载策略。在这个过程中,智能体会不断地更新自己的价值函数,以便更好地估计每个动作的价值。同时,智能体也会不断地调整自己的策略,以便更好地探索搜索空间,找到最优的卸载决策。
为了在V2I和V2V协同卸载的车辆网边缘计算场景中在满足时延约束的前提下,最小化能耗和激励报酬的加权和,本发明提供了一种基于深度强化学习的具有依赖性任务卸载的方法。
本发明所述的边缘计算场景是指在V2I和V2V协同卸载的车辆网网络通信***中的车辆节点。这些车辆节点既可以与边缘MEC服务器进行V2I通信,也可以和其它车辆节点进行V2V通信。在这个场景中,我们将生成应用程序的车辆叫做客户端车辆,而为应用程序提供计算服务的车辆称为服务端车辆。应用程序是由一系列不可分割的子任务组成,这些子任务具有时序依赖和数据依赖关系,可以使用有向无环图(DAG)来表示。这些子任务可以在本地执行、传输给服务端车辆执行或者上传到公路旁边的RSU执行。为了在这个场景下实现最小化能耗和激励报酬的加权和,本发明提出了一种基于深度强化学习的具有依赖性任务卸载的方法,该方法只需要很少的先验知识和与环境的简单交互即可获得学习经验,并得到最小化能耗成本和激励报酬加权和的近优解。
本文明公布了一种利用深度强化学习优化车联网中依赖性任务卸载方法,如图3所示,包括以下步骤:
S1、构建车辆***网络;
所提出的车辆***网络由依次连接的MEC服务器、RSU、车辆用户端组成。多个车辆用户端之间通过V2V传输链路连接,实现车辆间的通信和协同计算。车辆用户端与RSU之间通过V2I传输链路连接,实现车辆与网络的通信。MEC服务器作为边缘计算资源提供商,提供计算、存储和网络等资源,为车辆用户端提供边缘计算服务。RSU作为网络的基础设施,提供网络连接和路况等信息,为车辆用户端提供数据和协同计算支持。整个车辆***网络构成了一个分布式的边缘计算平台,实现了车辆之间、车辆与网络之间的协同计算和通信。
如图1所示,在本场景中,根据它们在任务处理中的角色,可以其分为两种类型的车辆:客户端车辆和服务端车辆。数据传输链路包括任务数据V2V传输链路、任务数据上传至RSU链路、RSU与服务器连接链路以及RSU与RSU连接链路。对于客户端车辆,其任务可以通过以下三种卸载方式来处理:①本地计算:客户端车辆自行处理任务。②卸载到附近车辆:客户端车辆将任务上传到相邻的服务端车辆。③卸载到附近路边单元:客户端车辆将任务上传到附近路边单元。
S2、构建应用程序的任务模型:
将具有时序依赖和数据依赖关系的任务建模为一个DAG任务模型。将DAG任务建模为G=(V,E),其中顶点集V={φi|1≤i≤N},其中N表示V中子任务的数量。将三元组定义为φi=(wi,di,τi),其中wi,di,τi分别表示任务φi的计算工作量、数据量的大小以及最大完成时间容忍延迟。E表示边的集合,每条边是一条有向边表示它们之间执行的优先级,表明子任务φi必须在φj之前完成(相当于φi的输出会作为φj的一部分输入)。如果从φi到φj存在一条边,φi被称为φj的直接前驱。相反,φj是φi的直接后继。所有的前驱都必须在其后继之前完成。一个没有任何前驱节点的子任务是一个开始节点,也被称为源任务,表示为φentry;一个没有任何后继节点的的子任务是一个退出节点,表示为φexit。通过DAG任务模型,可以清晰地表示出任务之间的时序依赖和数据依赖关系,为任务调度提供了基础。
S3、构建任务负载模型:根据车辆网络***和任务模型,分别计算本地计算、卸载到附近车辆、卸载到附近路边单元这3种卸载方式的时延、能耗以及支付的激励报酬。
3.1)在不同车辆节点上执行的相互依赖子任务需要进行数据传递。具体来说,将在车辆节点m上执行的子任务φj的计算结果传递给在车辆节点n上执行的子任务φi需要一定的时间。将这个数据传递时间定义如下:
其中,符号k、m、n分别代表车辆节点的标号,φj是φi的子任务前驱节点,rmn代表车辆节点m到车辆节点n之间的传输带宽,表示子任务φi对φj的依赖数据的数据大小,emn表示车辆节点m和n是否在通信范围内。/>表示路边单元RSUi通信范围内车辆通过单跳V2V通信建立的边的集合。
3.2)计算在本地执行任务的时间。
具体来说,对于在本地执行任务的情况,子任务φi的完成时间由等待时间和计算时间/>两部分组成。
其中,Vc表示客户端车辆,avail(Vc)表示当客户端车辆处理完安排的所有任务的时间,wi表示子任务φi所需的的计算量;fc表示客户端车辆的计算能力。
对于在RSUj上执行任务的情况,子任务φi的完成时间由上传时间等待时间/>和计算时间/>三部分组成。
其中,表示客户端车辆到指定的RSUj之间的传输速率。di表示子任务φi数据量的大小,/>表示路边单元RSUj的计算能力。
同理,计算在服务端车辆上执行任务的时间由传输时间等待时间/>和计算时间/>三部分组成。
其中表示客户端车辆Vc到指定的服务端车辆Vk之间的传输速率,fk表示服务端车辆Vk的计算能力。
3.3)计算在本地执行任务的能耗:
其中,ξ是与计算机芯片的体系结构有关的系数,由于在本地执行所以不用支付激励报酬。
计算在RSU执行任务的能耗:
其中,p表示上传功率,因此路边单元RSUj处理子任务φi所需支付的激励报酬由以下公式表示:
其中,pj表示路边单元RSUj每单位时间(s)收取的费用。
计算在服务端车辆上执行任务的能耗:
其中,服务端车辆k处理子任务φi所需支付的激励报酬由以下公式表示:
其中,ρk表示服务端车辆k每单位资源(1G clocks)服务收取的费用。
3.4)执行一个子任务φi所需花费的时间ti、能耗ei和所需要支付的费用ci分别为:
其中,表示将子任务的卸载决定,/>的取值均为0或1,且三个中只有一个能取1。
总激励报酬成本,即客户端车辆完成所有任务所需支付的激励报酬,记为:
总能耗成本,即客户端车辆完成所有任务消耗的能耗,记为:
其中,X表示卸载决策向量,N表示任务数量。
这些公式描述了任务卸载决策、执行时间、能耗和激励报酬之间的关系,可以用于优化任务卸载方案,以最小化总能耗和总激励报酬。
3.5)为了做出最优的卸载决策,建立了考虑完成任务的能耗和激励报酬的优化问题:
其中,C(X)表示总激励报酬成本,E(X)表示总计算成本。C1表示每个子任务都必须要被卸载到某一个设备上。C2和C3表示如果子任务被卸载到服务端车辆上或者RSU上,其完成时间不能超过最大允许时间阈值lc,k或C4表示能耗和激励报酬的权重之和为1,且两者都必须为正数。
优化问题可以分解为两个子问题:任务优先级确定和卸载决策。首先,任务优先级确定问题是为了满足时延和任务依赖性的约束,确定每个子任务的执行顺序。然后,将任务调度顺序用于卸载决策,利用深度强化学习来决定每个子任务在本地计算、卸载到RSU或者卸载到服务端车辆的哪种方式中执行,以最小化能耗和激励报酬的加权和。
S4、确定任务优先级:首先根据子任务的前驱节点的分配再结合动态网络环境确定每个子任务的优先级,然后根据多队列算法进行调度。
4.1)对于开始子任务,假设RankD(φready)=0。根据前驱子任务的调度安排来确定其后继子任务的优先级,确定现有子任务φi∈φready的排名,为此计算动态向下排序的值如下:
其中,pred(φi)是子任务φi的直接前驱节点集合,是动态平均计算时间,其会受到φj∈pred(φi)的分配的影响,CVC(φi)表示可以执行子任务φi的候选服务端车辆或基础设施的集合,φready表示准备子任务的集合。其定义如下:
并且,代表动态的平均传输时间,其也会受到φj∈pred(φi)的分配的影响。其定义如下:
4.2)任务调度不仅取决于优先级,也取决于任务之间的依赖关系。一个子任务必须在其所有前驱子任务完成后才能被执行。因此,需要维持一个准备子任务队列Qready和正在执行子任务队列Qexe,同时还有一个已计算完成的子任务队列Qfinished和应用程序中所有子任务的集合Ttask。
初始时,将φentry子任务从集合Ttask放入Qready中。根据子任务优先级确认公式,将Qready中的任务按升序排列。取出队头元素将任务放入正在执行子任务队列Qexe,如果队列Qexe中有已完成的任务,则将已完成的任放入Qfinished队列中。这可能会产生新的准备子任务,如果集合Ttask中某个子任务φi的所有前驱节点子任务均在队列Qfinished中,则子任务φi成为准备子任务,将其放入队列Qready中,然后重复上述步骤,直到集合Ttask为空。在整个子任务优先级确定的过程中,根据子任务前驱的执行结果来动态确定准备子任务,进而确定准备子任务的优先级。
S5、通过深度强化学习寻找最优卸载策略:即每个子任务选择相应的执行设备来完成任务的卸载使在时延限制下能耗和激励报酬最小化,以此提高用户的服务质量,具体如图2所示。
在深度强化学习方法中,动作、状态和奖励值的设计起到了极为关键的作用。为了适应***环境,使智能体能够根据当前环境状态输出最优动作。状态空间、动作空间和奖励函数分别设计如下:
状态空间S:状态以向量形式表示。说明客户端车辆的状态,包括任务信息、位置、可用计算资源、连接时间。状态空间St={T,N},其中T和N分别表示路边单元RSUj通信范围内可用的候选车辆集合和准备子任务集合,其中
N=(wi,τi,succ(φi),pred(φi)) (27)
动作空间A:动作是请求者通过卸载策略π:A←S做出的决策,对外部环境有直接影响。对于时刻t的动作记为这是一个独热编码。每个元素的值可以是0或1。
奖励函数R:直观地说,奖励R←(S,A),智能体在卸载过程中获得的反馈,直接决定了策略。优化目标是最小化能耗和开销成本,但实际上,每一步的决策只能服务于一个子任务。因此,将时刻t中单个子任务m的开销表示为Rt(s,a)=-(ei+ci)。
5.1)初始化经验回放池,同时需要定义最大执行次数和初始的episode,以便进行训练和评估。
5.2)在初始化后,需要对当前演员家网络和当前评论家网络参数μ、θ进行初始化。这是因为在开始训练前,网络参数需要被初始化为一些随机的值,以便在学习过程中不陷入局部最优解。
5.3)接下来,我们需要分别初始化目标演员家网络参数μ'←μ和目标评论家网络参数θ'←θ。这些网络将会在算法的训练过程中被用来计算TD误差,并更新当前网络的参数。
5.4)获取环境初始状态st是算法的一个重要步骤。在此同时,我们还需要准备初始随机噪声nt,以便进行动作探索。通过这样的探索,我们可以发现更多的状态和动作对,并帮组网络更好地收敛到最优解。
5.5)从时刻t=1开始直到t=n(n代表应用程序中不可分割的子任务数量)。根据当前网络的Actor-C网络的输出和随机噪声nt获得at:
5.6)执行动作at,获得奖励rt,环境状态变为st+1
5.7)将(st,at,rt,st+1)存储进经验回放池中,这样我们可以利用经验回放池中的历史数据,进行离线训练和提高模型的稳定性和鲁棒性。
5.8)从经验回放池中采样N个元组{(st,at,rt,st+1)},这些元组用于目标网络的训练和当前网络的更新。通常情况下,我们选择随机采样来保证样本的随机性。
5.9)使用目标网络来计算目标值对每个元组yt,它是一个与当前状态st和动作at有关的值。yt由当前奖励rt和下一状态st+1的目标预测值所组成。具体来说,目标值由如下公式计算:
其中γ是折扣因子,是目标评论家网络,/>是目标演员家网络,这些网络参数在5.3步骤被初始化。
5.10)通过最小化目标损失L(θ),以更新当前评论家网络的参数θ。L(θ)由均方误差(MSE)损失函数计算得到:
这里N是从经验回放池中采样的元组数量,yi是目标值,是当前评论家网络输出的值。这个MSE损失函数是一个常见的监督学习损失函数,它可以反映当前评论家网络的拟合能力,并帮助网络更好地适应目标值yi。
5.11)通过计算采样的策略梯度来更新当前网络的Actor网络。其中Q(s,a|θ)表示当前评论家网络对于状态s和动作a的预测值,表示对预测值的动作梯度,/>表示当前演员家网络对于状态s的动作输出,/>表示对该动作输出的参数梯度。该策略梯度的计算公式是一种蒙特卡罗方法,利用采样的元组数据对期望值进行估计:
5.12)如果当前迭代次数t能被C整除,即t%C==0,就更新网络参数。其中θ'和u'分别表示目标评论家网络和目标演员家网络的参数,v是一个小于1的超参数,用于平滑更新:
θ’=vθ+(1-v)θ’ (33)
u’=vu+(1-v)u’ (34)
5.13)t=t+1,重复步骤5.5到步骤5.12。
5.14)如果当前迭代次数t等于n,即达到了最大的执行次数,此时episode=episode+1。然后再重复步骤5.4到步骤5.13,直到训练过程结束,得到最优的卸载策略。
应当知晓的是,本说明未详细阐述的部分均属于现有技术。相关技术人员应该明白,上述实施仅仅为了帮助阅读人员理解本发明的原理和实现方法,本发明所保护的范围不局限与这样的实施例。凡在本发明基础上做出的同等替换均在本发明权利的保护范围内。
Claims (10)
1.一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于,包括如下步骤:
S1、构建车辆***网络:所提出的车辆***网络由依次连接的MEC服务器、RSU、车辆用户端组成;
S2、构建应用程序的任务模型:具有时序依赖和数据依赖关系的任务被建模为一个DAG任务模型;
S3、构建任务负载模型:根据车辆网络***和任务模型,分别计算本地计算、卸载到附近车辆、卸载到附近路边单元这3种卸载方式的时延、能耗以及支付的激励报酬;
S4、确定任务优先级:首先根据子任务的前驱节点的分配再结合动态网络环境确定每个子任务的优先级,然后根据多队列算法进行调度;
S5、通过深度强化学习寻找最优卸载策略:通过深度强化学习学习最优卸载策略,即每个子任务选择相应的执行设备来完成任务的卸载使在时延限制下能耗和支付的激励报酬最小化,以此提高用户的服务质量。
2.根据权利要求1所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤S2构建应用程序的任务模型,具体实现如下:
将具有时序依赖和数据依赖关系的任务建模为一个DAG任务模型;将DAG任务建模为G=(V,E),其中顶点集V={φi|1≤i≤N},其中N表示V中子任务的数量;将三元组定义为φi=(wi,di,τi),其中wi,di,τi分别表示任务φi的计算工作量、数据量的大小以及最大完成时间容忍延迟;E表示边的集合,每条边是一条有向边表示它们之间执行的优先级,表明子任务φi必须在φj之前完成,相当于φi的输出会作为φj的一部分输入;如果从φi到φj存在一条边,φi被称为φj的直接前驱;相反,φj是φi的直接后继;所有的前驱都必须在其后继之前完成;一个没有任何前驱节点的子任务是一个开始节点,也被称为源任务,表示为φentry;一个没有任何后继节点的的子任务是一个退出节点,表示为φexit;通过DAG任务模型,可以清晰地表示出任务之间的时序依赖和数据依赖关系,为任务调度提供了基础。
3.根据权利要求2所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤S3具体实现如下:
3.1)在不同车辆节点上执行的相互依赖子任务需要进行数据传递;
3.2)计算在本地执行任务的时间;
3.3)计算在本地执行任务的能耗:
3.4)执行一个子任务φi所需花费的时间ti、能耗ei和所需要支付的费用ci
3.5)为了做出最优的卸载决策,建立了考虑完成任务的能耗和激励报酬的优化问题。
4.根据权利要求3所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤3.1)具体实现如下:
将在车辆节点m上执行的子任务φj的计算结果传递给在车辆节点n上执行的子任务φi需要一定的时间,将这个数据传递时间定义如下:
其中,符号k、m、n分别代表车辆节点的标号,φj是φi的子任务前驱节点,rmn代表车辆节点m到车辆节点n之间的传输带宽,表示子任务φi对φj的依赖数据的数据大小,emn表示车辆节点m和n是否在通信范围内;/>表示路边单元RSUi通信范围内车辆通过单跳V2V通信建立的边的集合。
5.根据权利要求3或4所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤3.2)具体实现如下:
对于在本地执行任务的情况,子任务φi的完成时间由等待时间和计算时间两部分组成;
其中,Vc表示客户端车辆,avail(Vc)表示当客户端车辆处理完安排的所有任务的时间,wi表示子任务φi所需的的计算量;fc表示客户端车辆的计算能力;
对于在RSUj上执行任务的情况,子任务φi的完成时间由上传时间等待时间和计算时间/>三部分组成;
其中,表示客户端车辆到指定的RSUj之间的传输速率;di表示子任务φi数据量的大小,/>表示路边单元RSUj的计算能力;
同理,计算在服务端车辆上执行任务的时间由传输时间等待时间/>和计算时间/>三部分组成;
其中表示客户端车辆Vc到指定的服务端车辆Vk之间的传输速率,fk表示服务端车辆Vk的计算能力。
6.根据权利要求5所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤3.3)具体实现如下:
其中,ξ是与计算机芯片体系结构有关的系数;
计算在RSU执行任务的能耗:
其中,p表示上传功率,因此路边单元RSUj处理子任务φi所需支付的激励报酬由以下公式表示:
其中,pj表示路边单元RSUj每单位时间(s)收取的费用;
计算在服务端车辆上执行任务的能耗:
其中,服务端车辆k处理子任务φi所需支付的激励报酬由以下公式表示:
其中,ρk表示服务端车辆k每单位资源服务收取的费用。
7.根据权利要求6所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤3.4)执行一个子任务φi所需花费的时间ti、能耗ei和所需要支付的费用ci分别为:
其中,表示将子任务的卸载决定,/>的取值均为0或1,且三个中只有一个能取1;
总激励报酬成本,即客户端车辆完成所有任务所需支付的激励报酬,记为:
总能耗成本,即客户端车辆完成所有任务消耗的能耗,记为:
其中,X表示卸载决策向量,N表示任务数量;
这些公式描述了任务卸载决策、执行时间、能耗和激励报酬之间的关系,可以用于优化任务卸载方案,以最小化总能耗和总激励报酬。
8.根据权利要求7所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤3.5)建立的考虑完成任务的能耗和激励报酬的优化问题如下:
C4:α+β=1,α>0 β>0
其中,C(X)表示总激励报酬成本,E(X)表示总计算成本;C1表示每个子任务都必须要被卸载到某一个设备上;C2和C3表示如果子任务被卸载到服务端车辆上或者RSU上,其完成时间不能超过最大允许时间阈值lc,k或C4表示能耗和激励报酬的权重之和为1,且两者都必须为正数;
优化问题分解为两个子问题:任务优先级确定和卸载决策;首先,任务优先级确定问题是为了满足时延和任务依赖性的约束,确定每个子任务的执行顺序;然后,将任务调度顺序用于卸载决策,利用深度强化学习来决定每个子任务在本地计算、卸载到RSU或者卸载到服务端车辆的哪种方式中执行,以最小化能耗和激励报酬的加权和。
9.根据权利要求8所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤S4具体实现如下:
4.1)对于开始子任务,假设RankD(φready)=0;根据前驱子任务的调度安排来确定其后继子任务的优先级,确定现有子任务φi∈φready的排名,为此计算动态向下排序的值如下:
其中,pred(φi)是子任务φi的直接前驱节点集合,是动态平均计算时间,其会受到φj∈pred(φi)的分配的影响,CVC(φi)表示可以执行子任务φi的候选服务端车辆或基础设施的集合,φready表示准备子任务的集合,其定义如下:
并且,代表动态的平均传输时间,其也会受到φj∈pred(φi)的分配的影响;其定义如下:
4.2)任务调度不仅取决于优先级,也取决于任务之间的依赖关系;一个子任务必须在其所有前驱子任务完成后才能被执行;因此,需要维持一个准备子任务队列Qready和正在执行子任务队列Qexe,同时还有一个已计算完成的子任务队列Qfinished和应用程序中所有子任务的集合Ttask;
初始时,将φentry子任务从集合Ttask放入Qready中;根据子任务优先级确认公式,将Qready中的任务按升序排列;取出队头元素将任务放入正在执行子任务队列Qexe,如果队列Qexe中有已完成的任务,则将已完成的任放入Qfinished队列中;这可能会产生新的准备子任务,如果集合Ttask中某个子任务φi的所有前驱节点子任务均在队列Qfinished中,则子任务φi成为准备子任务,将其放入队列Qready中,然后重复上述步骤,直到集合Ttask为空;在整个子任务优先级确定的过程中,根据子任务前驱的执行结果来动态确定准备子任务,进而确定准备子任务的优先级。
10.根据权利要求9所述的一种利用深度强化学习优化车联网中依赖性任务卸载方法,其特征在于步骤S5具体实现如下:
5.1)初始化经验回放池,同时定义最大执行次数和初始的episode;
5.2)在初始化后,分别对当前演员家网络和当前评论家网络参数μ、θ进行初始化;
5.3)分别初始化目标演员家网络参数μ′←μ和目标评论家网络参数θ′←θ;
5.4)获取初始环境状态st,同时准备初始随机噪声nt,以便进行动作探索;
5.5)从时刻t=1开始直到t=n,根据当前网络的Actor-C网络的输出和随机噪声nt获得动作at:
其中,其中n表示应用程序中不可分割的子任务数量;
5.6)执行动作at,获得奖励rt,环境状态变为st+1;
5.7)将(st,at,rt,st+1)存储进经验回放池中,利用经验回放池中的历史数据,进行离线训练来提高模型的稳定性和鲁棒性;
5.8)从经验回放池中采样N个元组{(st,at,rt,st+1)},这些元组用于目标网络的训练和当前网络的更新;
5.9)使用目标网络来计算目标值对每个元组yt,yt是一个与当前状态st和动作at有关的值;yt由当前奖励rt和下一状态st+1的目标预测值所组成,目标值由如下公式计算:
其中,γ是折扣因子,是目标评论家网络,/>是目标演员家网络,这些目标网络参数在5.3步骤被初始化;
5.10)通过最小化目标损失L(θ),更新当前评论家网络的参数θ,L(θ)由均方误差(MSE)损失函数计算得到:
其中,N是从经验回放池中采样的元组数量,yi是目标值,是当前评论家网络输出的值;
5.11)通过计算采样的策略梯度来更新当前网络的Actor网络;其中Q(s,a|θ)表示当前评论家网络对于状态s和动作a的预测值,表示对预测值的动作梯度,/>表示当前演员家网络对于状态s的动作输出,/>表示对该动作输出的参数梯度;该策略梯度的计算公式是一种蒙特卡罗方法,利用采样的元组数据对期望值进行估计:
5.12)如果当前迭代次数t能被C整除,即t%C==0,更新网络参数;其中θ′和u′分别表示目标评论家网络和目标演员家网络的参数,v是一个小于1的超参数,用于平滑更新:
θ′=vθ+(1-v)θ′ (33)
u′=vu+(1-v)u′ (34)
5.13)t=t+1,重复步骤5.5到步骤5.12;
5.14)如果当前迭代次数t等于n,即达到最大的执行次数,此时episode=episode+1;然后再重复步骤5.4到步骤5.13,直到训练过程结束,得到最优的卸载策略。。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310522700.6A CN116455903A (zh) | 2023-05-10 | 2023-05-10 | 一种利用深度强化学习优化车联网中依赖性任务卸载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310522700.6A CN116455903A (zh) | 2023-05-10 | 2023-05-10 | 一种利用深度强化学习优化车联网中依赖性任务卸载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116455903A true CN116455903A (zh) | 2023-07-18 |
Family
ID=87135696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310522700.6A Pending CN116455903A (zh) | 2023-05-10 | 2023-05-10 | 一种利用深度强化学习优化车联网中依赖性任务卸载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116455903A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117939535A (zh) * | 2024-03-20 | 2024-04-26 | 合肥工业大学智能制造技术研究院 | 一种v2v场景下的依赖任务卸载方法、终端及存储介质 |
-
2023
- 2023-05-10 CN CN202310522700.6A patent/CN116455903A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117939535A (zh) * | 2024-03-20 | 2024-04-26 | 合肥工业大学智能制造技术研究院 | 一种v2v场景下的依赖任务卸载方法、终端及存储介质 |
CN117939535B (zh) * | 2024-03-20 | 2024-05-31 | 合肥工业大学智能制造技术研究院 | 一种v2v场景下的依赖任务卸载方法、终端及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111756812B (zh) | 一种能耗感知的边云协同动态卸载调度方法 | |
CN113242568B (zh) | 一种不确定网络环境中的任务卸载和资源分配方法 | |
Chen et al. | Efficiency and fairness oriented dynamic task offloading in internet of vehicles | |
CN113225377B (zh) | 物联网边缘任务卸载方法及装置 | |
CN113220356B (zh) | 一种移动边缘计算中的用户计算任务卸载方法 | |
Gao et al. | Com-DDPG: Task offloading based on multiagent reinforcement learning for information-communication-enhanced mobile edge computing in the internet of vehicles | |
CN114143346B (zh) | 一种车联网任务卸载和服务缓存的联合优化方法及*** | |
CN111262944B (zh) | 异构移动边缘计算网络中分层任务卸载的方法与*** | |
CN113543176A (zh) | 基于智能反射面辅助的移动边缘计算***的卸载决策方法 | |
CN113867843B (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN113626104A (zh) | 边云架构下基于深度强化学习的多目标优化卸载策略 | |
CN114661466A (zh) | 用于边缘计算环境中面向智能工作流应用的任务卸载方法 | |
CN116455903A (zh) | 一种利用深度强化学习优化车联网中依赖性任务卸载方法 | |
CN113573363A (zh) | 基于深度强化学习的mec计算卸载与资源分配方法 | |
CN116185523A (zh) | 一种任务卸载和部署的方法 | |
CN113741999B (zh) | 一种基于移动边缘计算的面向依赖型任务卸载方法及装置 | |
Gao et al. | Com-DDPG: A multiagent reinforcement learning-based offloading strategy for mobile edge computing | |
CN114968402A (zh) | 边缘计算任务处理方法、装置及电子设备 | |
Zhang et al. | Multi-agent deep reinforcement learning for online request scheduling in edge cooperation networks | |
CN117632488A (zh) | 基于云边端协同的多用户细粒度任务卸载调度方法及装置 | |
CN113946423A (zh) | 基于图注意力网络的多任务边缘计算调度优化方法 | |
CN116009990B (zh) | 基于宽注意力机制的云边协同元强化学习计算卸载方法 | |
CN116204319A (zh) | 基于sac算法与任务依赖关系的云边端协同卸载方法及*** | |
Hussein et al. | Efficient Computation Offloading of IoT-Based Workflows Using Discrete Teaching Learning-Based Optimization. | |
CN116450241A (zh) | 基于图神经网络的多用户时序依赖型业务计算卸载方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |