CN112799823A - 边缘计算任务的在线分派调度方法和系统 - Google Patents
边缘计算任务的在线分派调度方法和系统 Download PDFInfo
- Publication number
- CN112799823A CN112799823A CN202110348337.1A CN202110348337A CN112799823A CN 112799823 A CN112799823 A CN 112799823A CN 202110348337 A CN202110348337 A CN 202110348337A CN 112799823 A CN112799823 A CN 112799823A
- Authority
- CN
- China
- Prior art keywords
- task
- scheduling
- edge server
- access point
- tasks
- 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.)
- Granted
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
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- 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
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)
- Computer And Data Communications (AREA)
Abstract
本说明书一个或多个实施例提供了一种边缘计算任务的在线分派调度方法和系统,所述边缘计算任务的在线分派调度系统包括:用户终端,接入点和边缘服务器;所述边缘计算任务的在线分派调度方法包括:所述用户终端将任务发送给所述接入点;所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器;其中,所述最优分派策略由多臂老虎机模型生成;所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点;所述接入点将所述处理后的所述任务发送给所述用户终端。解决了任务分派和任务调度阶段时延过高的问题,提升了服务质量。
Description
技术领域
本说明书一个或多个实施例涉及边缘计算技术领域,尤其涉及一种边缘计算任务的在线分派调度方法和系统。
背景技术
边缘计算可以有效地解决用户设备与远程云服务器之间的长距离时延问题。然而,在任务分派阶段,网络条件和服务器负载的动态特性使得任务难以分派到的最优边缘服务器;在任务调度阶段,每个边缘服务器面临大量的卸载任务需要处理,导致边缘服务器响应时间过长。这两个问题最终造成时延过高、服务质量下降。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种边缘计算任务的在线分派调度方法和系统,以解决任务分派阶段任务无法分派到最优边缘服务器和任务调度阶段边缘服务器响应时间过长造成的时延过高、服务质量下降的问题。
基于上述目的,本说明书一个或多个实施例提供了一种边缘计算任务的在线分派调度方法,应用于边缘计算任务的在线分派调度系统,所述边缘计算任务的在线分派调度系统包括:
用户终端,接入点和边缘服务器;
所述边缘计算任务的在线分派调度方法包括:
所述用户终端将任务发送给所述接入点;
所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器;其中,所述最优分派策略由多臂老虎机模型生成;
所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点;
所述接入点将所述处理后的所述任务发送给所述用户终端。
基于同一发明构思,本说明书一个或多个实施例还提供了一种边缘计算任务的在线分派调度系统,包括:用户终端,接入点和边缘服务器;
所述用户终端,被配置为将所述任务发送给所述接入点并接受所述接入点发送的处理后的所述任务;
所述接入点,被配置为根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器,再将处理后的所述任务反馈给所述接入点;其中,所述最优分派策略由多臂老虎机模型生成;
所述目标边缘服务器,被配置为根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点。
从上面所述可以看出,本说明书一个或多个实施例提供的一种边缘计算任务的在线分派调度方法和系统,结合在线学习和深度强化学习技术,在分派任务的同时实时估计网络状况和服务器负载,通过网络资源和计算资源的综合分析对任务进行分派和调度;实验结果表明,本申请能够根据任务的时间敏感性要求,将网络资源和计算资源动态分派给需要处理的任务,显著降低了任务的平均响应时间,保证了所有任务之间的效率和公平性,通过在线、动态地联合分派、调度任务,显著地提高了用户服务质量。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的循环调度方法示意图;
图2为本说明书一个或多个实施例的边缘计算任务的在线分派调度系统示意图;
图3为本说明书一个或多个实施例的多队列加权循环调度模型的部分示意图;
图4为本说明书一个或多个实施例的边缘计算任务的在线分派调度方法流程图;
图5为本说明书一个或多个实施例的结合了深度强化学习的多队列加权循环调度模型示意图;
图6为本说明书一个或多个实施例的基于DQN模型的调度器的学习过程示意图;
图7(a)和(b)为本说明书一个或多个实施例的性能试验对比图一;
图8(a)-(f)为本说明书一个或多个实施例的性能试验对比图二;
图9(a)和(b)为本说明书一个或多个实施例的性能试验对比图三;
图10(a)-(f)为本说明书一个或多个实施例的性能试验对比图四;
图11(a)和(b)为本说明书一个或多个实施例的性能试验对比图五;
图12(a)和(b)为本说明书一个或多个实施例的性能试验对比图六。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
物联网(IoT)的发展促进了移动端的应用/服务。由于受到其有限的(计算、存储和带宽)能力的限制,终端设备可能会花费大量时间执行所需的任务,从而可能导致服务质量(QoS)较差。将计算密集型任务卸载到云(数据中心)曾经是一种适应这些卸载任务的可行方式。然而,由于云与用户之间的距离太长,也带来了较大的通信时延,这对于那些时间敏感的应用/服务来说是无法接受的。在这种情况下,出现了边缘计算,通过在网络边缘、上放置更靠近用户的小型服务器来解决上述问题。通过将终端设备的任务转移到边缘服务器,用户可以接收到比云计算模式下更好的QoS(比如更低的时延、更高的精度)的边缘服务,同时节省了终端设备的有限的资源。
与云数据中心不同的是,每个边缘服务器通常配备有限的资源,因此无法一次为从终端用户卸载的所有任务提供服务,特别是卸载的任务数量很大的时候。为此,边缘计算系统需要解决两个基本问题:分派到哪个边缘服务器来处理每个已卸载任务,即任务分派问题;如何确定每个边缘服务器处理其已分派任务的顺序,即任务调度问题。任务分派和调度方法的理想设计应使任务的平均任务响应时间(时延)最小,从而进一步提高边缘计算的服务质量QoS。
边缘计算中的任务调度和分派问题现有的解决方法主要有:将每个任务分派到边缘服务器,使加权总响应时间最小;以调度策略计算出的最大完成任务数和最小平均完成时间将任务分派到边缘服务器;动态卸载任务和调度资源,以实现节能卸载;以排队理论和几种可以实现负载均衡的启发式策略来进行任务调度。然而,上述方法都建立在假设当前的网络条件和服务器负载是已知的条件下,但现实的任务调度问题网络环境是动态变化。
在任务调度问题的公平性方面,现有的解决方案主要有:将单资源分派扩展为多资源分派; 通过预测网络环境中的负载性能,保证任务在一定的时延内完成;基于博弈论和进化机制的方法,改变不同参与者初始最优解的多路复用策略,使其效率损失最小化。但是,上述方法只适用于云计算中心,与云计算中心相比,边缘服务器上的资源是非常有限的,需要更加合理、公平地调度和分派资源。
在边缘服务器处理任务时,现有技术主要有循环调度(RR)方法,RR方法是一种简单且应用最广泛的公平调度方法。参考图1为本说明书一个或多个实施例的循环调度方法的示意图。在每一轮中,处理池将分派资源给任务队列中要处理的任务,其他任务在任务队列中等候。传统调度方法只有一个任务队列,通过向每个任务分派相同的计算资源,对排队的任务按顺序进行处理。在调度大量任务时,由于资源不能根据任务的时间敏感性需求动态分派给任务,效率会变得很低,会导致严重的任务饥饿问题(即由于较长的等待时间,导致任务错过了最后期限)。
如背景技术部分所述,当前的任务分派和调度方法还难以有效地降低任务分派和调度处理的时延,使得服务质量下降。申请人在实现本公开的过程中发现,现有的任务分派和调度方法存在的主要问题是:假设当前的网络条件和服务器负载是已知的,但真实的网络环境是实时动态变化的;无法保证根据任务的性质对边缘服务器上有限的资源合理、公平地进行调度和分派。
有鉴于此,本说明书一个或多个实施例提供了一种边缘计算任务的在线分派调度方法,结合在线学习(OL)和深度强化学习(DRL)理论,提出了一种边缘计算任务的在线分派调度方法OTDS(Online Task Dispatching and Scheduling method)。在动态网络条件和网络边缘服务器负载的情况下,同时考虑任务调度的效率和公平性。
可见,本说明书一个或多个实施例提供了一种边缘计算任务的在线分派调度方法,通过在线和实时估计网络状态和服务器负载,将任务动态分派给最优的边缘服务器。每个边缘服务器上的任务调度方法利用了一种改进的RR方法,它与深度强化学习(DRL)相结合,可以根据任务的时间敏感性动态地将资源分派给每个任务,以保持任务调度的效率和公平性,可以最小化任务的平均响应时间,保证所有任务之间的效率和公平性。本申请用真实数据集进行广泛的实验,结果表明与其他对比算法相比,本说明书提供的边缘计算任务的在线分派调度方法能够保持较低的平均响应时间和最后期限错过率,而且能够很好地平衡大任务和小任务之间的资源分派,从而避免严重的任务饿死,提高服务质量。
以下,结合图2至图12,通过具体的实施例进一步详细说明本公开的技术方案。
本说明书一个或多个实施例提供了一种边缘计算任务的在线分派调度方法,应用于边缘计算任务的在线分派调度系统,所述边缘计算任务的在线分派调度系统包括:
用户终端,接入点和边缘服务器;
具体的,如图2为本说明书一个或多个实施例的边缘计算任务的在线分派调度系统示意图所示,所述在线分派系统包括会产生各种任务请求的物联网设备的用户终端、多个位于边缘计算网络的接入点(AP)和若干边缘服务器;优选的,还包括由存储各种数据的远程云;用户终端将任务发送给接入点,并由接入点发送给位于同一边缘计算网络中的服务器,服务器将任务存储在任务队列中等待处理,处理完成后再将处理后的任务发送给接入点,接入点再将任务发送给用户终端。
对边缘计算网络中的任务分派和任务调度问题进行建模,将任务的在线分派和调度问题作为非线性优化问题,如图2所示,定义边缘计算网络中有J个边缘服务器,记为 ,每个边缘服务器配置有多个应用程序/服务。定义有K个接入点(AP),位于蜂窝网络的多个基站(BS)或基站本身,每个基站都在一定半径网络范围内为用户终端提供服务(例如,一个宏基站为一公里),用户终端以无线方式将任务发送到接入点(AP),接入点将接入点覆盖区域内的用户终端发送的任务分派到边缘服务器,任务到达边缘服务器后在任务队列中等待处理。
边缘服务器放置在网络边缘,以便以较低的时延响应接收任务。它们存储和管理数据,计算和分析用户分派的任务。对于任意边缘服务器,定义和表示它的存储和计算资源(每秒处理的数据量)。受资源数量的限制,每个边缘服务器应该合理地分派资源,以最大限度地提高效率。本申请假定每个边缘服务器一次最多只能执行一个任务,并且不能将一个边缘服务器上的任务迁移到另一个边缘服务器上。
定义集合表示从用户终端卸载的任务,其中表示任务的大小。在边缘计算应用中,任务是时间敏感性的,因此受到截止时间deadline的限制,例如,自动/连接车辆,虚拟现实和实时检测。因此,定义表示用户终端要求的任务的截止时间deadline。
其中表示接入点 k提供的带宽(单位bit/s);定义任务传输到接入点的时延为传输时延,具体的,定义为接入点 k的传输时延;由于用户终端与接入点之间的距离相对较短(特别是在5G情况下),本申请假定在同一接入点覆盖区域内传输的任务具有相同的传输时延;因此,表示为:
本申请基于循环调度方法(RR)设计了一种多队列加权循环调度模型,如图3为本说明书一个或多个实施例的多队列加权循环调度模型的部分示意图所示,包括任务缓冲区和处理池。多队列加权循环调度模型中包含两种队列:至少一个任务等待队列,存储有到达边缘服务器的尚未完成的任务;多个任务完成队列,用于存储多个任务中已完成(部分)的结果。具体的:每次等待队列中的第一个任务进入处理池进行处理,在边缘服务器上具有(固定的)计算能力;任务完成队列只存储同一任务的结果,因此只有当前任务完成后,新任务才能进入任务完成队列。
其中,
更短的时延意味着更好的服务质量QoS,因此,为了给用户提供更高的QoS,应最小化任务分派和任务调度过程中的平均时延D,所以边缘计算任务的在线分派调度方法的目标函数为外部时延和内部时延组成的所有任务的平均时延:
经上述定义,任务分派和任务调度过程即:用户终端将任务发送给接入点;接入点接收后将任务发送给边缘服务器;经的外部时延由用户终端到达边缘服务器;任务在任务等待队列中等待时间,并在处理池中处理时间,处理结束后边缘服务器将处理后的任务反馈给接入点;接入点将处理后的任务发送给用户终端,经的外部时延由从目标边缘服务器到达用户终端。
所述边缘计算任务的在线分派调度方法包括:
S1:所述用户终端将任务发送给所述接入点;
具体的,用户终端以无线方式将任务发送到它覆盖范围内的位于蜂窝网络的多个基站(BS)或基站本身上的接入点,每个基站都在一定半径内为用户终端提供服务(例如,一个宏基站为一公里)。
S2:所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器;其中,所述最优分派策略由多臂老虎机模型生成;
具体的,在多臂老虎机模型中,最基本的组成部分是手臂,运行时从所有手臂中选择奖励最高的手臂作为目标手臂。本申请将边缘服务器视为手臂,定义表示J个臂的集合也即J个边缘服务器的集合,基于之前t-1次手臂所获的奖励选择目标手臂,将目标边缘服务器视为目标手臂,使用置信区间上界算法决定每次选置信度上界最高的手臂作为目标手臂也即目标边缘服务器。
在一些实施方式中,其中,所述多队列加权循环调度模型包括:调度器、任务缓冲区和处理池;
所述奖励包括外部奖励与加权后的内部奖励,在t时刻时:
具体的,如图5为本说明书一个或多个实施例的结合了深度强化学习的多队列加权循环调度模型示意图所示,所述多队列加权循环调度模型包括:调度器、任务缓冲区和处理池。
为了提高算法的效率,本申请在多臂老虎机模型MAB中引入了悔度,悔度是t时刻的最优手臂和t时刻被选择手臂j(t)之间的奖励差异。最优手臂是由预定义的掌握全局所有网络状态和边缘服务器的参数的Oracle策略选择得到的, 。由于Oracle总是掌握参数和,所以它可以一直选择最优的手臂。
手臂选择策略的原则是使奖励最大或使悔度最小;具体的,对于原则是使奖励最大的手臂选择策略,目标函数是:
对于原则是使悔度最小的手臂选择策略,目标函数是:
在一些实施方式中,所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,具体包括:
将所述置信区间上界最大的所述边缘服务器确定为所述目标边缘服务器。
具体的,在本申请的一个实施例中,基于置信区间上界(UCB)算法,使用奖励最大原则作为手臂选择策略,奖励本质上是均值的标准差,反映了候选手臂的不稳定性,是置信区间的上界,因此置信区间上界算法选择手臂中的获得最大平均奖励值(包含奖励:手臂j在前面t-1时间的奖励)的手臂也即置信区间的上界最大的手臂作为目标手臂,定义为:
其中,为边缘服务器 j的选择次数,c为控制探索利用平衡的参数,为边缘服务器j累积时刻的奖励均值。目标手臂所对应的目标边缘服务器即置信区间的上界最大的边缘服务器,将其作为目标边缘服务器。具体的算法见如下表1,在线任务分派算法:
表1:算法1,在线任务分派算法
其中,伪代码1-7行表示首先对每条手臂进行一次选择,以获得每条手臂的初始奖励;伪代码8-14行表示选择置信区间上界最高的手臂。
S3:所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点;
在一些实施方式中,所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,包括:
所述目标边缘服务器将所述任务存储至所述任务缓冲区等待处理;
所述目标边缘服务器将结束等待后的所述任务送入所述处理池;
所述目标边缘服务器通过最优调度策略对所述处理池中的所述任务进行处理;其中,所述最优调度策略由基于DQN模型的所述调度器产生。
具体的,如图5为本说明书一个或多个实施例的结合了深度强化学习的多队列加权循环调度模型示意图所示,多队列加权循环调度模型,包括:调度器、任务缓冲区和处理池;调度器基于深度强化学习的框架使用DQN模型自适应地将计算资源分派给具有不同时间敏感性要求的任务。具体的,深度强化学习框架由智能体(Agent)、状态(State)、动作(Action)、策略(Policy)和奖励(Reward)组成,本申请将边缘服务器中的调度器映射为深度强化学习中的智能体(Agent)。
当任务进入边缘服务器后,首先,边缘服务器将等待处理的任务存储在任务缓冲区中的任务等待队列中;然后,任务以迭代的方式进入处理池,在此过程中,调度器通过获取当前处理池和任务缓冲区中任务的基本信息(如任务大小、截止时间等)生成深度强化学习(DRL)中的状态(State)即本申请中的环境状态,根据DQN模型将计算资源分派给处理池中的任务,对任务进行处理。
在传统的Q-learning中,状态空间和动作空间离散且维数小,每个状态-动作(state-action)对都可以很容易地存储到Q-table中。当状态空间和动作空间连续且维数大时,无法用Q-table来良好地存储状态-动作(state-action)对,本申请的任务调度问题的状态空间和动作空间即连续且维数大,因此本申请使用DQN模型。DQN的学习过程主要依赖于将卷积神经网络与Q-learning算法相结合,将Q-table转化为Q-network。如图6为本说明书一个或多个实施例的基于DQN模型的调度器的学习过程示意图所示,DQN中有两种结构相同但参数不同的神经网络,即目标网络和主网络,主网络生成当前Q值,目标网络生成目标Q值。
在一些实施方式中,所述最优调度策略通过以下方法生成:
所述调度器获取存储在所述处理池和所述任务缓冲区的任务的基本信息;
所述调度器从所述基本信息中实时获取环境状态;
所述调度器根据奖励函数获得所述动作的奖励;
所述调度器根据所述奖励使用经验回放法更新所述主网络,得到更新后的所述主网络;
所述调度器根据所述更新后的所述主网络使用随机梯度下降法更新所述目标网络。
具体的,所述调度器获取存储在所述处理池和所述任务缓冲区的任务的基本信息:
当任务进入边缘服务器,调度器获取处理池中当前处理的任务和任务缓冲区任务等待队列中的任务的基本参数信息(如任务大小、截止时间等)。
具体的,所述调度器从所述基本信息中实时获取环境状态:
调度器根据处理池中当前处理的任务和任务缓冲区任务等待队列中的任务的基本参数信息,生成深度强化学习(DRL)中的状态(State)即本申请中的环境状态;对于具体的某一边缘服务器,边缘服务器中的环境状态表示为 ,其中表示t时刻处理池中处理的任务的剩余处理时间,表示t时刻处理池中处理的任务的等待时间, (t)表示任务等待队列中的任务的等待时间。
表2:算法2,基于深度强化学习(DRL)的任务调度算法
参照表2为算法2基于深度强化学习(DRL)的任务调度算法,调度器通过观察根据当前时刻的环境状态s (t),以的方法选择动作a(t);具体的,如表2中伪代码的6-7行,以的概率选择值最大的动作,以的概率随机选择动作;任务调度的关键是选择将多少计算资源分派给当前任务的量,即当前任务将被服务多长时间,动作a(t)即选择将多少的计算资源分派给边缘服务器Ej中的任务;此外,计算资源应小于处理池中任务的剩余处理时间,即。
本申请中的最优调度策略即深度强化学习中的策略(Policy),策略(Policy)定义了从状态到动作的映射关系,即:,其中S和A分别表示状态空间和动作空间。在本申请中,最优调度策略调表示调度器根据t时刻的环境状态动作选择动作,即动作由这一时刻的环境状态映射得到:。
具体的,所述调度器根据奖励函数获得所述动作的奖励:
在一些实施方式中,所述奖励函数,定义如下:
其中为权重,,为在任务缓冲区的任务的平均等待时间,,它表示长期和全局的奖励,当调度器做出正向的决策时,就可以将合适的计算资源分派给任务,这样所有任务的平均等待时间就会缩短; 为所述处理池中任务的平均处理时间, ,它表示短期和局部的奖励,调度策略应允许大多数任务在一定时间内被处理,避免因为处理时间过长超过截止时间。
由于调度器的目标是预期总奖励最大化,因此调度器倾向选择可得到最高奖励的动作,即作出最优策略。
具体的,所述调度器根据所述奖励使用经验回放法更新所述主网络,得到更新后的所述主网络:
在一些实施方式中,所述调度器根据所述奖励使用经验回放法更新所述主网络,包括:
所述调度器执行所述动作后观察下一个时刻的环境状态,将当前时刻的所述环境状态、所述动作、所述奖励和下一个时刻的所述环境状态以元组的形式存入经验回放缓冲区(RB),得到经验数据;
所述调度器通过固定步长随机抽取所述经验数据,以mini-batch方法更新所述主网络。
具体的,深度强化学习框架下的神经网络要求数据独立且均匀分布才能发挥良好的性能,然而传统的Q-learning模型获得的数据之间存在相关性。为了打破数据之间的相关性,提高数据利用率,本申请的DQN模型采用经验回放法。参照表2算法2中伪代码的8-10行,调度器执行动作后,根据奖励函数获得所述动作的奖励r (t),调度器收到奖励r(t)后,开始观察下一个时刻的环境状态s (t + 1);调度器将当前时刻的环境状态、当前时刻选择的动作、当前时刻获得的奖励和下一个时刻的环境状态以的形式存入经验回放缓冲区(RB),这些被存储的元组即经验数据;调度器每隔k时间步以mini-batch方法随机选择一小批经验数据通过随机梯度下降法更新主网络的网络参数,表示为:
在一些实施方式中,所述调度器根据所述更新后的所述主网络使用随机梯度下降法更新所述目标网络,包括:
所述调度器每隔固定步长,使用随机梯度下降方法,将所述主网络的参数复制给所述目标网络。
具体的,参照表2算法2中伪代码的11-13行,其中Q为当前Q值,为目标Q值,所述调度器每隔步,通过使目标Q值等于当前Q值,将更新后的所述主网络的网络参数复制给目标网络,使用随机梯度下降法更新所述目标网络。
在一些实施方式中,所述DQN模型包括主网络和目标网络;
所述DQN模型的损失函数为:
具体的,Q-learning的损失函数基于Bellman函数,通过期望值与实际值的差值来评价模型的性能,Q-learning使用以下损失函数进行更新和学习:
DQN的更新方式类似于Q-learning,但DQN使用神经网络作为Q值的逼近函数。如图6为本说明书一个或多个实施例的基于DQN模型的调度器的学习过程示意图所示,DQN中有两种结构相同但参数不同的神经网络,即目标网络和主网络,主网络生成当前Q值,目标网络生成目标Q值。定义主网络生成的当前Q值为,表示评估当前状态-动作(state-action)对,其中s表示当前的环境状态和表示调度器由当前的环境状态a,表示目标网络的生成的目标Q值,通常被用来近似值的优化目标函数,即目标Q值,其计算方法为:
S4:所述接入点将所述处理后的所述任务发送给所述用户终端。
接入点将处理后的任务发送给之前将这一任务发送给它的用户终端,即原来的用户终端。
基于同一发明构思,本说明书一个或多个实施例还提供了一种边缘计算任务的在线分派调度系统,包括:用户终端,接入点和边缘服务器;
所述用户终端,被配置为将所述任务发送给所述接入点并接受所述接入点发送的处理后的所述任务;
所述接入点,被配置为根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器,再将处理后的所述任务反馈给所述接入点;其中,所述最优分派策略由多臂老虎机模型生成;
所述目标边缘服务器,被配置为根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点。
具体的,本申请提出的包括用户终端,接入点和边缘服务器的边缘计算任务的在线分派调度系统,接入点采用多臂老虎机模型multi-armed bandit (MAB)的方法,以任务的时延作为奖励,实时更新当前边缘网络状态和服务器负载状态,将任务分派给奖励最大的边缘服务器,有效提高调度效率,避免网络拥塞和服务器过载;边缘服务器结合了循环调度(RR)方法和Deep Q-Network(DQN)方法,通过神经网络学习过去的经验学习,将任务的处理时间和任务的等待时间都考虑在内,通过奖励函数评估的奖励最大化,生成最优调度策略,因此,每个边缘服务器可以根据任务的时间敏感性要求动态地为每个任务分派资源。
进一步的,本申请通过使用来自谷歌集群的大量真实数据,与基线进行比较,对本说明书提出的边缘计算任务的在线分派调度方法和系统的性能进行了各项性能评估。谷歌集群的数据集包括到达时间、处理时间和截止时间等信息。数据集由5000个的任务组成,将其分成十个不重叠的数据组,每个包含500个任务,见图7(a)。这些任务不仅包括大型任务,比如大数据分析和实时视频处理,还包括小任务,如图像处理在虚拟现实。由于每个数据组的任务到达密度、任务处理时间等特征不同,可以根据实验要求选择相应的数据组。使用真实的网络拓扑,随机选取10个点放置边缘服务器并进行仿真实验。
为了更好地评价OTDS的性能,反映OTDS在任务调度和调度方面的效率和公平性,本申请对以下三种baseline算法进行了对比实验:
分派baseline:为了展示本申请的分派方法的性能,本申请比较了三种baseline分派方法:
Nearest:分派任务Ti 去最近的边缘服务器。
Random:随机分派任务Ti去一个边缘服务器。
Least Load:分派任务去等待时间最小的边缘服务器。
调度baseline:为了展示本申请的调度方法的性能,本申请比较了三种baseline调度方法:
First-Come-First-Serve:根据任务到达时间的顺序处理任务。较早的任务处理得更早,而最后的任务处理得更晚。
Traditional Round-Robin:在处理池中为任务分派固定的计算资源,如果任务不能在给定的计算资源时间内完成,则再次在等待队列的尾部排队。
分派-调度baseline:本申请将分派和调度baseline结合来比较分派和调度的性能。它们分别是Nearest+ FCFS (NF)、Random + SJF (RS)和Least Load + RR (LR)。
进一步的,本申请通过评估结果来展示OTDS与baseline之间的性能以及任务效率和公平。
本申请选择数据组1进行实验和均匀到达边缘服务器任务,任务处理时间小于0.5秒,见图7(b)。具体来说,本申请使用数据组中前50、前100、…、前500个任务来分别比较不同方法的性能方面的平均任务响应时间和错过率。
如图7所示,对于调度方法,Least Load只考虑任务调度过程的计算资源,Nearest只考虑任务调度过程的网络资源。OTDS同时考虑计算和网络资源,从而获得最佳性能。由于Nearest只会将任务转移到最近的边缘服务器,因此由于边缘服务器的过载,平均任务响应时间和deadline错过率将非常大。而OTDS则根据当前网络带宽和服务器负载,动态地将任务分派给最优边缘服务器,以避免链路拥塞和服务器过载。
对于调度方法,本申请在单个边缘服务器上进行了体验,比较了不同调度方法的性能。FCFS是一种非抢占式的方法,将计算资源分派给最先到达边缘服务器的任务。然而,当任务继续到达边缘服务器时,后面的任务将等待更长的时间,从而导致错过它们的deadline。SJF的基本思想是赋予小任务更高的优先级。但是,较早到达边缘服务器的大型任务由于优先级低而无法获得计算资源,最终导致错过deadline。RR忽略了任务不同的时间敏感性要求,将计算资源平均分派给每个任务,导致大任务无法获得足够的资源而错过了deadline。OTDS的性能优于基线方法,它根据任务的时间敏感需求动态分派计算资源,并通过学习经验提高调度能力。
任务到达密度表示单位时间内到达边缘服务器的任务数量。如图8(a)-(f)所示,1到10表示不同的任务到达密度,1表示非常低的任务到达密度,10表示非常高的任务到达密度。通过对不同任务到达密度的任务进行实验,比较了不同算法的性能。
如图9(a)和(b)所示,本申请展示了基于DRL的调度器的学习过程。实验在密度为7的数据组上运行。调度程序根据奖励函数计算的奖励进行学习和迭代。图中每个点的值是选定点周围20个数据的平均值。在学习初期,任务的平均响应时间和任务的deadline错过率会迅速下降。随着学习集的增加,经过大约400幕的学习,算法可以收敛到一个相对稳定的状态。
如图10(a)-(f)所示,本申请根据平均任务响应时间和deadline错过率来衡量不同方法的性能。在分派方法中,OTDS和Least Load将任务分派到负载最小的服务器,因此边缘服务器可以应对任务密度增加带来的服务器过载压力。对于调度方法,随着任务到达密度的增加,任务的平均任务响应时间也增加。由于RR为每个任务分派相同的资源,因此每个任务的平均等待时间相对较大,从而导致其性能最差。OTDS可以根据卸载任务的时间敏感性要求调整调度策略,使平均响应时间最小化。因此,OTDS与其他方法相比具有最好的性能。此外,在deadline错过率方面,OTDS也有较好的效果。在相同的任务到达密度数据集上,deadline错过率比baseline低得多。
本申请通过不同数量的边缘服务器来比较不同方法的性能,见图11(a)和(b),当服务器数量很少(少于3台边缘服务器)时,deadline错过率非常高。这是因为已卸载的任务只分派给几个服务器,从而导致服务器过载。然而,随着服务器数量的增加,deadline错过率会降低,因为有更多的边缘服务器来卸载任务。在所有方法中,OTDS的性能最好。在5台服务器的情况下,deadline错过率可以接近0,而其他方法需要比OTDS多2 -3倍的边缘服务器才能达到同样的性能。
进一步的,本申请比较了不同方法对公平性的考虑。实验数据集包括500个任务,本申请比较不同算法的性能通过调整比例的大象在数据集。本申请定义任务的处理时间1.0-1.5秒为大象,任务的处理时间少于0.5秒为老鼠,并且大象和老鼠的数量在数据集中均匀分布。
如图12(a)和(b)所示,由于SJF首先处理小鼠,因此大象的平均任务响应时间要比其他方法大。RR没有考虑不同任务对时间敏感性的不同要求,将相同的计算资源分派给所有任务,导致大象需要多轮计算才能完成计算,因此性能最差。OTDS比RR方法和其他baseline方法有显著的改进。这是因为OTDS可以根据环境状态动态调度任务,从而使奖励函数所评估的奖励最大化。因此,OTDS可以在传统RR方法公平性的基础上提高效率。本申请可以看到,随着大象数量的增加,OTDS可以为大象分派足够的计算资源,防止大象出现严重的饥饿。
实验表明,OTDS分派任务的平均任务响应时间和deadline错过率均低于baseline,这是根据边缘网络带宽和边缘服务器负载进行动态调整的结果。它根据奖励r(t)更新手臂的权重,以便每次都能选择最优的手臂。
实验表明,在不同任务数量和任务密度下,OTDS计划的任务的平均任务响应时间和deadline错过率均低于baseline。通过不断的经验学习,OTDS可以在每一轮中做出最优的行动,从而在降低任务平均响应时间的同时,将deadline错过率保持在一个很低的水平。实验表明,随着到达边缘服务器的大任务数量的增加,OTDS比其他baseline方法能够更好地平衡大任务和小任务的资源使用,使所有任务都能获得足够的资源。因此,大型任务的平均任务响应时间低于baseline。
可以理解,该方法可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所属领域的普通技术上人员应当理解:以任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种边缘计算任务的在线分派调度方法,其特征在于,应用于边缘计算任务的在线
分派调度系统,所述在线分派调度系统包括:
用户终端,接入点和边缘服务器;
所述边缘计算任务的在线分派调度方法包括:
所述用户终端将任务发送给所述接入点;
所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器;其中,所述最优分派策略由多臂老虎机模型生成;
所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点;
所述接入点将所述处理后的所述任务发送给所述用户终端。
4.根据权利要求3所述的边缘计算任务的在线分派调度方法,其特征在于,所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,包括:
所述目标边缘服务器将所述任务存储至所述任务缓冲区等待处理;
所述目标边缘服务器将结束等待后的所述任务送入所述处理池;
所述目标边缘服务器通过最优调度策略对所述处理池中的所述任务进行处理;其中,所述最优调度策略由基于DQN模型的所述调度器产生。
8.根据权利要求7所述的边缘计算任务的在线分派调度方法,其特征在于,所述调度器根据所述奖励使用经验回放法更新所述主网络,包括:
所述调度器执行所述动作后观察下一个时刻的环境状态,将当前时刻的所述环境状态、所述动作、所述奖励和下一个时刻的所述环境状态以元组的形式存入经验回放缓冲区(RB),得到经验数据;
所述调度器通过固定步长随机抽取所述经验数据,以mini-batch方法更新所述主网络。
9.根据权利要求8所述的边缘计算任务的在线分派调度方法,其特征在于,所述调度器根据所述更新后的所述主网络使用随机梯度下降法更新所述目标网络,包括:
所述调度器每隔固定步长,使用随机梯度下降方法,将所述主网络的参数复制给所述目标网络。
10.一种边缘计算任务的在线分派调度系统,其特征在于,包括:用户终端,接入点和边缘服务器;
所述用户终端,被配置为将所述任务发送给所述接入点并接受所述接入点发送的处理后的所述任务;
所述接入点,被配置为根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器,再将处理后的所述任务反馈给所述接入点;其中,所述最优分派策略由多臂老虎机模型生成;
所述目标边缘服务器,被配置为根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110348337.1A CN112799823B (zh) | 2021-03-31 | 2021-03-31 | 边缘计算任务的在线分派调度方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110348337.1A CN112799823B (zh) | 2021-03-31 | 2021-03-31 | 边缘计算任务的在线分派调度方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799823A true CN112799823A (zh) | 2021-05-14 |
CN112799823B CN112799823B (zh) | 2021-07-23 |
Family
ID=75816104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110348337.1A Active CN112799823B (zh) | 2021-03-31 | 2021-03-31 | 边缘计算任务的在线分派调度方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112799823B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948101A (zh) * | 2021-05-17 | 2021-06-11 | 南京邮电大学 | 一种面向快速联邦学习的5g边缘设备调度方法 |
CN113448687A (zh) * | 2021-06-24 | 2021-09-28 | 山东大学 | 云环境下基于强化学习的超启发式任务调度方法及系统 |
CN113592327A (zh) * | 2021-08-05 | 2021-11-02 | 中国地质大学(武汉) | 车联网中针对任务分发的在线车辆选择方法、系统及终端 |
CN113596901A (zh) * | 2021-07-29 | 2021-11-02 | 西北大学 | 一种在线学习的并行边缘计算方法 |
CN115242796A (zh) * | 2022-06-15 | 2022-10-25 | 西安电子科技大学 | 一种面向云-边-端场景的任务调度方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773955A (zh) * | 2004-11-10 | 2006-05-17 | 华为技术有限公司 | 一种数据网络中的队列调度方法及装置 |
CN107038477A (zh) * | 2016-08-10 | 2017-08-11 | 哈尔滨工业大学深圳研究生院 | 一种非完备信息下的神经网络与q学习结合的估值方法 |
CN109905860A (zh) * | 2019-02-28 | 2019-06-18 | 华北电力大学 | 一种基于车辆雾计算的服务器招募及任务卸载优化方案 |
CN109947545A (zh) * | 2019-03-11 | 2019-06-28 | 重庆邮电大学 | 一种基于用户移动性的任务卸载及迁移的决策方法 |
WO2020247101A1 (en) * | 2019-06-04 | 2020-12-10 | Microsoft Technology Licensing, Llc | Cascaded video analytics for edge computing |
-
2021
- 2021-03-31 CN CN202110348337.1A patent/CN112799823B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1773955A (zh) * | 2004-11-10 | 2006-05-17 | 华为技术有限公司 | 一种数据网络中的队列调度方法及装置 |
CN107038477A (zh) * | 2016-08-10 | 2017-08-11 | 哈尔滨工业大学深圳研究生院 | 一种非完备信息下的神经网络与q学习结合的估值方法 |
CN109905860A (zh) * | 2019-02-28 | 2019-06-18 | 华北电力大学 | 一种基于车辆雾计算的服务器招募及任务卸载优化方案 |
CN109947545A (zh) * | 2019-03-11 | 2019-06-28 | 重庆邮电大学 | 一种基于用户移动性的任务卸载及迁移的决策方法 |
WO2020247101A1 (en) * | 2019-06-04 | 2020-12-10 | Microsoft Technology Licensing, Llc | Cascaded video analytics for edge computing |
Non-Patent Citations (3)
Title |
---|
JIAYING MENG; HAISHENG TAN; CHAO XU; WANLI CAO; LIUYAN LIU; BOJI: ""Dedas: Online Task Dispatching and Scheduling with Bandwidth Constraint in Edge Computing"", 《IEEE INFOCOM 2019 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS》 * |
李思峰: ""基于epsilon-greedy的边缘服务器选择模型"", 《无线互联科技》 * |
郭得科等: ""一种基于Qos约束的Web服务选择和排序模型"", 《上海交通大学学报》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112948101A (zh) * | 2021-05-17 | 2021-06-11 | 南京邮电大学 | 一种面向快速联邦学习的5g边缘设备调度方法 |
CN112948101B (zh) * | 2021-05-17 | 2021-10-26 | 南京邮电大学 | 一种面向快速联邦学习的5g边缘设备调度方法 |
CN113448687A (zh) * | 2021-06-24 | 2021-09-28 | 山东大学 | 云环境下基于强化学习的超启发式任务调度方法及系统 |
CN113448687B (zh) * | 2021-06-24 | 2022-07-26 | 山东大学 | 云环境下基于强化学习的超启发式任务调度方法及系统 |
CN113596901A (zh) * | 2021-07-29 | 2021-11-02 | 西北大学 | 一种在线学习的并行边缘计算方法 |
CN113596901B (zh) * | 2021-07-29 | 2024-03-08 | 西北大学 | 一种在线学习的并行边缘计算方法 |
CN113592327A (zh) * | 2021-08-05 | 2021-11-02 | 中国地质大学(武汉) | 车联网中针对任务分发的在线车辆选择方法、系统及终端 |
CN115242796A (zh) * | 2022-06-15 | 2022-10-25 | 西安电子科技大学 | 一种面向云-边-端场景的任务调度方法 |
CN115242796B (zh) * | 2022-06-15 | 2024-02-20 | 西安电子科技大学 | 一种面向云-边-端场景的任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112799823B (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112799823B (zh) | 边缘计算任务的在线分派调度方法和系统 | |
CN113950066B (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
Tang et al. | Deep reinforcement learning for task offloading in mobile edge computing systems | |
CN109561148B (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN107911478B (zh) | 基于化学反应优化算法的多用户计算卸载方法及装置 | |
CN109788046B (zh) | 一种基于改进蜂群算法的多策略边缘计算资源调度方法 | |
Yuan et al. | Online dispatching and fair scheduling of edge computing tasks: A learning-based approach | |
CN110069341A (zh) | 边缘计算中结合功能按需配置的有依赖关系任务的调度方法 | |
CN111104211A (zh) | 基于任务依赖的计算卸载方法、系统、设备及介质 | |
CN111143036A (zh) | 一种基于强化学习的虚拟机资源调度方法 | |
CN113867843A (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN110008015A (zh) | 边缘计算系统中有带宽限制的在线任务分派调度方法 | |
CN114928607B (zh) | 面向多边接入边缘计算的协同任务卸载方法 | |
CN112256413A (zh) | 基于物联网的边缘计算任务的调度方法和装置 | |
CN116886703A (zh) | 一种基于优先级和强化学习的云边端协作计算卸载方法 | |
CN113535393B (zh) | 异构边缘计算中卸载dag任务的计算资源分配方法 | |
Xu et al. | Online learning algorithms for offloading augmented reality requests with uncertain demands in MECs | |
CN113190342A (zh) | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 | |
CN117579701A (zh) | 一种移动边缘网络计算卸载方法及系统 | |
CN116302404B (zh) | 面向资源解耦合数据中心的服务器无感知计算调度方法 | |
CN112596910A (zh) | 一种多用户mec系统中的云计算资源调度方法 | |
CN116782249A (zh) | 具有用户依赖关系的边缘计算卸载及资源分配方法及系统 | |
CN115858048A (zh) | 一种面向混合关键级任务动态到达边缘卸载方法 | |
CN116302507A (zh) | 基于休假排队的应用服务动态部署与更新方法 | |
CN114706673A (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 |