CN112799823A - 边缘计算任务的在线分派调度方法和系统 - Google Patents

边缘计算任务的在线分派调度方法和系统 Download PDF

Info

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
Application number
CN202110348337.1A
Other languages
English (en)
Other versions
CN112799823B (zh
Inventor
郭得科
袁昊
郑龙
魏超
罗来龙
吴亚辉
唐国明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202110348337.1A priority Critical patent/CN112799823B/zh
Publication of CN112799823A publication Critical patent/CN112799823A/zh
Application granted granted Critical
Publication of CN112799823B publication Critical patent/CN112799823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/502Proximity

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个边缘服务器,记为
Figure 451775DEST_PATH_IMAGE001
,每个边缘服务器配置有多个应用程序/服务。定义有K个接入点(AP),位于蜂窝网络的多个基站(BS)或基站本身,每个基站都在一定半径网络范围内为用户终端提供服务(例如,一个宏基站为一公里),用户终端以无线方式将任务发送到接入点(AP),接入点将接入点覆盖区域内的用户终端发送的任务分派到边缘服务器,任务到达边缘服务器后在任务队列中等待处理。
边缘服务器放置在网络边缘,以便以较低的时延响应接收任务。它们存储和管理数据,计算和分析用户分派的任务。对于任意边缘服务器
Figure 300783DEST_PATH_IMAGE002
,定义
Figure 19340DEST_PATH_IMAGE003
Figure 473455DEST_PATH_IMAGE004
表示它的存储和计算资源(每秒处理的数据量)。受资源数量的限制,每个边缘服务器应该合理地分派资源,以最大限度地提高效率。本申请假定每个边缘服务器一次最多只能执行一个任务,并且不能将一个边缘服务器上的任务迁移到另一个边缘服务器上。
定义集合
Figure 986476DEST_PATH_IMAGE005
表示从用户终端卸载的任务,其中
Figure 322779DEST_PATH_IMAGE006
表示任务
Figure 828716DEST_PATH_IMAGE007
的大小。在边缘计算应用中,任务是时间敏感性的,因此受到截止时间deadline的限制,例如,自动/连接车辆,虚拟现实和实时检测。因此,定义
Figure 934075DEST_PATH_IMAGE008
表示用户终端要求的任务
Figure 617998DEST_PATH_IMAGE007
的截止时间deadline。
定义每个任务的总时延
Figure 379280DEST_PATH_IMAGE009
分为两部分:由任务分派决定的外部时延
Figure 501957DEST_PATH_IMAGE010
和由任务调度决定的内部时延
Figure 399506DEST_PATH_IMAGE011
对于具体的某个任务,定义任务
Figure 267711DEST_PATH_IMAGE007
的总时延为
Figure 578607DEST_PATH_IMAGE009
,任务
Figure 177078DEST_PATH_IMAGE007
的外部时延为
Figure 991451DEST_PATH_IMAGE012
,任务
Figure 282755DEST_PATH_IMAGE007
的内部时延为
Figure 18630DEST_PATH_IMAGE013
Figure 483109DEST_PATH_IMAGE014
Figure 338938DEST_PATH_IMAGE015
,则任务
Figure 863461DEST_PATH_IMAGE007
错过deadline,否则,任务
Figure 86632DEST_PATH_IMAGE007
赶上deadline;
外部时延
Figure 292485DEST_PATH_IMAGE016
包括上传时延
Figure 19133DEST_PATH_IMAGE017
和下载时延
Figure 714556DEST_PATH_IMAGE018
,因此,任务
Figure 644597DEST_PATH_IMAGE007
的外部时延可表示为:
Figure 450879DEST_PATH_IMAGE019
其中,
Figure 297612DEST_PATH_IMAGE020
表示用户终端将任务
Figure 898358DEST_PATH_IMAGE007
发送到接入点的时延;
Figure 96121DEST_PATH_IMAGE021
表示接入点将任务
Figure 378198DEST_PATH_IMAGE007
发送到边缘服务器的时延;
Figure 141755DEST_PATH_IMAGE022
表示边缘服务器将处理后的任务
Figure 100352DEST_PATH_IMAGE007
反馈给接入点的时延;
Figure 582149DEST_PATH_IMAGE023
表示接入点将处理后的任务
Figure 667917DEST_PATH_IMAGE007
发送给用户终端的时延。
用户终端首先以无线方式连接到最近的接入点,定义以下向量表示任务
Figure 285980DEST_PATH_IMAGE007
和接入点K之间的连接:
Figure 431790DEST_PATH_IMAGE024
其中
Figure 338567DEST_PATH_IMAGE025
为二值,
Figure 759184DEST_PATH_IMAGE026
表示任务
Figure 497333DEST_PATH_IMAGE007
将被传输到接入点 k
Figure 307987DEST_PATH_IMAGE027
表示任务
Figure 498797DEST_PATH_IMAGE007
未被传输到接入点 k。由于接入点提供的带宽是实时变化的,定义t时刻的带宽为:
Figure 926367DEST_PATH_IMAGE028
其中
Figure 519022DEST_PATH_IMAGE029
表示接入点 k提供的带宽(单位bit/s);定义任务传输到接入点的时延为传输时延,具体的,定义
Figure 6635DEST_PATH_IMAGE030
为接入点 k的传输时延;由于用户终端与接入点之间的距离相对较短(特别是在5G情况下),本申请假定在同一接入点覆盖区域内传输的任务具有相同的传输时延
Figure 684741DEST_PATH_IMAGE030
;因此,
Figure 650423DEST_PATH_IMAGE031
表示为:
Figure 97585DEST_PATH_IMAGE032
定义以下矩阵来表示任务
Figure 5367DEST_PATH_IMAGE007
在接入点和边缘服务器之间的传输:
Figure 170769DEST_PATH_IMAGE033
其中,
Figure 940142DEST_PATH_IMAGE034
为二值,
Figure 241811DEST_PATH_IMAGE035
表示任务
Figure 71226DEST_PATH_IMAGE007
将从接入点 k传输到边缘服务器,否则,
Figure 723924DEST_PATH_IMAGE036
。在任意时间t内,接入点与边缘服务器之间链路的带宽表示为:
Figure 31409DEST_PATH_IMAGE037
其中
Figure 453163DEST_PATH_IMAGE038
表示接入点 k与边缘服务器
Figure 204213DEST_PATH_IMAGE039
在t时刻的带宽(单位bit/s),
Figure 281890DEST_PATH_IMAGE040
表示接入点 k与边缘服务器
Figure 455382DEST_PATH_IMAGE039
没有连接。接入点 k与边缘服务器
Figure 731643DEST_PATH_IMAGE039
之间的每个链路都有一个传输时延
Figure 902861DEST_PATH_IMAGE041
,由二者的距离决定。
Figure 264572DEST_PATH_IMAGE021
表示为:
Figure 913860DEST_PATH_IMAGE042
其中
Figure 310206DEST_PATH_IMAGE043
符号表示hardamard积的操作(两个矩阵相应元素的乘法),
Figure 901593DEST_PATH_IMAGE044
Figure 750600DEST_PATH_IMAGE045
为L1-norm矩阵。本申请假定处理结果的数据量较小,只考虑结果下载过程中的传输时延,即
Figure 203578DEST_PATH_IMAGE046
Figure 454431DEST_PATH_IMAGE047
本申请基于循环调度方法(RR)设计了一种多队列加权循环调度模型,如图3为本说明书一个或多个实施例的多队列加权循环调度模型的部分示意图所示,包括任务缓冲区和处理池。多队列加权循环调度模型中包含两种队列:至少一个任务等待队列,存储有到达边缘服务器的尚未完成的任务;多个任务完成队列,用于存储多个任务中已完成(部分)的结果。具体的:每次等待队列中的第一个任务进入处理池进行处理,在边缘服务器
Figure 967452DEST_PATH_IMAGE039
上具有(固定的)
Figure 303756DEST_PATH_IMAGE048
计算能力;任务完成队列只存储同一任务的结果,因此只有当前任务完成后,新任务才能进入任务完成队列。
在多队列加权循环调度模型中,定义任务
Figure 560425DEST_PATH_IMAGE007
在边缘服务器内的时延为内部时延
Figure 665784DEST_PATH_IMAGE049
,内部时延
Figure 97509DEST_PATH_IMAGE049
包括等待时延
Figure 655529DEST_PATH_IMAGE050
和处理时延
Figure 715889DEST_PATH_IMAGE051
Figure 675755DEST_PATH_IMAGE052
其中,等待时延
Figure 530578DEST_PATH_IMAGE050
为任务
Figure 841474DEST_PATH_IMAGE007
在任务缓冲区等待时间,处理时延
Figure 439945DEST_PATH_IMAGE051
为任务
Figure 254318DEST_PATH_IMAGE007
在处理池中的处理时间。任务
Figure 794889DEST_PATH_IMAGE007
在边缘服务器
Figure 61923DEST_PATH_IMAGE039
内(离开边缘服务器时)的处理时延
Figure 260823DEST_PATH_IMAGE051
表示为:
Figure 132964DEST_PATH_IMAGE053
其中
Figure 860748DEST_PATH_IMAGE054
表示边缘服务器
Figure 349499DEST_PATH_IMAGE039
的计算能力(即每秒处理的数据量)。
定义
Figure 617669DEST_PATH_IMAGE055
为处理任务
Figure 609896DEST_PATH_IMAGE007
时分派的计算资源(或分派计算量),
Figure 993735DEST_PATH_IMAGE055
是一个实值变量,表示处理池中每次迭代将处理任务
Figure 438623DEST_PATH_IMAGE007
的时间长度。本申请设定相同的任务在每次迭代中分派相同的计算资源。任务
Figure 244905DEST_PATH_IMAGE007
在等待队列中的等待时间
Figure 826059DEST_PATH_IMAGE050
表示为:
Figure 692383DEST_PATH_IMAGE056
其中,
Figure 358988DEST_PATH_IMAGE057
Figure 968961DEST_PATH_IMAGE058
为任务
Figure 919468DEST_PATH_IMAGE007
需要经过的最大迭代次数;
Figure 691115DEST_PATH_IMAGE059
Figure 110595DEST_PATH_IMAGE060
表示任务是否已在m轮迭代中完成,若
Figure 993101DEST_PATH_IMAGE061
,则任务在m轮迭代中完成,若
Figure 814426DEST_PATH_IMAGE062
则任务在m轮迭代中无法完成。
由于每个边缘服务器的存储资源有限,任务等待队列中同时等待的任务数量受到限制。分派给边缘服务器
Figure 756974DEST_PATH_IMAGE039
的任务保持以下约束:
Figure 398171DEST_PATH_IMAGE063
其中,
Figure 84368DEST_PATH_IMAGE064
Figure 556937DEST_PATH_IMAGE065
分别为边缘服务器
Figure 621452DEST_PATH_IMAGE066
上任务等待队列和第n个任务完成队列的存储容量,
Figure 812262DEST_PATH_IMAGE067
为任务
Figure 239832DEST_PATH_IMAGE007
中已完成部分结果的数据大小。特别是任务等待队列中的任务需要进一步满足以下约束:
Figure 832487DEST_PATH_IMAGE068
其中,
Figure 320100DEST_PATH_IMAGE069
为等待队列中的任务集,
Figure 732627DEST_PATH_IMAGE070
Figure 963888DEST_PATH_IMAGE071
中任务的数量。此外,第n个任务完成队列中每个任务的完成部分的结果应满足以下约束:
Figure 411050DEST_PATH_IMAGE072
其中,
Figure 318832DEST_PATH_IMAGE073
为第n个完成队列中的任务。
更短的时延意味着更好的服务质量QoS,因此,为了给用户提供更高的QoS,应最小化任务分派和任务调度过程中的平均时延D,所以边缘计算任务的在线分派调度方法的目标函数为外部时延
Figure 687497DEST_PATH_IMAGE074
和内部时延
Figure 519186DEST_PATH_IMAGE075
组成的所有任务的平均时延:
Figure 758538DEST_PATH_IMAGE076
任务
Figure 650271DEST_PATH_IMAGE007
在接入点与边缘服务器之间的传输矩阵和分派的计算资源qi是未知变量,当目标函数最小时则此时的调度策略最佳。
经上述定义,任务分派和任务调度过程即:用户终端将任务
Figure 975073DEST_PATH_IMAGE007
发送给接入点;接入点接收后将任务
Figure 610453DEST_PATH_IMAGE007
发送给边缘服务器
Figure 766628DEST_PATH_IMAGE039
;经
Figure 517678DEST_PATH_IMAGE077
的外部时延由用户终端到达边缘服务器
Figure 392093DEST_PATH_IMAGE039
;任务
Figure 503268DEST_PATH_IMAGE007
在任务等待队列中等待
Figure 779529DEST_PATH_IMAGE078
时间,并在处理池中处理
Figure 950747DEST_PATH_IMAGE079
时间,处理结束后边缘服务器
Figure 312458DEST_PATH_IMAGE039
将处理后的任务
Figure 227325DEST_PATH_IMAGE007
反馈给接入点;接入点将处理后的任务
Figure 623671DEST_PATH_IMAGE007
发送给用户终端,经
Figure 215058DEST_PATH_IMAGE080
的外部时延由从目标边缘服务器
Figure 798486DEST_PATH_IMAGE039
到达用户终端。
所述边缘计算任务的在线分派调度方法包括:
S1:所述用户终端将任务发送给所述接入点;
具体的,用户终端以无线方式将任务发送到它覆盖范围内的位于蜂窝网络的多个基站(BS)或基站本身上的接入点,每个基站都在一定半径内为用户终端提供服务(例如,一个宏基站为一公里)。
S2:所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器;其中,所述最优分派策略由多臂老虎机模型生成;
具体的,在多臂老虎机模型中,最基本的组成部分是手臂,运行时从所有手臂中选择奖励最高的手臂作为目标手臂。本申请将边缘服务器视为手臂,定义
Figure 517044DEST_PATH_IMAGE081
表示J个臂的集合也即J个边缘服务器的集合,基于之前t-1次手臂所获的奖励选择目标手臂,将目标边缘服务器视为目标手臂,使用置信区间上界算法决定每次选置信度上界最高的手臂作为目标手臂也即目标边缘服务器。
在一些实施方式中,其中,所述多队列加权循环调度模型包括:调度器、任务缓冲区和处理池;
所述奖励包括外部奖励与加权后的内部奖励,在t时刻时:
Figure 767896DEST_PATH_IMAGE082
其中,
Figure 280917DEST_PATH_IMAGE083
为权重,
Figure 351641DEST_PATH_IMAGE084
为外部奖励,
Figure 608310DEST_PATH_IMAGE085
为内部奖励;
所述外部奖励
Figure 713670DEST_PATH_IMAGE086
为:
Figure 194330DEST_PATH_IMAGE087
其中,
Figure 703415DEST_PATH_IMAGE088
为所述任务从所述接入点到所述边缘服务器j的时延,
Figure 560513DEST_PATH_IMAGE089
为所述任务从所述边缘服务器j到所述接入点的时延;
所述内部奖励
Figure 723641DEST_PATH_IMAGE090
为:
Figure 640781DEST_PATH_IMAGE091
其中,
Figure 623781DEST_PATH_IMAGE092
为所述任务在所述处理池中的处理时延,
Figure 284569DEST_PATH_IMAGE093
为内部时延,
Figure 302204DEST_PATH_IMAGE094
Figure 390245DEST_PATH_IMAGE095
Figure 109809DEST_PATH_IMAGE096
为所述任务在所述任务缓冲区的等待时延。
具体的,如图5为本说明书一个或多个实施例的结合了深度强化学习的多队列加权循环调度模型示意图所示,所述多队列加权循环调度模型包括:调度器、任务缓冲区和处理池。
对于任务Ti,手臂jt时刻获得的奖励包括外部奖励
Figure 574288DEST_PATH_IMAGE097
和加权后的内部奖励
Figure 446429DEST_PATH_IMAGE098
Figure 705372DEST_PATH_IMAGE099
奖励
Figure 662964DEST_PATH_IMAGE100
为:
Figure 931134DEST_PATH_IMAGE101
其中,
Figure 657782DEST_PATH_IMAGE102
为权重,只有当任务Ti完成处理并返回用户终端设备时,手臂j的权重才会更新,否则,它将保持当前权重。
为了提高算法的效率,本申请在多臂老虎机模型MAB中引入了悔度,悔度是t时刻的最优手臂
Figure 822047DEST_PATH_IMAGE103
和t时刻被选择手臂j(t)之间的奖励差异。最优手臂是由预定义的掌握全局所有网络状态和边缘服务器的参数的Oracle策略选择得到的,
Figure 329251DEST_PATH_IMAGE104
Figure 823949DEST_PATH_IMAGE105
。由于Oracle总是掌握参数
Figure 467420DEST_PATH_IMAGE106
Figure 271428DEST_PATH_IMAGE098
,所以它可以一直选择最优的手臂。
手臂选择策略的原则是使奖励最大或使悔度最小;具体的,对于原则是使奖励最大的手臂选择策略,目标函数是:
Figure 349DEST_PATH_IMAGE107
其中,
Figure 548005DEST_PATH_IMAGE108
是选择的手臂j获得的总奖励,定义为:
Figure 45983DEST_PATH_IMAGE109
其中,
Figure 20892DEST_PATH_IMAGE110
表示期望,j(t)t时刻选择的手臂,
Figure 237110DEST_PATH_IMAGE111
t时刻选择的手臂获得的奖励,
Figure 572145DEST_PATH_IMAGE112
t时刻选择的最优手臂获得的奖励;
对于原则是使悔度最小的手臂选择策略,目标函数是:
Figure 924629DEST_PATH_IMAGE113
其中,
Figure 132756DEST_PATH_IMAGE114
为选择的手臂j的获得的总悔度,定义为:
Figure 773953DEST_PATH_IMAGE115
在一些实施方式中,所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,具体包括:
对于每个所述边缘服务器,计算其置信区间上界;所述置信区间上界的计算公式为:
Figure 725729DEST_PATH_IMAGE116
;其中,
Figure 135982DEST_PATH_IMAGE117
为边缘服务器 j的选择次数,c为控制探索利用平衡的参数,
Figure 515010DEST_PATH_IMAGE117
为边缘服务器j累积时刻的奖励均值,其计算公式为:
Figure 643503DEST_PATH_IMAGE118
其中,
Figure 133390DEST_PATH_IMAGE119
为边缘服务器
Figure 423250DEST_PATH_IMAGE120
在i时刻获得的奖励;
将所述置信区间上界最大的所述边缘服务器确定为所述目标边缘服务器。
具体的,在本申请的一个实施例中,基于置信区间上界(UCB)算法,使用奖励最大原则作为手臂选择策略,奖励本质上是均值的标准差,反映了候选手臂的不稳定性,是置信区间的上界,因此置信区间上界算法选择手臂中的获得最大平均奖励值(包含奖励:手臂j在前面t-1时间的奖励)的手臂也即置信区间的上界最大的手臂作为目标手臂,定义为:
Figure 707601DEST_PATH_IMAGE121
其中,
Figure 323390DEST_PATH_IMAGE122
为边缘服务器 j的选择次数,c为控制探索利用平衡的参数,
Figure 351389DEST_PATH_IMAGE122
为边缘服务器j累积时刻的奖励均值。目标手臂所对应的目标边缘服务器即置信区间的上界最大的边缘服务器,将其作为目标边缘服务器。具体的算法见如下表1,在线任务分派算法:
表1:算法1,在线任务分派算法
Figure 798551DEST_PATH_IMAGE123
其中,伪代码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值。
在一些实施方式中,所述最优调度策略通过以下方法生成:
所述调度器获取存储在所述处理池和所述任务缓冲区的任务的基本信息;
所述调度器从所述基本信息中实时获取环境状态;
所述调度器根据当前时刻的所述环境状态,以
Figure 457065DEST_PATH_IMAGE124
方法执行Q值最大的动作,生成所述最优调度策略;
所述调度器根据奖励函数获得所述动作的奖励;
所述调度器根据所述奖励使用经验回放法更新所述主网络,得到更新后的所述主网络;
所述调度器根据所述更新后的所述主网络使用随机梯度下降法更新所述目标网络。
具体的,所述调度器获取存储在所述处理池和所述任务缓冲区的任务的基本信息:
当任务进入边缘服务器,调度器获取处理池中当前处理的任务和任务缓冲区任务等待队列中的任务的基本参数信息(如任务大小、截止时间等)。
具体的,所述调度器从所述基本信息中实时获取环境状态:
调度器根据处理池中当前处理的任务和任务缓冲区任务等待队列中的任务的基本参数信息,生成深度强化学习(DRL)中的状态(State)即本申请中的环境状态;对于具体的某一边缘服务器,边缘服务器
Figure 356888DEST_PATH_IMAGE002
中的环境状态表示为
Figure 126261DEST_PATH_IMAGE125
Figure 693509DEST_PATH_IMAGE126
,其中
Figure 772192DEST_PATH_IMAGE127
表示t时刻处理池中处理的任务的剩余处理时间,
Figure 159311DEST_PATH_IMAGE128
表示t时刻处理池中处理的任务的等待时间,
Figure 732375DEST_PATH_IMAGE129
(t)表示任务等待队列中的任务的等待时间。
表2:算法2,基于深度强化学习(DRL)的任务调度算法
Figure 154129DEST_PATH_IMAGE130
具体的,所述调度器根据当前时刻的所述环境状态,以
Figure 154446DEST_PATH_IMAGE131
方法执行Q值最大的动作,生成所述最优调度策略:
参照表2为算法2基于深度强化学习(DRL)的任务调度算法,调度器通过观察根据当前时刻的环境状态s (t),以
Figure 28861DEST_PATH_IMAGE131
的方法选择动作a(t);具体的,如表2中伪代码的6-7行,以
Figure 140037DEST_PATH_IMAGE132
的概率选择
Figure 150718DEST_PATH_IMAGE133
值最大的动作,以
Figure 384253DEST_PATH_IMAGE134
的概率随机选择动作;任务调度的关键是选择将多少计算资源分派给当前任务的量,即当前任务将被服务多长时间,动作a(t)即选择将多少的计算资源
Figure 434380DEST_PATH_IMAGE135
分派给边缘服务器Ej中的任务
Figure 411563DEST_PATH_IMAGE007
;此外,计算资源
Figure 480013DEST_PATH_IMAGE135
应小于处理池中任务的剩余处理时间,即
Figure 884450DEST_PATH_IMAGE136
本申请中的最优调度策略即深度强化学习中的策略(Policy),策略(Policy)定义了从状态到动作的映射关系,即:
Figure 671140DEST_PATH_IMAGE137
,其中S和A分别表示状态空间和动作空间。在本申请中,最优调度策略调表示调度器根据t时刻的环境状态动作
Figure 638965DEST_PATH_IMAGE138
选择动作
Figure 561922DEST_PATH_IMAGE139
,即动作
Figure 137260DEST_PATH_IMAGE140
由这一时刻的环境状态
Figure 411246DEST_PATH_IMAGE138
映射得到:
Figure 730232DEST_PATH_IMAGE141
具体的,所述调度器根据奖励函数获得所述动作的奖励:
调度器执行动作
Figure 773274DEST_PATH_IMAGE139
后,根据奖励函数获得所述动作的奖励r (t);
在一些实施方式中,所述奖励函数,定义如下:
Figure 519513DEST_PATH_IMAGE142
其中
Figure 28599DEST_PATH_IMAGE143
为权重,
Figure 885696DEST_PATH_IMAGE144
,s(t)为某一时刻的环境状态,a(t)为某一时刻的动作;
Figure 783245DEST_PATH_IMAGE145
表示所述任务缓冲区中任务的平均等待时间;
Figure 965965DEST_PATH_IMAGE146
表示所述处理池中任务的平均处理时间。
具体的,调度器执行动作
Figure 948964DEST_PATH_IMAGE139
后,奖励函数对动作
Figure 609753DEST_PATH_IMAGE140
进行评价,得到所述动作
Figure 627387DEST_PATH_IMAGE139
的奖励r (t),调度器收到奖励r (t)后,开始观察下一个时刻的环境状态s (t +1)。对动作
Figure 715429DEST_PATH_IMAGE139
进行评价的奖励函数定义为:
Figure 434992DEST_PATH_IMAGE147
其中
Figure 899472DEST_PATH_IMAGE143
为权重,
Figure 771613DEST_PATH_IMAGE144
Figure 30556DEST_PATH_IMAGE145
为在任务缓冲区的任务的平均等待时间,
Figure 988148DEST_PATH_IMAGE148
,它表示长期和全局的奖励,当调度器做出正向的决策时,就可以将合适的计算资源分派给任务,这样所有任务的平均等待时间就会缩短;
Figure 990739DEST_PATH_IMAGE149
为所述处理池中任务的平均处理时间,
Figure 717386DEST_PATH_IMAGE150
Figure 412810DEST_PATH_IMAGE151
,它表示短期和局部的奖励,调度策略应允许大多数任务在一定时间内被处理,避免因为处理时间过长超过截止时间。
在时刻t,调度器通过奖励函数
Figure 608430DEST_PATH_IMAGE152
Figure 149133DEST_PATH_IMAGE140
返回的奖励r(t)来评估动作
Figure 995866DEST_PATH_IMAGE139
的执行情况。基于深度强化学习框架的调度器的目标函数是预期总奖励最大化,计算表示为:
Figure 596612DEST_PATH_IMAGE153
其中
Figure 528796DEST_PATH_IMAGE154
为折扣累计因子,
Figure 873189DEST_PATH_IMAGE155
由于调度器的目标是预期总奖励最大化,因此调度器倾向选择可得到最高奖励的动作,即作出最优策略。
具体的,所述调度器根据所述奖励使用经验回放法更新所述主网络,得到更新后的所述主网络:
在一些实施方式中,所述调度器根据所述奖励使用经验回放法更新所述主网络,包括:
所述调度器执行所述动作后观察下一个时刻的环境状态,将当前时刻的所述环境状态、所述动作、所述奖励和下一个时刻的所述环境状态以元组的形式存入经验回放缓冲区(RB),得到经验数据;
所述调度器通过固定步长随机抽取所述经验数据,以mini-batch方法更新所述主网络。
具体的,深度强化学习框架下的神经网络要求数据独立且均匀分布才能发挥良好的性能,然而传统的Q-learning模型获得的数据之间存在相关性。为了打破数据之间的相关性,提高数据利用率,本申请的DQN模型采用经验回放法。参照表2算法2中伪代码的8-10行,调度器执行动作
Figure 574429DEST_PATH_IMAGE140
后,根据奖励函数获得所述动作的奖励r (t),调度器收到奖励r(t)后,开始观察下一个时刻的环境状态s (t + 1);调度器将当前时刻的环境状态
Figure 611655DEST_PATH_IMAGE156
、当前时刻选择的动作
Figure 14823DEST_PATH_IMAGE157
、当前时刻获得的奖励
Figure 162908DEST_PATH_IMAGE158
和下一个时刻的环境状态
Figure 718654DEST_PATH_IMAGE159
Figure 661203DEST_PATH_IMAGE160
的形式存入经验回放缓冲区(RB),这些被存储的元组即经验数据;调度器每隔k时间步以mini-batch方法随机选择一小批经验数据
Figure 364716DEST_PATH_IMAGE160
通过随机梯度下降法更新主网络的网络参数
Figure 988596DEST_PATH_IMAGE161
,表示为:
Figure 726745DEST_PATH_IMAGE162
其中,
Figure 43456DEST_PATH_IMAGE163
是学习速率,
Figure 234266DEST_PATH_IMAGE164
是更新前的主网络的网络参数,
Figure 409639DEST_PATH_IMAGE165
是更新后的主网络的网络参数,
Figure 736715DEST_PATH_IMAGE166
为损失函数。
在一些实施方式中,所述调度器根据所述更新后的所述主网络使用随机梯度下降法更新所述目标网络,包括:
所述调度器每隔固定步长,使用随机梯度下降方法,将所述主网络的参数复制给所述目标网络。
具体的,参照表2算法2中伪代码的11-13行,其中Q为当前Q值,
Figure 224329DEST_PATH_IMAGE167
为目标Q值,所述调度器每隔
Figure 902435DEST_PATH_IMAGE168
步,通过使目标Q值等于当前Q值,将更新后的所述主网络的网络参数复制给目标网络,使用随机梯度下降法更新所述目标网络。
在一些实施方式中,所述DQN模型包括主网络和目标网络;
所述DQN模型的损失函数为:
Figure 930434DEST_PATH_IMAGE169
其中
Figure 315278DEST_PATH_IMAGE170
为所述主网络的参数,
Figure 770531DEST_PATH_IMAGE171
为所述主网络生成的评估当前环境状态
Figure 873616DEST_PATH_IMAGE172
和动作
Figure 705306DEST_PATH_IMAGE173
的当前Q值,
Figure 459504DEST_PATH_IMAGE174
为所述目标网络生成的目标Q值,其计算公式为:
Figure 85657DEST_PATH_IMAGE175
其中,
Figure 676039DEST_PATH_IMAGE176
为所述目标网络的参数,
Figure 311419DEST_PATH_IMAGE177
是折扣累计因子,
Figure 405277DEST_PATH_IMAGE178
为下一时刻环境状态
Figure 467911DEST_PATH_IMAGE179
和下一时刻动作
Figure 280009DEST_PATH_IMAGE180
的Q值,
Figure 453502DEST_PATH_IMAGE181
是奖励。
具体的,Q-learning的损失函数基于Bellman函数,通过期望值与实际值的差值来评价模型的性能,Q-learning使用以下损失函数进行更新和学习:
Figure 729762DEST_PATH_IMAGE182
Figure 651713DEST_PATH_IMAGE183
其中,
Figure 13424DEST_PATH_IMAGE184
学习率,
Figure 928291DEST_PATH_IMAGE177
是折扣累计因子,
Figure 59058DEST_PATH_IMAGE185
表示根据下一个时刻的状态
Figure 401177DEST_PATH_IMAGE179
中选择Q值最大的动作
Figure 250185DEST_PATH_IMAGE180
Figure 703163DEST_PATH_IMAGE186
是Q值的估计值,
Figure 954015DEST_PATH_IMAGE187
是真实的Q值。
DQN的更新方式类似于Q-learning,但DQN使用神经网络作为Q值的逼近函数。如图6为本说明书一个或多个实施例的基于DQN模型的调度器的学习过程示意图所示,DQN中有两种结构相同但参数不同的神经网络,即目标网络和主网络,主网络生成当前Q值,目标网络生成目标Q值。定义主网络生成的当前Q值为
Figure 716304DEST_PATH_IMAGE171
,表示评估当前状态-动作(state-action)对,其中s表示当前的环境状态和
Figure 52607DEST_PATH_IMAGE173
表示调度器由当前的环境状态a,
Figure 106014DEST_PATH_IMAGE167
表示目标网络的生成的目标Q值,
Figure 149056DEST_PATH_IMAGE188
通常被用来近似值的优化目标函数,即目标Q值,其计算方法为:
Figure 895296DEST_PATH_IMAGE189
其中,
Figure 390999DEST_PATH_IMAGE176
为目标网络的网络参数,其中
Figure 513676DEST_PATH_IMAGE176
为所述目标网络的参数,
Figure 411225DEST_PATH_IMAGE177
是折扣累计因子,
Figure 328365DEST_PATH_IMAGE190
为下一时刻环境状态
Figure 324746DEST_PATH_IMAGE179
和下一时刻动作
Figure 985535DEST_PATH_IMAGE180
的Q值,
Figure 737590DEST_PATH_IMAGE181
是奖励。
DQN的损失函数
Figure 91211DEST_PATH_IMAGE191
为:
Figure 561507DEST_PATH_IMAGE192
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:根据任务到达时间的顺序处理任务。较早的任务处理得更早,而最后的任务处理得更晚。
Shortest-Job-First:根据T中任务的处理时间
Figure 760407DEST_PATH_IMAGE193
对任务进行调度。
Figure 429286DEST_PATH_IMAGE193
较小的任务被提前处理,而
Figure 891491DEST_PATH_IMAGE193
较大的任务被推迟处理。
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的数据组上运行。调度程序根据奖励函数
Figure 911400DEST_PATH_IMAGE194
计算的奖励进行学习和迭代。图中每个点的值是选定点周围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.一种边缘计算任务的在线分派调度方法,其特征在于,应用于边缘计算任务的在线
分派调度系统,所述在线分派调度系统包括:
用户终端,接入点和边缘服务器;
所述边缘计算任务的在线分派调度方法包括:
所述用户终端将任务发送给所述接入点;
所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器;其中,所述最优分派策略由多臂老虎机模型生成;
所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点;
所述接入点将所述处理后的所述任务发送给所述用户终端。
2.根据权利要求1所述的边缘计算任务的在线分派调度方法,其特征在于,所述接入点根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,具体包括:
对于每个所述边缘服务器,计算其置信区间上界;所述置信区间上界的计算公式为:
Figure 582899DEST_PATH_IMAGE001
;其中,
Figure 336092DEST_PATH_IMAGE002
为边缘服务器 j的选择次数,c为控制探索利用平衡的参数,
Figure 217460DEST_PATH_IMAGE003
为边缘服务器j累积时刻的奖励均值,其计算公式为:
Figure 979880DEST_PATH_IMAGE004
其中,
Figure 879571DEST_PATH_IMAGE005
为边缘服务器
Figure 69244DEST_PATH_IMAGE006
在i时刻获得的奖励;
将所述置信区间上界最大的所述边缘服务器确定为所述目标边缘服务器。
3.根据权利要求2所述的边缘计算任务的在线分派调度方法,其特征在于,所述多队列加权循环调度模型包括:调度器、任务缓冲区和处理池;
所述奖励包括外部奖励与加权后的内部奖励,在t时刻时:
Figure 437909DEST_PATH_IMAGE007
其中,
Figure 738440DEST_PATH_IMAGE008
为权重,
Figure 243371DEST_PATH_IMAGE009
为外部奖励,
Figure 853212DEST_PATH_IMAGE010
为内部奖励;
所述外部奖励
Figure 709173DEST_PATH_IMAGE009
为:
Figure 547816DEST_PATH_IMAGE011
其中,
Figure 438412DEST_PATH_IMAGE012
为所述任务从所述接入点到所述边缘服务器j的时延,
Figure 704308DEST_PATH_IMAGE013
为所述任务从所述边缘服务器j到所述接入点的时延;
所述内部奖励
Figure 47565DEST_PATH_IMAGE010
为:
Figure 673587DEST_PATH_IMAGE014
其中,
Figure 418689DEST_PATH_IMAGE015
为所述任务在所述处理池中的处理时延,
Figure 855487DEST_PATH_IMAGE016
为内部时延,
Figure 686039DEST_PATH_IMAGE017
Figure 866485DEST_PATH_IMAGE018
Figure 980940DEST_PATH_IMAGE019
为所述任务在所述任务缓冲区的等待时延。
4.根据权利要求3所述的边缘计算任务的在线分派调度方法,其特征在于,所述目标边缘服务器根据多队列加权循环调度模型对所述任务进行处理,包括:
所述目标边缘服务器将所述任务存储至所述任务缓冲区等待处理;
所述目标边缘服务器将结束等待后的所述任务送入所述处理池;
所述目标边缘服务器通过最优调度策略对所述处理池中的所述任务进行处理;其中,所述最优调度策略由基于DQN模型的所述调度器产生。
5.根据权利要求4所述的边缘计算任务的在线分派调度方法,其特征在于,所述DQN模型包括主网络和目标网络;
所述DQN模型的损失函数为:
Figure 588639DEST_PATH_IMAGE020
其中
Figure 640909DEST_PATH_IMAGE021
为所述主网络的参数,
Figure 625045DEST_PATH_IMAGE022
为所述主网络生成的评估当前环境状态
Figure 344740DEST_PATH_IMAGE023
和动作
Figure 388919DEST_PATH_IMAGE024
的当前Q值,
Figure 912173DEST_PATH_IMAGE025
为所述目标网络生成的目标Q值,其计算公式为:
Figure 700001DEST_PATH_IMAGE026
其中
Figure 274201DEST_PATH_IMAGE027
为所述目标网络的参数,
Figure 223703DEST_PATH_IMAGE028
是折扣累计因子,
Figure 516144DEST_PATH_IMAGE029
为下一时刻环境状态
Figure 825771DEST_PATH_IMAGE030
和下一时刻动作
Figure 520058DEST_PATH_IMAGE031
的Q值,
Figure 640461DEST_PATH_IMAGE032
是奖励。
6.根据权利要求5所述的边缘计算任务的在线分派调度方法,其特征在于,所述最优调度策略通过以下方法生成:
所述调度器获取存储在所述处理池和所述任务缓冲区的任务的基本信息;
所述调度器从所述基本信息中实时获取环境状态;
所述调度器根据当前时刻的所述环境状态,以
Figure 889039DEST_PATH_IMAGE033
方法执行Q值最大的动作,生成所述最优调度策略;
所述调度器根据奖励函数获得所述动作的奖励;
所述调度器根据所述奖励使用经验回放法更新所述主网络,得到更新后的所述主网络;
所述调度器根据所述更新后的所述主网络使用随机梯度下降法更新所述目标网络。
7.根据权利要求6所述的一种边缘计算任务的在线分派调度方法,其特征在于,所述奖励函数,定义如下:
Figure 18669DEST_PATH_IMAGE034
其中
Figure 567462DEST_PATH_IMAGE035
为权重,
Figure 113893DEST_PATH_IMAGE036
,s(t)为某一时刻的环境状态,a(t)为某一时刻的动作;
Figure 849768DEST_PATH_IMAGE037
表示所述任务缓冲区中任务的平均等待时间;
Figure 783089DEST_PATH_IMAGE038
表示所述处理池中任务的平均处理时间。
8.根据权利要求7所述的边缘计算任务的在线分派调度方法,其特征在于,所述调度器根据所述奖励使用经验回放法更新所述主网络,包括:
所述调度器执行所述动作后观察下一个时刻的环境状态,将当前时刻的所述环境状态、所述动作、所述奖励和下一个时刻的所述环境状态以元组的形式存入经验回放缓冲区(RB),得到经验数据;
所述调度器通过固定步长随机抽取所述经验数据,以mini-batch方法更新所述主网络。
9.根据权利要求8所述的边缘计算任务的在线分派调度方法,其特征在于,所述调度器根据所述更新后的所述主网络使用随机梯度下降法更新所述目标网络,包括:
所述调度器每隔固定步长,使用随机梯度下降方法,将所述主网络的参数复制给所述目标网络。
10.一种边缘计算任务的在线分派调度系统,其特征在于,包括:用户终端,接入点和边缘服务器;
所述用户终端,被配置为将所述任务发送给所述接入点并接受所述接入点发送的处理后的所述任务;
所述接入点,被配置为根据最优分派策略从若干所述边缘服务器选择目标边缘服务器,并将所述任务分派到所述目标边缘服务器,再将处理后的所述任务反馈给所述接入点;其中,所述最优分派策略由多臂老虎机模型生成;
所述目标边缘服务器,被配置为根据多队列加权循环调度模型对所述任务进行处理,并将处理后的所述任务反馈给所述接入点。
CN202110348337.1A 2021-03-31 2021-03-31 边缘计算任务的在线分派调度方法和系统 Active CN112799823B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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