CN113238847B - 基于分散式网络环境下可分任务的分发和调度方法 - Google Patents
基于分散式网络环境下可分任务的分发和调度方法 Download PDFInfo
- Publication number
- CN113238847B CN113238847B CN202110554570.5A CN202110554570A CN113238847B CN 113238847 B CN113238847 B CN 113238847B CN 202110554570 A CN202110554570 A CN 202110554570A CN 113238847 B CN113238847 B CN 113238847B
- Authority
- CN
- China
- Prior art keywords
- task
- model
- network
- scheduling
- data
- 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.)
- Active
Links
Images
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/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
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了基于分散式网络环境下可分任务的分发和调度方法,解决了保证计算服务质量稳定牺牲能耗的问题。方法包括:构建分散式网络环境系统模型;构建任务调度模型;获取当前时刻系统模型状态;下发计算任务;调度与任务执行;实现分散网络环境下的计算节点的高速、低耗。本发明以应用场景构建系统和任务调度模型,量化资源;任务分发和调度算法结合,有效利用服务器资源,速率稳定;本发明的任务调度决策算法,任务在网络计算节点之间相互卸载,保证服务速率稳定,使分散网络中计算节点的能耗最小化。本发明可靠稳定,实现了资源高效利用和能耗最小化。用于无大型通信基站支持的灾区现场中。
Description
技术领域
本发明属于信息技术领域,涉及物联网的同时也涉及分散计算环境下的可分任务调度,具体是一种基于分散式网络环境下可分任务的分发和调度方法,以实现计算服务速率长期稳定且系统能耗最小的调度效果。
背景技术
物联网设备数量近年来经历了爆发式的增长,但由于这些设备在地理分布上过于分散,且通常只在独立系统内运作,如监控系统、工业系统等,这种系统与系统之间的割裂使得大量计算设备闲置,算力未得以充分的利用,同时却又浪费了大量的资源和能耗。而通常物联网设备又包含了嵌入式的处理器、高速缓存与通信接口,可以负载一部分特定的用户任务需求。那么如何通过调度机制充分利用海量物联网设备闲置计算资源从而提供低时延、低能耗、高吞吐量的计算,成为了当前的一个挑战。在此基础上,分散计算顺应而生。
分散计算在2016年由美国国防高级计划研究局提出,是一种新型的体系架构,其目的是解决地理分散、计算异构、通信异构的设备之间协作的难题,通过制定一个分散计算中间层作为任务执行代理,嵌入在网络中各个节点的应用层与资源层之间,以实现整体地提升程序计算性能和网络性能,并提高计算和通信的可靠性。随着研究不断地深入,分散计算被定义为在广域范围内,将拥有通用计算、通信属性的设备连接成为一个网络有机体,以实现设备互联互通,能力借用的目的。计算任务可以按照用户、应用程序的特定需求,自动地从网络中访问拥有该环境且资源空闲的多个设备,以节点间协作的方式完成并返回计算结果。
分散计算可应用于灾区救援场景。诸如地震、海啸等自然灾害的发生,通常会伴随着大量传统的基础通信设施被破坏、电力设施被阻断、运输道路被损毁等一系列复杂的灾后环境,而灾区现场又需要执行卫星图像分析等计算,计算任务多但算力不足的矛盾会影响灾区现场救援的速度。例如目前常见的应急救灾场景中,通常由大量无人机协作组成无人机集群,任务中心下发以及其传感器收集数据后交互协作完成复杂任务。但又因无人机物理尺寸设计的限制,无人机集群等设备往往无法满足实时、高密度的计算需求和服务需求。针对上述挑战,目前的解决方案可分为两大类。一方面,将无人机与边缘计算架构进行融合是一种常见的解决方案。有论文提出,无人机以最小化自身计算能耗为目标,将任务通过地空链路传输到距离最近的地面站的边缘服务器,以保证内集群大多数无人机能保持更长的工作时间。但前提是需保证灾区环境中无人机节点到边、云、端多方之间的链路畅通,不适用于通信中断的灾后场景。另一方面,也有一些研究工作不依赖其它边、云服务器,研究仅无人机集群内的合作技术。如有论文提出了一个高效能的多无人机合作模型,在此基础上利用博弈论证明纳什均衡存在并设计节能算法,合理且有效地将区域搜索任务分配至各个无人机。
上述大多数研究工作都假设了应急救灾场景等现场基站侧服务器存在且其电力供应充足,或假设无人机集群间通信链路实时存在且通信稳定。未考虑在无能源供应的前提下,如何有效地降低能量消耗。
能量消耗是影响终端节点的续航时间的重要因素,一直以来倍受研究者们的关注。围绕着能源受限的计算设备的能源消耗问题,Kaur等人提出了一种新颖的体系结构,用于使用容器即服务(CoaaS)在网络边缘进行任务选择和调度,引入了一种被称为CoESMS的任务选择和调度方案,该方案通过协作博弈模型将总能耗降至最低并缩短了任务周期,但可能会出现大量的计算任务都卸载并堆积至某个计算能力强或传输消耗较少的节点,最坏情况下,这种卸载方式会给部分MEC节点带来极大的计算负担。为此,Zhang等人提出了一种考虑公平因素的FEMTO算法。通过考虑目标卸载的雾节点负载、传输功率和所卸载任务大小等作为公平性指标,并以能耗最小作为系统的优化目标提出调度算法,最后与贪婪调度策略相比,该算法使雾节点消耗能量更少,计算负载更均衡。此外,Sun等人将本地计算和数据卸载两种方案结合,提出了一个权衡二者的优化问题,其目的是使具有所有用户之间的计算能效总和的加权平均最大化,最后使用了梯度下降法求解了该问题并得到卸载决策。
目前直接针对分散计算的调度研究工作较少,并且大多数任务都为不可分任务,对于可分任务的研究进展缓慢。可分任务通常应用在一些流式数据的处理,比如视频分析、病毒分析等。在流式数据处理中无需考虑数据之间的依赖关系,可以将一段视频流、数据流建模为一个任务,该任务可以按段进行线性分割为多个子任务。
现有技术无法解决视频流等可分任务能耗最小化问题,同时也没有考虑如何实现网络计算节点的服务质量稳定,不利于解决任务流不均匀的问题。并且,目前的工作考虑仅考虑所有节点协作完成单个任务的能耗最小化,并未考虑在系统长期运行的场景下,实现计算任务耗能最小化的目标,实现长期效益最大化。
因此,目前迫切需要一种基于分散式网络环境下可分任务的分发与调度方法,实现计算服务质量长期的稳定的前提下使可分任务耗能最小的调度算法。以补充分散计算环境下对于可划分任务的调度研究工作的空缺。
发明内容
本发明针对现有技术的不足和需求,提出一种保证网络计算节点服务质量的前提下,能有效降低网络计算节点能耗的基于分散式网络环境下可分任务的分发和调度方法。
本发明是一种基于分散式网络环境下可分任务的分发和调度方法,其特征在于,包括有如下步骤:
(1)构建分散式网络环境系统模型构建所应用场景的分散式网络环境模型,是对应用场景的量化描述,现有应用场景具备随机存储传输的本地文件系统,和接受任务中心指令的通信端口及通讯渠道,还包括有网络拓扑模型、计算节点模型、通信模型和移动模型;这些模型和现有场景的基础设施共同组成分散式网络环境系统模型网络拓扑模型包括有分布在网络中的各网络计算节点,与网络计算节点相连的链路,以及共同形成的网络规模,描述了网络计算节点之间的网络拓扑结构以及网络链路本身所具的高动态特性;计算节点模型描述网络计算节点所具有计算能力、存储能力、通信能力、移动能力、任务执行环境与服务计算程序,每个计算节点均有接受任务中心指令的通讯渠道;通信模型描述网络计算节点之间用于数据传输的通信链路信道容量;移动模型则描述计算节点之间的移动方式与状态;对于可分任务的分发与调度均通过该分散式网络环境系统模型实现;
(2)构建任务调度模型Q:任务调度模型Q是网络计算节点在执行调度策略过程中任务数据产生、流动、计算的符号化描述,包括有任务模型、队列模型、计算模型和能耗模型;任务模型描述计算任务的特征,包括数据量、计算量与数据量的比率、计算所需的服务程序;队列模型是对网络计算节点内部对任务存储、数据流动方向的符号化描述;计算模型是网络计算节点依据自身计算能力对任务进行处理所需时间、资源的量化描述;能耗模型是网络计算节点执行调度策略过程中,利用通信链路传输数据、利用计算资源完成任务所消耗的能源的量化描述;
(3)获取并存储当前时刻系统模型状态:实时查询每一个计算节点的通信链路容量、自身队列积压数据量,并存储到本地文件系统中,完成系统模型数据收集;
(3a)查询链路容量:对分散式网络环境中当前所有与任务中心存在通信链路的网络计算节点进行标记,观测并记录已标记的网络计算节点当前时刻通信链路的容量,并返回给本地文件系统;
(3b)查询任务队列积压:对上述已标记的网络计算节点遍历,对每个网络计算节点发送任务队列积压的查询指令,网络计算节点在当前时刻收到查询请求后,收集当前自身任务队列积压数据量,通过通信链路返回给本地文件系统;
(3c)存储系统模型状态数据:完成上述数据收集后,将数据存储到本地文件系统中,通过时间戳对存储数据进行标记,需要时可根据时间戳对该数据进行查询;存储完成后,清除上述标记,完成系统模型的数据收集;
(4)下发计算任务:设计并训练下发计算任务的深度强化学习模型,查询当前时刻系统模型状态数据,通过深度强化学习模型输出任务下发决策并执行之;
(4a)查询当前时刻系统模型状态数据:从本地文件系统中,以当前时间戳作为键值,查询当前时刻的系统模型状态,并存放至状态数组State_Arr中;其中,数组的每一个元素都包含网络计算节点ID、状态类型state_type、状态值 state_value;
(4b)输出任务下发决策:由设计并训练的深度强化学习模型,依据状态数组State_Arr作为深度强化学习模型输入,深度强化学习模型计算后输出任务下发决策;
(4c)执行任务下发决策:按照任务下发决策描述,任务中心将当前需要完成的任务通过无线传输链路传输至对应的网络计算节点,并存储在这些网络计算节点的待执行任务队列中;
(5)调度与任务执行:设计任务调度决策算法,收集当前时刻网络计算节点数据和任务调度模型Q数据,执行任务调度决策算法,输出调度决策并执行之;
(5a)收集当前时刻网络计算节点数据和任务调度模型数据:每一个网络计算节点vi查询本地通信端口,获取当前时刻直连的网络计算节点并对其标记,并观测与被标记的网络计算节点vj的通信链路最大信道容量Cij;依据网络计算节点模型获取节点此刻的计算能力;依据队列模型获取队列当前积压量与上一时刻调度前的积压量Qi(t)、Qi(t-1);依据能耗模型获取当前时刻传输、计算每单位数据量所需的能耗;
(5b)通过任务调度决策算法输出调度决策:以步骤(5a)收集的网络计算节点数据和任务调度模型Q数据构造李雅普诺夫漂移加罚函数Δf(t),并构造约束条件,利用内点法求解李雅普诺夫漂移加罚函数Δf(t)的最小值,以此任务调度决策算法输出调度决策,调度决策包括向每个邻接网络计算节点传输的任务数据量,以及计算自身本地的数据量;
(5c)执行调度决策:网络计算节点获得任务的调度决策,向每个当前时刻邻接的网络计算节点传输任务及其相关的数据量,同时调用本地的计算资源处理在本地计算的任务数据,本地的网络计算节点和邻接的网络计算节点各自执行调度的任务。接收到调度决策的网络计算节点完成并执行调度。
本发明解决了在计算服务质量长期的稳定的前提下使可分任务耗能最小的技术问题,具体是通过设计并训练下发计算任务的深度强化学习模型解决了可分任务的分发问题,通过设计计算任务调度决策算法解决了可分任务的调度决策问题。在保证服务质量稳定、系统长期运行的场景下,实现计算任务耗能最小化的目标,以实现长期效益最大化,同时补充了分散计算环境下对于可划分任务的调度研究工作的空缺。
与现有技术相比,本发明的有益效果如下:
计算服务速率的稳定性:任务数据流的到达并不一定是均匀的,稳定的,有时会发生数据流量洪峰的现象。则需要从任务调度算法层面保障服务的稳定性。本发明可通过任务分发算法和任务调度算法的结合,有效调节任务的分发速度与计算消耗速度,既可以防止分散式网络环境下的系统高负荷运行而花费大量的能耗,又能利用分散调度的特点,有效且充分利用服务器资源,还能避免出现任务计算速度时快时慢的问题,最终以实现计算服务速率的稳定的效果。
计算能耗长期最小化:目前一些针对能耗最小化的调度算法,如贪婪算法等,在每次调度的时候,总是选择对于当前时刻最好的策略,但是由于未从长远角度考虑,会失去长期效益,仅考虑每次任务调度时能耗最小,但长期来看结果不一定使最优的。本发明设计的任务调度决策算法,通过任务在网络计算节点之间相互卸载,让一些负载轻、耗能小的网络计算节点承载更多的计算任务,并结合可通过控制调节旋钮变量,保证在计算服务速率的稳定性的前提下,使系统 能耗最小化。
附图说明
图1为本发明任务分发和调度方法的实现流程框图;
图3为本发明构建的分散式任务调度队列模型Q示意图;
图4为本发明所设计的网络计算节点决策流程示意图;
图5为本发明以无人机为例所设计的任务分发强化学习模型决策整体流程的示意图。
下面结合附图和实施例,对本发明详细描述。
具体实施方式
实施例1:分散计算可应用于灾区救援场景。诸如地震、海啸等自然灾害的发生,通常会伴随着大量传统的基础通信设施被破坏、电力设施被阻断、运输道路被损毁等一系列复杂的灾后环境,而灾区现场又需要执行卫星图像分析等计算,计算任务多但算力不足的矛盾会影响灾区现场救援的速度。目前常见的应急救灾场景中,通常由大量无人机协作组成无人机集群,任务中心下发以及其传感器收集数据后交互协作完成复杂任务。但又因无人机物理尺寸设计的限制,无人机集群等设备往往无法满足实时、高密度的计算需求和服务需求。针对上述挑战,目前的解决方案可分为两大类。一方面,将无人机与边缘计算架构进行融合是一种常见的解决方案。但前提是需保证灾区环境中无人机节点到边、云、端多方之间的链路畅通,不适用于通信中断的灾后场景。另一方面,也有一些研究工作不依赖其它边、云服务器,研究仅无人机集群内的合作技术。
上述大多数研究工作都假设了灾后现场基站侧服务器存在且其电力供应充足,或假设无人机集群间通信链路实时存在且通信稳定。未考虑在无能源供应的前提下,可通过建立无线通信链路,实现灾区现场大量的移动智能终端设备的电力和算力的充分利用,以协助无人机集群完成计算任务,并延长其续航时间。因此在具体的应用场景中,无法完成任务。针对上述问题,本发明经过研究和实验提出一种基于分散式网络环境下可分任务的分发和调度方法。本发明实现了在计算服务质量长期的稳定的前提下使可分任务耗能最小,是基于可分任务理论和分散式网络环境,对其中的网络计算节点进行负载感知、下发任务、协作计算,保证计算服务速率长期稳定且系统能耗最小的调度成效,参见图1,图1为本发明任务分发和调度方法的实现流程框图,包括有如下步骤:
(1)构建分散式网络环境系统模型参见图2,图2为构建的分散式网络环境模型G示意图;图2中以无人机的救灾应用场景为例,展示了通过建立无线通信链路,建立网络计算节点间的D2D链路,实现灾区现场大量的移动智能终端设备的电力和算力的充分利用,以协助无人机集群完成计算任务,使无人机通信覆盖区域满足救灾所需要求并延长其续航时间。
构建所应用场景的分散式网络环境模型,是对应用场景的量化描述,现有应用场景具备随机存储传输的本地文件系统,和接受任务中心指令的通信端口及通讯渠道,通常在救灾应用场景中,自带便携式基站,为分散式网络环境模型的网络计算节点提供必要的本地文件系统和通信端口及通讯渠道。如果具体应用于无人机救灾场景中,无人机可以通过建立的无线通信链路和网络计算节点间的D2D 链路,充分利用灾区现场大量的移动智能终端设备的电力和算力,通信覆盖区域满足救灾所需要求的同时完成计算任务,充分完成救灾工作。除了本地文件系统和通信端口及通讯渠道,分散式网络环境模型还包括有网络拓扑模型、计算节点模型、通信模型和移动模型;这些模型和现有场景的基础设施共同组成分散式网络环境系统模型
分散式网络环境系统模型中的网络拓扑模型包括有分布在网络中的各网络计算节点,与网络计算节点相连的链路,以及共同形成的网络规模,描述了网络计算节点之间的网络拓扑结构以及网络链路本身所具的高动态特性;计算节点模型描述网络计算节点所具有计算能力、存储能力、通信能力、移动能力、任务执行环境与服务计算程序,每个计算节点均有接受任务中心指令的通讯渠道;通信模型描述网络计算节点之间用于数据传输的通信链路信道容量;移动模型则描述计算节点之间的移动方式与状态;对于可分任务的分发与调度均通过该分散式网络环境系统模型实现。
(2)构建任务调度模型Q:参见图3,图3为本发明构建的分散式任务调度队列模型Q示意图;任务调度模型Q是网络计算节点在执行调度策略过程中任务数据产生、流动、计算的符号化描述,包括有任务模型、队列模型、计算模型和能耗模型。任务模型描述计算任务的特征,包括数据量、计算量与数据量的比率、计算所需的服务程序。队列模型是对网络计算节点内部对任务存储、数据流动方向的符号化描述。计算模型是网络计算节点依据自身计算能力对任务进行处理所需时间、资源的量化描述。能耗模型是网络计算节点执行调度策略过程中,利用通信链路传输数据、利用计算资源完成任务所消耗的能源的量化描述。
如图3中,网络计算节点(NCP)的任务来源分为两部分,一是无人机控制中心直接下发的任务,如Mi(t)。二是智能移动设备等其它网络计算节点请求协作计算的任务,如rji(t),rki(t)。在非相交的时间范围内,任务数量服从复合泊松分布,且该随机变量服从独立同分布。需要计算的任务达到后,压入等待队列Qi(t)中,Qi(t)的大小则表示时隙t内,网络计算节点vi的积压待处理任务量。随后,决策亦在时隙t内完成,决策算法根据当前环境,决定从中取出部分的计算任务(如Xij(t))通过通信网口送入到传输缓冲区执行传输至其他网络计算节点,或送入到本地CPU计算缓冲区执行计算(如Li(t)),图3中的Tij(t) 表示t时刻与网络计算节点vj的通信最大的链路容量。
(3)获取并存储当前时刻系统模型状态:实时查询每一个计算节点的通信链路容量、自身队列积压数据量,并存储到本地文件系统中,完成系统模型数据收集。在救灾应用场景中,无人机集群与智能移动设备组成动态的分散计算网络系统模型会实时查询每一个设备节点的通信链路容量以及自身队列积压数据量,并存储到本地文件系统中,以供进行分发任务前进行数据查询。
(3a)查询链路容量:对分散式网络环境中当前所有与任务中心存在通信链路的网络计算节点进行标记,观测并记录已标记的网络计算节点当前时刻通信链路的容量,并返回给本地文件系统。
(3b)查询任务队列积压:对上述已标记的网络计算节点遍历,对每个网络计算节点发送任务队列积压的查询指令,网络计算节点在当前时刻收到查询请求后,收集当前自身任务队列积压数据量,通过通信链路返回给本地文件系统。
(3c)存储系统模型状态数据:完成上述数据收集后,将数据存储到本地文件系统中,通过时间戳对存储数据进行标记,需要时可根据时间戳对该数据进行查询;存储完成后,清除上述标记,完成系统模型的数据收集。
(4)下发计算任务:设计并训练下发计算任务的深度强化学习模型,查询当前时刻系统模型状态数据,通过深度强化学习模型输出任务下发决策并执行之。
(4a)查询当前时刻系统模型状态数据:从本地文件系统中,以当前时间戳作为键值,查询当前时刻的系统模型状态,并存放至状态数组State_Arr中;其中,数组的每一个元素都包含网络计算节点ID、状态类型state_type、状态值 state_value。这些数据共同构成了网络计算节点需要完成的任务。
(4b)输出任务下发决策:由设计并训练的深度强化学习模型,依据状态数组State_Arr作为深度强化学习模型输入,深度强化学习模型计算后输出任务下发决策。
(4c)执行任务下发决策:按照任务下发决策描述,任务中心将当前需要完成的任务通过无线传输链路传输至对应的网络计算节点,并存储在这些网络计算节点的待执行任务队列中。
参见图4,图4为本发明所设计的网络计算节点决策流程示意图。图中给出了时隙t和时隙t+1两个时隙的决策流程,网络计算节点以无人机为例,说明如下:本发明在每一个时隙t中,均包括有观测状态阶段、智能体决策阶段和执行决策三个阶段;在第一观测状态阶段,每个时隙共同参与观测,即实时地查询当前时刻系统模型状态数据,之后进入第二智能体决策阶段,本发明在此设计并训练的深度强化学习模型会将系统模型状态数据作为深度强化学习模型输入,深度强化学习模型计算后输出任务下发决策,任务中心将当前需要完成的任务通过无线传输链路传输至对应的无人机网络计算节点,进入第三阶段执行决策阶段,即令无人机群执行救灾任务。
其中强化学习模型决策整体流程如图5所示,图5为本发明以无人机为例设计的任务分发强化学习模型决策整体流程的示意图。
每个时隙t开始时,置于控制中心的决策智能体Agent观察当前的通信链路状态和队列容量组成的状态State S(t),作为参数传入已训练的神经网络模型,得到执行决策Action A(t)。随后,控制中心执行决策Action A(t),将任务分发到无人机网络计算节点后,环境会给予决策智能体Agent奖励Reward R(t),决策智能体Agent根据奖励Reward R(t)更新模型。依照最优的任务分发决策,任务中心将当前需要完成的任务通过无线传输链路传输至对应的无人机网络计算节点,并存储在这些无人机网络计算节点的待执行任务队列中。
(5)调度与任务执行:设计任务调度决策算法,收集当前时刻网络计算节点数据和任务调度模型Q数据,执行任务调度决策算法,输出调度决策并执行之。
(5a)收集当前时刻网络计算节点数据和任务调度模型数据:每一个网络计算节点vi查询本地通信端口,获取当前时刻直连的网络计算节点并对其标记,并观测与被标记的网络计算节点vj的通信链路最大信道容量Cij;依据网络计算节点模型获取节点此刻的计算能力;依据队列模型获取队列当前积压量与上一时刻调度前的积压量Qi(t)、Qi(t-1);依据能耗模型获取当前时刻传输、计算每单位数据量所需的能耗。
(5b)通过任务调度决策算法输出调度决策:以步骤(5a)收集的网络计算节点数据和任务调度模型Q数据构造李雅普诺夫漂移加罚函数Δf(t),并构造约束条件,利用内点法求解李雅普诺夫漂移加罚函数Δf(t)的最小值,以此任务调度决策算法输出调度决策,调度决策包括向每个邻接网络计算节点传输的任务数据量,以及计算自身本地的数据量。
(5c)执行调度决策:网络计算节点获得任务的调度决策,向每个当前时刻邻接的网络计算节点传输任务及其相关的数据量,同时调用本地的计算资源处理在本地计算的任务数据,本地的网络计算节点和邻接的网络计算节点各自执行调度的任务。也就是说接收到调度决策的网络计算节点完成并执行调度。在救灾的应用场景中,无人机接收到调度决策,能够在降低无人机能耗的前提下完成任务。
现有技术在处理无人机群的应急救灾场景时,大概分为两个方面。一方面,将无人机与边缘计算架构进行融合是一种常见的解决方案。但前提是需保证灾区环境中无人机节点到边、云、端多方之间的链路畅通,不适用于通信中断的灾后场景。另一方面,也有一些研究工作不依赖其它边、云服务器,研究仅无人机集群内的合作技术。
但以上两方面的大多数研究工作都假设了灾后现场基站侧服务器存在且其电力供应充足,或假设无人机集群间通信链路实时存在且通信稳定。未考虑在无能源供应的前提下,可通过建立无线通信链路,实现灾区现场大量的移动智能终端设备的电力和算力的充分利用,以协助无人机集群完成计算任务,并延长其续航时间。在实际的救灾应用场景中,常常现场基站侧服务器缺失且其电力供应不足的情况,此时无人机无法正常完成任务。针对这个情况,本发明展开了思考与实验。
本发明的思路是在研究中考虑到将无人机集群与智能移动设备组成动态的分散计算网络,通过数据交换协同完成计算任务,并长时间地保证所有网络计算节点的平均服务速率稳定前提下,尽可能降低整个系统的能耗。除了无人机群的救灾场景,军事作战等对时延和能耗敏感的应用场景也十分需要分散网络环境,同样适用于本发明的应用场景。
本发明给出了一个实现高速率、低能耗的基于分散式网络环境下可分任务的分发和调度方法的整体技术方案,采用了一种基于分散式网络环境下可分任务的分发和调度方法,实现计算服务质量长期的稳定的前提下使可分任务耗能最小的调度算法,是基于可分任务理论和分散式网络环境,对其中的网络计算节点进行负载感知、下发任务、协作计算,实现计算服务速率长期稳定且系统能耗最小的调度成效。
本发明解决了在计算服务质量长期的稳定的前提下使可分任务耗能最小的技术问题,通过设计并训练下发计算任务的深度强化学习模型解决了可分任务的分发问题,通过设计计算任务调度决策算法解决了可分任务的调度决策问题。在保证服务质量稳定、系统长期运行的场景下,实现计算任务耗能最小化的目标,以实现长期效益最大化,同时补充了分散计算环境下对于可划分任务的调度研究工作的空缺。
实施例2:
本系统模型以时隙t的间隔运行,时隙t内瞬时的计算能力、通信能力、网络计算节点地理位置均不会变化。
此系统模型适用于灾害场景中,无人机协作组成无人机集群参与救灾的情况,在此场景中,无人机集群与智能移动设备组成动态的分散计算网络满足我们所构建的分散式网络环境,考虑到在短时间内,无人机集群与智能移动设备瞬时的计算能力、通信能力、网络计算节点地理位置均不会变化。
网络计算节点参数为表示分散计算环境下的N个网络计算节点,通信链路参数为表示N 个网络计算节点之间的通信链路,i,j分别表示网络计算节点的下标,eij(t)表示节点i节点j之间的链路,eij(t)表eij(t)=1则代表链路在此时隙存在,反之, eij(t)=0则链路失效,无法通信或交换数据;为区别多种不同类型的网络计算节点,记网络计算节点类型为
Tij表示任意两个设备相遇可以进行通信时,其通信链路每秒的信道容量,i,j 分别表示设备的下标;参数为vi的无线发射功率,B为信道带宽,gi,j为两个设备之间的信道增益,i,j分别表示设备的下标,N0为无线接收器处的噪声功率。
此实施例中构建的分散网络环境模型G,能够保证在时隙t内瞬时的计算能力、通信能力、网络计算节点地理位置均不会变化。不仅适用于无人机的救灾场景,在许多其他工作环境如军事作战等对时延敏感的应用场景均可采用。
实施例3:
(2.1)构建任务调度模型Q,其数学表达式如下:
数据量参数δk表示该分散式网络环境下计算任务所需要处理的数据量,计量单位为bit;系数参数γk表示执行该任务所需要的CVR系数,CVR系数 (Computation-to-VolumeRatio)即计算量与数据量的比值,常用于描述计算复杂度,对于特定应用程序的任务,CVR通常也是一个固定的取值,该值是可以被评估与测量的;γk·δk即执行用该任务所需总的CPU周期数。
其中,时钟频率参数Ci为网络计算节点vi的CPU时钟频率;CPU要处理计算缓冲区中的计算任务数据量为li(t)。
式(9)中,κ为取决于要执行任务的网络计算节点的CPU具体实现的功耗常数,Ci为CPU的时钟频率。表示该网络计算节点的计算功率。xij(t)为网络计算节点vi向vj调度的任务数据量大小;Tij(t)为两个网络计算节点之间的信道容量,在任务调度模型Q中,i,j分别表示网络计算节点间存在链路的网络计算节点的下标;为无线通信功率。Ci、xij(t)、Tij(t)、均为任务调度模型Q的能耗模型参数的变量。
此实施例中构建的任务调度模型Q,能够有效的量化网络计算节点在执行调度策略过程中产生、流动、计算的任务数据。不仅适用于无人机的救灾场景,在许多其他工作环境如军事作战等对能耗数据敏感的应用场景均可采用。
实施例4:
S(t)=[Q1,Q2,...,Qn,T1(t),T2(t),...,T0(t)] (11)
A(t)=[a1(t),a2(t),,...,a0(t),] (13)
A(t)是一个0-1向量,在时隙t对网络计算节点vi执行任务分发,则动作向量的该位被置为1,反之置为0。
(4a.3)确定奖励函数Rd(t):在任意时隙t,任务中心依据状态S(t)执行了动作A(t)后可以得到一个回报的反馈Rd(t)。本任务分发决策算法关注的是长期队列稳定与长期任务分发量最大,设计的奖励函数的数学表达式如下:
式(14)中,α、β是权重,用于调控当前系统模型更关注队列平衡还是更关注任务分发总量,ln(*)为对数函数。
分发决策的强化学习模型能够比较可用操作的预期效用,同时也可以处理随机过渡和奖励问题,而无需进行调整。每个时隙t开始时,置于控制中心的决策智能体Agent观察当前的通信链路状态和队列容量组成的状态S(t),作为参数传入已训练的神经网络模型,得到执行决策A(t)。随后,控制中心执行决策A (t),将任务分发到网络计算节点后,环境会给予决策智能体Agent奖励R(t),决策智能体Agent根据奖励R(t)更新模型。依照最优的分发决策,任务中心将当前需要完成的任务通过无线传输链路传输至对应的网络计算节点,并存储在这些网络计算节点的待执行任务队列中。
本发明中设计并训练的分发决策强化学习模型可以有效地对当前需要完成的任务进行分发和决策,接着任务中心会将当前需要完成的任务通过无线传输链路传输至对应的无人机集群与智能移动设备,使无人机在艰苦环境下继续完成任务,降低能耗。同时该分发决策强化学习模型不仅适用于无人机的救灾场景,在许多其他工作环境如军事作战等对能耗数据敏感的应用场景均可采用。
实施例5:
基于分散式网络环境下可分任务的分发和调度方法同实施例1-4,步骤(5b) 中所述的执行任务调度决策算法,其中的任务调度决策算法具体说明如下:
(5b.1)首先构建李雅普诺夫虚拟队列:李雅普诺夫虚拟队列的大小代表了队列模型中的任务数据积压量值,记为Qi(t),Qi(t)具体为网络计算节点i的队列模型中的任务数据积压量值;网络计算节点i的队列模型中的任务数据积压量值Qi(t)从时隙t到t+1之间的变化表示为:
式(15)中,ai(t)·Ti(t)表示该时刻由任务中心通过传输链路发送给网络计算节点vi的计算任务数据量,xij(t)代表该时刻网络计算节点vi向vj卸载的计算任务数据量,yji(t)代表该时刻网络计算节点vj向vi卸载的计算任务数据量,li(t)为网络计算节点vi选择本地计算的计算任务数据量,max(*,0)保证了该虚拟队列没有负积压。
ai(t)·Ti(t)、xij(t)、yji(t)、li(t)均为李雅普诺夫虚拟队列的变量。
此队列模型中的任务数据积压量值就是需要收集的任务调度模型Q的数据。
(5b.2)构建李雅普诺夫函数构建的李雅普诺夫函数的函数值大小和系统模型的稳定性呈正相关,并将单个网络计算节点的队列稳定性推广到整个系统模型的稳定性,所有网络计算节点的队列模型中的任务数据积压量值累加求和形成了李雅普诺夫函数李雅普诺夫函数表示如下:
(5b.3)推导李雅普诺夫漂移函数在式(16)李雅普诺夫函数表达式的基础上,用相邻相邻的时隙t与时隙t+1之间的计算任务增长延申出李雅普诺夫漂移函数表示相邻的时隙t与时隙t+1之间,整个系统模型的计算任务增长的总量,即两个相邻时隙李雅普诺夫函数的偏移值,李雅普诺夫漂移函数如下式(17)所示:
(5b.4)推导李雅普诺夫加罚函数:在式(9)任务调度模型Q的能耗模型参数的数学表达式的基础上,推导出李雅普诺夫加罚函数,表示该系统模型在相应调度决策下,可实现能耗最小的目标,其中是网络计算节点i分发给别的节点的策略,是网络计算节点i本地计算的策略;李雅普诺夫加罚函数表示如下:
(5b.5)构造李雅普诺夫漂移加罚函数Δf(t):结合式(17)李雅普诺夫漂移函数ΔL(Q(t))和式(18)李雅普诺夫加罚函数消去时间约束,构造李雅普诺夫漂移加罚函数Δf(t),如式(19)所示:
其中H是权重因子,是用于调控加罚函数所占的比重的约束,调节队列稳定性和节能性的均衡。
将李雅普诺夫漂移函数中的所有变量、李雅普诺夫加罚函数中的所有变量和任务调度模型Q的能耗模型参数中的所有变量带入式(19)李雅普诺夫漂移加罚函数Δf(t),得到最终的目标函数,即李雅普诺夫漂移加罚函数Δf(t)的最小值如式(20)所示:
(5b.6)通过任务调度决策算法得出时隙的调度决策利用内点法求解式(20)目标函数得出该时隙的调度决策该决策会从网络计算节点的队列积压Qi(t)中取出任务,调度li(t)至本地计算资源的CPU,或调度xij(t)至传输缓冲区,通过通信链路卸载至其它网络计算节点。即向每个邻接网络计算节点传输的任务数据量,以及计算自身本地的数据量。
本发明的基于分散式网络环境下对可分任务的分发与调度方法,解决了在救灾场景出现现场基站侧服务器缺失且其电力供应不足的情况下,保证无人机群高速率、低能耗的完成任务的问题。本发明在计算服务质量长期的稳定的前提下使可分任务耗能最小。
为了实现计算服务质量长期的稳定的前提下使可分任务耗能最小的效果。本发明内容包括:构建分散式网络环境模型G、构建任务调度模型Q;设计用于计算任务分发的强化学习模型、用于计算任务调度的任务调度算法;实现分散式网络环境下可分任务灵活调度。本发明基于李雅普诺夫漂移加罚函数,实现了调度两个阶段对任务的处理,考虑到分散式网络环境的节点分散特性,采用网络计算点的相遇概率模型维系任务的分发和调度,使分散式环境下任务下发和调度决策更加易于计算和实现。最终保证了分散式网络环境中计算任务的可靠、灵活、有序稳定执行,实现了分散式网络环境中资源的高效利用。同时,也实现了计算任务消耗能耗的最小化。可用于无大型通信基站支持的灾区现场中,组建分散式网络环境用于救灾计算任务下发和调度。
下面给出一个更加详细的例子,对本发明进一步说明。
实施例6:
基于分散式网络环境下可分任务的分发和调度方法同实施例1-5,分散计算可应用于灾区救援场景。诸如地震、海啸等自然灾害的发生,通常会伴随着大量传统的基础通信设施被破坏、电力设施被阻断、运输道路被损毁等一系列复杂的灾后环境,而灾区现场又需要执行卫星图像分析等计算,计算任务多但算力不足的矛盾会影响灾区现场救援的速度。目前常见的应急救灾场景中,通常由大量无人机协作组成无人机集群,任务中心下发以及其传感器收集数据后交互协作完成复杂任务。但又因无人机物理尺寸设计的限制,无人机集群等设备往往无法满足实时、高密度的计算需求和服务需求。针对上述挑战,目前的解决方案可分为两大类。一方面,将无人机与边缘计算架构进行融合是一种常见的解决方案。有论文提出,无人机以最小化自身计算能耗为目标,将任务通过地空链路传输到距离最近的地面站的边缘服务器,以保证内集群大多数无人机能保持更长的工作时间。但前提是需保证灾区环境中无人机节点到边、云、端多方之间的链路畅通,不适用于通信中断的灾后场景。另一方面,也有一些研究工作不依赖其它边、云服务器,研究仅无人机集群内的合作技术。如有论文提出了一个高效能的多无人机合作模型,在此基础上利用博弈论证明纳什均衡存在并设计节能算法,合理且有效地将区域搜索任务分配至各个无人机。
上述大多数研究工作都假设了灾后现场基站侧服务器存在且其电力供应充足,或假设无人机集群间通信链路实时存在且通信稳定。未考虑在无能源供应的前提下,可通过建立无线通信链路,实现灾区现场大量的移动智能终端设备的电力和算力的充分利用,以协助无人机集群完成计算任务,并延长其续航时间。因此,本发明考虑将无人机集群与智能移动设备组成动态的分散计算网络,通过数据交换协同完成计算任务,并长时间地保证所有网络计算节点的平均服务速率稳定前提下,尽可能降低整个系统的能耗。
本发明是一种基于分散式网络环境下可分任务的分发与调度方法,分散式网络将每个计算设备,包括无人机、智能移动设备、智能网络设备等都看作是一个网络计算节点(NCP)。本发明的调度方法是基于分散式网络环境,对其中的NCP 节点进行负载感知、协同计算、网络资源借用,实现救灾计算任务完成速率稳定且消耗能耗最小化,参见图1,包括有如下步骤:
参数为表示分散计算环境下的N个网络计算节点,参数为表示网络计算节点之间的通信链路,eij(t)=1则代表链路在此时隙存在,反之,eij(t)=0则链路失效,无法通信或交换数据。为区别多种不同类型的网络计算节点,记其类型为
该网络计算节点通信模型Tij可表示为:
ρ描述网络计算节点在系统运行过程中进行移动而相遇的概率,可表示为:
参数rk表示该环境下任意一个计算任务。rk可表示为:
参数δk表示该分散式网络环境下计算任务所需要处理的数据量,计量单位为bit。参数γk表示执行该任务所需要的CVR系数,γk·δk即执行用该任务所需总的CPU周期数。
其中,参数Ci为网络计算节点viCPU的时钟频率。CPU要处理计算缓冲区中的计算任务数据量为li(t)。
式(9)中,κ为取决于CPU具体实现的功耗常数,Ci为CPU的时钟频率。表示该网络计算节点的计算功率。xij(t)为网络计算节点vi向vj调度的任务数据量大小。Tij(t)为两个网络计算节点之间的信道容量。为无线通信功率。
(3)存储当前时刻系统状态。对分散式网络环境中当前所有与任务中心存在通信链路的无人机网络计算节点进行标记,观测并记录已标记的网络计算节点当前时刻通信链路的容量。对上述已标记的网络计算节点遍历,对每个网络计算节点发送任务队列积压的查询指令,网络计算节点在当前时刻收到查询请求后,收集当前自身队列积压数据量,通过通信链路返回。完成上述数据收集后,将状态数据存储到任务中心的本地文件系统中,可根据时间戳对该数据进行查询。存储完成后,清除上述标记。进入下一个步骤。
(4)下发计算任务。首先,从任务中心本地文件系统中,以当前时间戳作为键值,查询当前时刻的系统状态,并存放至状态数组State_Arr中。其中,数组的每一个元素都包含网络计算节点ID、状态类型state_type、状态值 state_value。由前期训练的深度强化学习模型,该模型的具体状态空间、决策空间、奖励函数如下:
S(t)=[Q1,Q2,...,Qn,T1(t),T2(t),...,T0(t)] (11)
A(t)=[a1(t),a2(t),,...,an(t),] (13)
A(t)是一个0-1向量,在时隙t对网络计算节点vi执行任务分发,则动作向量的该位被置为1,反之置为0。
(4.3)奖励函数。在任意时隙t,任务中心依据状态S(t)执行了动作A(t)后可以得到一个回报的反馈Rd(t)。本任务分发决策算法关注的是长期队列稳定与长期任务分发量最大,设计的奖励函数表示如下:
如图4所示,通过观察状态,模型计算后输出任务下发决策。按照决策描述,任务中心将当前需要完成的任务通过无线传输链路传输至对应的网络计算节点,并存储在这些网络计算节点的待执行任务队列中。其总体流程如图5所示。
(5)调度与任务执行。在下一个时隙t,无人机网络计算节点接收任务之后,进行任务调度和执行。每一个网络计算节点vi查询本地通信端口,获取当前时刻直连的网络计算节点并对其标记,并观测与被标记的网络计算节点vj的通信链路最大信道容量Cij。依据网络计算节点模型获取节点此刻的计算能力;依据队列模型获取队列当前积压量与上一时刻调度前的积压量Qi(t)、Qi(t-1);依据能耗模型获取当前时刻传输、计算每单位数据量所需的能耗。以上述收集的数据,构建算法所需的函数,如下:
(5.1)构建李雅普诺夫虚拟队列,队列的大小代表了任务队列的积压量值,记为Qi(t),Qi(t)从时隙t到t+1之间的变化可表示为:
式(15)中,ai(t)·Ti(t)表示该时刻由任务中心通过传输链路发送给网络计算节点vi的计算任务数据量,xij(t)代表该时刻网络计算节点vi向vj卸载的数据量,yji(t)代表该时刻vj向vi卸载的数据量,li(t)为vi选择本地计算的数据量,max(* ,0)保证了该虚拟队列没有负积压。
(5.2)定义的适用于本方法的李雅普诺夫函数,其目的是定义系统的稳定性,并将单个网络计算节点的队列稳定性推广到整个系统的稳定性,即将所有网络计算节点的队列积压值累加求和,该函数表示如下:
在式(16)的基础上,延申出李雅普诺夫漂移函数,表示相邻的时隙t与时隙 t+1之间,整个系统的计算任务增长的总量,即两个相邻时隙李雅普诺夫函数的偏移值,如下式(17)所示:
(5.3)结合式(17)和式(18),消去时间约束,构造李雅普诺夫漂移加罚函数,如式(19)所示:
其中H是权重因子,用于调控罚函数所占的比重,调节队列稳定性和节能性的均衡。将上文各变量带入式(19),得到最终的目标函数P,如式(20)所示:
式(20)中,g1(t)、g2(t)分别为具体计算功耗、通信功耗相关的计算函数。
最后,利用内点法求解式(20),得出该时隙的调度决策该决策会从网络计算节点的队列积压Qi(t)中取出任务,调度li(t)至本地计算资源的CPU,或调度xij(t)至传输缓冲区,通过通信链路卸载至其它网络计算节点。至此,任务调度部分结束,进入下一个时隙t。
综上所述,本发明的基于分散式网络环境下可分任务的分发和调度方法,解决了计算服务质量长期稳定的前提下可分任务耗能过大的问题。方法流程包括:构建分散式网络环境系统模型G;构建任务调度模型Q;获取并存储当前时刻系统模型状态;下发计算任务;调度与任务执行;实现了分散网络环境下的计算节点的高速率、低能耗。本发明结合应用场景,构建了分散式网络环境的系统模型 G和任务调度模型Q,完成了资源情况的数学量化描述表征;通过任务分发算法和任务调度算法的结合,有效且充分利用服务器资源,还能避免出现任务计算速度时快时慢的问题,最终以实现计算服务速率的稳定的效果;本发明设计的任务调度决策算法,通过任务在网络计算节点之间相互卸载,让一些负载轻、耗能小的网络计算节点承载更多的计算任务,并结合可通过控制调节旋钮变量,保证在计算服务速率的稳定性的前提下,使分散网络中每个网络计算节点的能耗最小化。本发明在分散式网络环境中计算任务的可靠、灵活、有序稳定执行,实现了分散式网络环境中资源的高效利用。同时,也实现了计算任务消耗能耗的最小化。可用于无大型通信基站支持的灾区现场中,组建分散式网络环境用于救灾计算任务下发和调度。
Claims (5)
1.一种基于分散式网络环境下可分任务的分发和调度方法,其特征在于,包括有如下步骤:
(1)构建分散式网络环境模型构建所应用场景的分散式网络环境模型,是对应用场景的量化描述,所述分散式网络环境模型除了具备随机存储传输的本地文件系统,和接受任务中心指令的通信端口及通讯渠道之外,还包括有网络拓扑模型、计算节点模型、通信模型和移动模型;网络拓扑模型包括有分布在网络中的各网络计算节点,与网络计算节点相连的链路,以及共同形成的网络规模,描述了网络计算节点之间的网络拓扑结构以及网络链路本身所具的高动态特性;计算节点模型描述网络计算节点所具有的计算能力、存储能力、通信能力、移动能力、任务执行环境与服务计算程序,每个计算节点均有接受任务中心指令的通讯渠道;通信模型描述网络计算节点之间用于数据传输的通信链路信道容量;移动模型则描述计算节点之间的移动方式与状态;
(2)构建任务调度模型Q:任务调度模型Q是网络计算节点在执行调度策略过程中任务数据产生、流动、计算的符号化描述,包括有任务模型、队列模型、计算模型和能耗模型;任务模型描述计算任务的特征,包括数据量、计算量与数据量的比率、计算所需的服务程序;队列模型是对网络计算节点内部对任务存储、数据流动方向的符号化描述;计算模型是网络计算节点依据自身计算能力对任务进行处理所需时间、资源的量化描述;能耗模型是网络计算节点执行调度策略过程中,利用通信链路传输数据、利用计算资源完成任务所消耗的能源的量化描述;
(3)获取并存储当前时刻系统模型状态:实时查询每一个计算节点的通信链路容量、自身队列积压数据量,并存储到本地文件系统中,完成系统模型数据收集;
(3a)查询链路容量:对分散式网络环境中当前所有与任务中心存在通信链路的网络计算节点进行标记,观测并记录已标记的网络计算节点当前时刻通信链路的容量,并返回给本地文件系统;
(3b)查询任务队列积压:对上述已标记的网络计算节点遍历,对每个网络计算节点发送任务队列积压的查询指令,网络计算节点在当前时刻收到查询请求后,收集当前自身任务队列积压数据量,通过通信链路返回给本地文件系统;
(3c)存储系统模型状态数据:完成上述数据收集后,将数据存储到本地文件系统中,通过时间戳对存储数据进行标记,需要时可根据时间戳对该数据进行查询;存储完成后,清除上述标记,完成系统模型的数据收集;
(4)下发计算任务:设计并训练下发计算任务的深度强化学习模型,查询当前时刻系统模型状态数据,通过深度强化学习模型输出任务下发决策并执行之;
(4a)查询当前时刻系统模型状态数据:从本地文件系统中,以当前时间戳作为键值,查询当前时刻的系统模型状态,并存放至状态数组State_Arr中;其中,数组的每一个元素都包含网络计算节点ID、状态类型state_type、状态值state_value;
(4b)输出任务下发决策:由设计并训练的深度强化学习模型,依据状态数组State_Arr作为深度强化学习模型输入,深度强化学习模型计算后输出任务下发决策;
(4c)执行任务下发决策:按照任务下发决策描述,任务中心将当前需要完成的任务通过无线传输链路传输至对应的网络计算节点,并存储在这些网络计算节点的待执行任务队列中;
(5)调度与任务执行:设计任务调度决策算法,收集当前时刻网络计算节点数据和任务调度模型Q数据,执行任务调度决策算法,输出调度决策并执行之;
(5a)收集当前时刻网络计算节点数据和任务调度模型数据:每一个网络计算节点vi查询本地通信端口,获取当前时刻直连的网络计算节点并对其标记,并观测与被标记的网络计算节点vj的通信链路最大信道容量Cij;依据网络计算节点模型获取节点此刻的计算能力;依据队列模型获取队列当前积压量与上一时刻调度前的积压量Qi(t)、Qi(t-1);依据能耗模型获取当前时刻传输数据量,计算每单位数据量所需的能耗;
(5b)通过任务调度决策算法输出调度决策:以收集的网络计算节点数据和任务调度模型Q数据构造李雅普诺夫漂移加罚函数Δf(t),并构造约束条件,利用内点法求解李雅普诺夫漂移加罚函数Δf(t)的最小值,以此任务调度决策算法输出调度决策,调度决策包括向每个邻接网络计算节点传输的任务数据量,以及计算自身本地的数据量;
(5c)执行调度决策:网络计算节点获得任务的调度决策,向每个当前时刻邻接的网络计算节点传输任务及其相关的数据量,同时调用本地的计算资源处理在本地计算的任务数据,本地的网络计算节点和邻接的网络计算节点各自执行调度的任务。
本系统模型以时隙t的间隔运行,时隙t内瞬时的计算能力、通信能力、网络计算节点地理位置均不会变化;
网络计算节点参数为表示分散计算环境下的N个网络计算节点,通信链路参数为表示N个网络计算节点之间的通信链路,i,j分别表示网络计算节点的下标,eij(t)表示节点i节点j之间的链路,eij(t)=1则代表链路在此时隙存在,反之,eij(t)=0则链路失效,无法通信或交换数据;为区别多种不同类型的网络计算节点,记网络计算节点类型为
Tij表示任意两个设备相遇可以进行通信时,其通信链路每秒的信道容量,i,j分别表示设备的下标;参数为vi的无线发射功率,B为信道带宽,gi,j为两个设备之间的信道增益,i,j分别表示设备的下标,N0为无线接收器处的噪声功率;
(3.1)构建任务调度模型Q,其数学表达式如下:
数据量参数δk表示该分散式网络环境下计算任务所需要处理的数据量,计量单位为bit;系数参数γk表示执行该任务所需要的CVR系数,CVR系数(Computation-to-VolumeRatio)即计算量与数据量的比值,常用于描述计算复杂度,对于特定应用程序的任务,CVR通常也是一个固定的取值,该值是可以被评估与测量的;γk·δk即执行该任务所需总的CPU周期数;
其中,时钟频率参数Ci为网络计算节点vi的CPU时钟频率;CPU要处理计算缓冲区中的计算任务数据量为li(t);
S(t)=[Q1,Q2,...,Qn,T1(t),T2(t),...,Tn(t)]
A(t)=[a1(t),a2(t),,...,an(t)]
A(t)是一个0-1向量,在时隙t对网络计算节点vi执行任务分发,则动作向量的该位被置为1,反之置为0;
(4a.3)确定奖励函数Rd(t):在任意时隙t,任务中心依据状态S(t)执行了动作A(t)后可以得到一个回报的反馈Rd(t);本任务分发决策算法关注的是长期队列稳定与长期任务分发量最大,设计的奖励函数的数学表达式如下:
式中,α、β是权重,用于调控当前系统模型更关注队列平衡还是更关注任务分发总量,ln(*)为对数函数。
5.根据权利要求1所述的分散式网络环境下的任务分发与调度方法,其特征在于,步骤(5b)中所述的执行任务调度决策算法,其中的任务调度决策算法具体说明如下:
(5b.1)首先构建李雅普诺夫虚拟队列:李雅普诺夫虚拟队列的大小代表了队列模型中的任务数据积压量值,记为Qi(t),Qi(t)具体为网络计算节点i的队列模型中的任务数据积压量值;网络计算节点i的队列模型中的任务数据积压量值Qi(t)从时隙t到t+1之间的变化表示为:
式中,ai(t)·Ti(t)表示该时刻由任务中心通过传输链路发送给网络计算节点vi的计算任务数据量,xij(t)代表该时刻网络计算节点vi向vj卸载的计算任务数据量,yji(t)代表该时刻网络计算节点vj向vi卸载的计算任务数据量,li(t)为网络计算节点vi选择本地计算的计算任务数据量,max(*,0)保证了该虚拟队列没有负积压;
此队列模型中的任务数据积压量值就是需要收集的任务调度模型Q的数据;
(5b.3)推导李雅普诺夫漂移函数在李雅普诺夫函数表达式的基础上,用相邻的时隙t与时隙t+1之间的计算任务增长延申出李雅普诺夫漂移函数表示相邻的时隙t与时隙t+1之间,整个系统模型的计算任务增长的总量,即两个相邻时隙李雅普诺夫函数的偏移值,李雅普诺夫漂移函数如下式所示:
(5b.4)推导李雅普诺夫加罚函数:在任务调度模型Q的能耗模型参数的数学表达式的基础上,推导出李雅普诺夫加罚函数,表示该系统模型在相应调度决策下,可实现能耗最小的目标,其中是网络计算节点i分发给别的节点的策略,是网络计算节点i本地计算的策略;李雅普诺夫加罚函数表示如下:
(5b.5)构造李雅普诺夫漂移加罚函数Δf(t):结合李雅普诺夫漂移函数ΔL(Q(t))和李雅普诺夫加罚函数消去时间约束,构造李雅普诺夫漂移加罚函数Δf(t),如式所示:
其中H是权重因子,是用于调控加罚函数所占的比重的约束,调节队列稳定性和节能性的均衡;
将李雅普诺夫漂移函数中的所有变量、李雅普诺夫加罚函数中的所有变量和任务调度模型Q的能耗模型参数中的所有变量带入李雅普诺夫漂移加罚函数Δf(t),得到最终的目标函数,即李雅普诺夫漂移加罚函数Δf(t)的最小值如下式所示:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554570.5A CN113238847B (zh) | 2021-05-20 | 2021-05-20 | 基于分散式网络环境下可分任务的分发和调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110554570.5A CN113238847B (zh) | 2021-05-20 | 2021-05-20 | 基于分散式网络环境下可分任务的分发和调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113238847A CN113238847A (zh) | 2021-08-10 |
CN113238847B true CN113238847B (zh) | 2022-12-06 |
Family
ID=77138028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110554570.5A Active CN113238847B (zh) | 2021-05-20 | 2021-05-20 | 基于分散式网络环境下可分任务的分发和调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113238847B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745317B (zh) * | 2022-02-09 | 2023-02-07 | 北京邮电大学 | 面向算力网络的计算任务调度方法及相关设备 |
CN115133972B (zh) * | 2022-03-14 | 2023-06-27 | 重庆邮电大学 | 一种卫星系统任务调度及卸载方法 |
CN115801093A (zh) * | 2022-10-14 | 2023-03-14 | 西安空间无线电技术研究所 | 一种保证卫星网络端到端确定性时延的路径规划方法 |
CN116909717B (zh) * | 2023-09-12 | 2023-12-05 | 国能(北京)商务网络有限公司 | 一种任务调度方法 |
CN117522176B (zh) * | 2024-01-08 | 2024-04-12 | 中国电子科技集团公司第十五研究所 | 基于多智能体系统的多项目资源调度评估系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107343025A (zh) * | 2017-06-07 | 2017-11-10 | 西安电子科技大学 | 分布式卫星云雾网络架构及能耗约束下的时延优化方法 |
CN109800027A (zh) * | 2018-12-27 | 2019-05-24 | 上海无线通信研究中心 | 基于服务节点自主参与的网络节点间任务卸载方法及系统 |
CN110533183A (zh) * | 2019-08-30 | 2019-12-03 | 东南大学 | 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法 |
CN111258677A (zh) * | 2020-01-16 | 2020-06-09 | 重庆邮电大学 | 面向异构网络边缘计算的任务卸载方法 |
CN111756812A (zh) * | 2020-05-29 | 2020-10-09 | 华南理工大学 | 一种能耗感知的边云协同动态卸载调度方法 |
WO2021003422A1 (en) * | 2019-07-02 | 2021-01-07 | Northeastern University | Network and method for servicing a computation request |
CN112600921A (zh) * | 2020-12-15 | 2021-04-02 | 重庆邮电大学 | 一种面向异构移动边缘网络的动态任务卸载方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8276143B2 (en) * | 2008-03-10 | 2012-09-25 | Oracle America, Inc. | Dynamic scheduling of application tasks in a distributed task based system |
CN110580196B (zh) * | 2019-09-12 | 2021-04-06 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
CN111163521B (zh) * | 2020-01-16 | 2022-05-03 | 重庆邮电大学 | 移动边缘计算中一种分布式异构环境下的资源分配方法 |
-
2021
- 2021-05-20 CN CN202110554570.5A patent/CN113238847B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107343025A (zh) * | 2017-06-07 | 2017-11-10 | 西安电子科技大学 | 分布式卫星云雾网络架构及能耗约束下的时延优化方法 |
CN109800027A (zh) * | 2018-12-27 | 2019-05-24 | 上海无线通信研究中心 | 基于服务节点自主参与的网络节点间任务卸载方法及系统 |
WO2021003422A1 (en) * | 2019-07-02 | 2021-01-07 | Northeastern University | Network and method for servicing a computation request |
CN110533183A (zh) * | 2019-08-30 | 2019-12-03 | 东南大学 | 一种流水线分布式深度学习中异构网络感知的模型划分与任务放置方法 |
CN111258677A (zh) * | 2020-01-16 | 2020-06-09 | 重庆邮电大学 | 面向异构网络边缘计算的任务卸载方法 |
CN111756812A (zh) * | 2020-05-29 | 2020-10-09 | 华南理工大学 | 一种能耗感知的边云协同动态卸载调度方法 |
CN112600921A (zh) * | 2020-12-15 | 2021-04-02 | 重庆邮电大学 | 一种面向异构移动边缘网络的动态任务卸载方法 |
Non-Patent Citations (3)
Title |
---|
基于李雅普诺夫理论的边缘计算任务调度与优化算法;张海平;《中国优秀硕士学位论文全文数据库-信息科技辑》;20200715;第2020年卷(第7期);全文 * |
基于深度强化学习的移动边缘计算任务卸载研究;卢海峰等;《计算机研究与发展》;20200707(第07期);全文 * |
边缘计算下基于Lyapunov优化的系统资源分配策略;丁雪乾等;《微电子学与计算机》;20200205(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113238847A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113238847B (zh) | 基于分散式网络环境下可分任务的分发和调度方法 | |
CN110099384B (zh) | 基于边-端协同的多用户多mec任务卸载资源调度方法 | |
CN112004239B (zh) | 一种基于云边协同的计算卸载方法及系统 | |
Liu et al. | Deep reinforcement learning based latency minimization for mobile edge computing with virtualization in maritime UAV communication network | |
CN108509276A (zh) | 一种边缘计算环境中的视频任务动态迁移方法 | |
CN103220337B (zh) | 基于自适应弹性控制的云计算资源优化配置方法 | |
CN113452956B (zh) | 一种输电线路巡检任务智能分配方法及系统 | |
CN113326002A (zh) | 基于计算迁移的云边协同控制系统及迁移决策生成方法 | |
Liu et al. | Minimization of offloading delay for two-tier UAV with mobile edge computing | |
CN113810233B (zh) | 一种在随机网络中基于算网协同的分布式计算卸载方法 | |
Kang et al. | Cooperative UAV resource allocation and task offloading in hierarchical aerial computing systems: A MAPPO based approach | |
CN113286329B (zh) | 基于移动边缘计算的通信和计算资源联合优化方法 | |
CN115175217A (zh) | 一种基于多智能体的资源分配和任务卸载优化方法 | |
CN110809291B (zh) | 基于能量采集设备的移动边缘计算系统双层负载平衡方法 | |
CN115640131A (zh) | 一种基于深度确定性策略梯度的无人机辅助计算迁移方法 | |
CN113419867B (zh) | 一种面向边云协同计算环境中节能的服务供应方法 | |
CN113821346B (zh) | 基于深度强化学习的边缘计算中计算卸载与资源管理方法 | |
CN115665869A (zh) | 基于边缘计算和有向无环图的多用户协作平台及其方法 | |
Pham et al. | When RAN intelligent controller in O-RAN meets multi-UAV enable wireless network | |
He et al. | Energy-efficient computation offloading strategy with task priority in cloud assisted multi-access edge computing | |
CN113382066B (zh) | 基于联邦边缘平台的车辆用户选择方法及系统 | |
CN111611069B (zh) | 多数据中心间多类型任务迁移方法 | |
CN116489708B (zh) | 面向元宇宙的云边端协同的移动边缘计算任务卸载方法 | |
CN116939866A (zh) | 一种基于协同计算和资源分配联合优化的无线联邦学习效率提升方法 | |
CN114143317B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |