CN116782298A - 一种在云边系统中实现资源抢占式卸载方法 - Google Patents
一种在云边系统中实现资源抢占式卸载方法 Download PDFInfo
- Publication number
- CN116782298A CN116782298A CN202310773445.2A CN202310773445A CN116782298A CN 116782298 A CN116782298 A CN 116782298A CN 202310773445 A CN202310773445 A CN 202310773445A CN 116782298 A CN116782298 A CN 116782298A
- Authority
- CN
- China
- Prior art keywords
- subtask
- time
- execution time
- subtasks
- historical
- 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 50
- 230000005540 biological transmission Effects 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 39
- 239000002243 precursor Substances 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 abstract 1
- 230000000875 corresponding effect Effects 0.000 description 61
- 238000004422 calculation algorithm Methods 0.000 description 38
- 238000004364 calculation method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000004088 simulation Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000001934 delay Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 4
- 230000035945 sensitivity Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005315 distribution function Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 229920003087 methylethyl cellulose Polymers 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供一种在云边系统中实现资源抢占式卸载方法,该方法包括:云服务器获取多个用户设备分别发出的任务信息;确定当前的子任务和各历史的子任务的优先级;为每个服务设施分别维护一个等待队列信息,记录等待由该服务设施处理的各历史的子任务的开始和结束执行时间,开始和结束执行时间是由预设的时序模型在分析传输时延、处理时延和因预设的资源抢占模式产生的额外时延的情况下得到,资源抢占模式的规则为在执行时间范围重叠的情况下较高优先级的子任务能抢占在较低优先级的子任务的资源;基于当前任务所含子任务间的数据依赖关系和服务设施的集合,确定搜索空间;利用蒙特卡洛树搜索方式,得到让当前各任务的评价时延满意度最优的卸载策略。
Description
技术领域
本发明涉及移动通信领域,具体来说涉及移动边缘计算领域,更具体地说,涉及一种在云边系统中实现资源抢占式卸载方法。
背景技术
随着基站(Base Station,简称BS)等越来越多的网络设施支持计算资源(如CPU和RAM)的嵌入,移动边缘计算(Mobile Edge Computing,简称MEC)应运而生。MEC是云计算的扩展,其将计算资源部署在靠近用户的无线接入网(Radio Access Network,RAN)处。因为任务可以由附近的边缘设备而不是由核心网内的云服务器处理,传输时延将显著缩减。然而,与云服务器相比,部署在RAN内的边缘设备的服务范围相对有限。考虑到服务成本,服务提供商不愿意为有限的服务范围提供丰富的计算资源。因此,对于人脸识别、视频处理和虚拟现实等计算密集型任务,MEC仍然缺乏足够的计算资源。
为了满足计算密集型任务的服务需求,一些工作提出了协同MEC(CollaborativeMEC)的概念;其通过共享信息和计算资源,使多个边缘设备协同处理计算密集型任务。例如,一个任务可以被划分为几个子任务,并卸载到不同的边缘设备。每个边缘设备只需要并行处理部分任务。通过并行计算,可以降低边缘设备的计算压力,同时显著压缩时延。
另外,在任务划分时,一个任务不能被任意划分,一般由多个相互依赖的子任务组成的,即一个子任务的输入是其他几个子任务的输出。只有当子任务获得其他子任务的输出结果时,该子任务才会开始执行,导致额外的时延。一些现有技术不考虑子任务间的依赖关系,导致卸载策略的实际效果与期望效果相差较大。因此,一些研究将任务依赖关系映射为更一般的有向无环图(Directed Acyclic Graph,DAG),每个子任务可以有多个前驱和后继子任务,来限定子任务间的依赖关系,但这些研究假设边缘设备的服务器可以处理无限数量的子任务,忽略任务之间的资源竞争,导致卸载策略的实际效果与期望效果相差较大。
在多用户场景中,任务划分导致每个边缘设备服务于来自不同用户的多个子任务。用户之间的资源竞争不可避免。但不同用户的应用类型不同,对时延的需求也不同。例如,增强现实服务通常要求时延小于100毫秒,而4K直播视频可以容忍高达500毫秒的时延。一些研究考虑了任务之间的资源竞争,但将资源竞争简化为先到先服务(First ComeFirst Served,FCFS)方法下的排队问题。例如,假设边缘设备在一个时隙内只处理一个子任务。在任务依赖关系约束下,设计了一种基于FCFS方法的启发式算法,以最小化任务完成时延。又或者,考虑每个边缘设备的队列容量是有限的。当边缘设备的队列满时,新到达的子任务将被卸载到其他边缘设备。然而,FCFS方法忽略了任务之间的时延敏感性差异,导致服务质量(Quality of Service,QoS)降低。因为优先执行时延低敏感的任务可能不会提高平均QoS,而增加时延高敏感任务的等待时间可能会显著降低平均QoS。该现有技术考虑了资源竞争,但采用先到先服务的排队模式,忽略任务的时延敏感性,且优化目标是最小化任务完成时延,将导致服务质量受到严重影响。因此,需要对现有技术进行改进。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种在云边系统中实现资源抢占式卸载方法。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种在云边系统中实现资源抢占式卸载方法,所述云边系统包括支持处理用户设备卸载子任务的云服务器和多个边缘设备,其中,除用户设备能作为其子任务的服务设施外,云服务器和边缘设备也能作为用户设备的相应子任务的服务设施,该方法包括由云服务器执行以下操作:获取多个用户设备分别发出的任务信息,所述任务信息包括用户当前的任务的预计到达时隙、任务的各子任务间的数据依赖关系、各个子任务的计算量、子任务之间的传输数据量和任务完成的期望时间;利用当前的各任务对应期望时间和前期的历史任务对应的期望时间,确定当前的子任务和各历史的子任务的优先级;为每个服务设施分别维护一个等待队列信息,每个等待队列信息包括等待由该服务设施处理的各历史的子任务的开始执行时间和结束执行时间,并且开始执行时间和结束执行时间是由预设的时序模型在分析传输时延、处理时延和因预设的资源抢占模式产生的额外时延的情况下得到的,该资源抢占模式的规则为在执行时间范围重叠的情况下较高优先级的子任务能抢占较低优先级的子任务的资源以优先执行;基于当前的各任务所含子任务间的数据依赖关系和服务设施的集合,确定搜索空间;利用蒙特卡洛树搜索方式,基于置信上界函数在搜索空间中进行多次迭代搜索,得到让当前各任务的总体时延满意度最优的卸载策略,其中,每次迭代得到卸载策略后,基于所述等待队列信息和所述时序模型在资源抢占模式下估计对应卸载策略下当前的各子任务在对应服务设施的开始执行时间和结束执行时间以用于计算用户的平均时延满意度作为奖励值。
在本发明的一些实施例中,所述时序模型被配置为:在当前的各任务对应的最终的卸载决策确定后,将最终的卸载策略下当前的各子任务在各服务设施的开始执行时间和结束执行时间加入各服务设施对应的等待队列信息,并且利用所述时序模型更新各等待队列信息中受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间。
在本发明的一些实施例中,所述时序模型被配置为:在任意的卸载策略下,将当前的子任务在一个服务设施中的开始执行时间与该子任务在该服务设施的处理时延之和,作为当前的子任务的结束执行时间。
在本发明的一些实施例中,所述更新受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间包括:对于优先级较低但结束执行时间大于等于当前的子任务的开始执行时间的历史的子任务,确定等待队列信息中优先级大于等于该历史的子任务的其他子任务的结束执行时间以及前一时隙确定的该历史的子任务的开始执行时间中的最大值,以更新当前时隙中该历史的子任务的开始执行时间;根据当前时隙中该历史的子任务的开始执行时间与该历史的子任务在该服务设施的处理时延之和,更新该历史的子任务的结束执行时间。
在本发明的一些实施例中,所述更新受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间还包括:在一个历史的子任务的开始执行时间和结束执行时间被更新后,根据历史的子任务对应的数据依赖关系,利用时序模型更新相关的后继历史子任务的开始执行时间和结束执行时间。
在本发明的一些实施例中,所述用户的平均时延满意度是所述多个用户设备对应的每个用户的时延满意度的平均值,其中,单个用户的时延满意度按照以下方式确定:若用户的任务的完成执行时间不超过该任务完成的期望时间,则时延满意度为1;否则,时延满意度为该任务完成的期望时间与任务的完成执行时间之比,其中,任务的完成时间根据任务的最后一个子任务的完成执行时间确定。
在本发明的一些实施例中,所述方法还包括:根据最终的卸载策略,指示将所述多个用户设备的任务的各个子任务分配至指定的服务设施中处理。
根据本发明的第二方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储可执行指令;所述一个或多个处理器被配置为经由执行所述可执行指令以实现第一方面所述方法的步骤。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的应用场景的示意图;
图2为根据本发明实施例的在云边系统中实现资源抢占式卸载方法的流程示意图;
图3为根据本发明实施例的在云边系统中实现资源抢占式卸载方法进行利用蒙特卡洛树搜索的示意图;
图4为根据本发明实施例的在云边系统中实现资源抢占式卸载方法确定最终的卸载策略后进行子任务分配的示意图;
图5为根据本发明实施例的本发明实施例的方法对应的方案与FCFS方案的用户平均时延满意度的对比结果示意图;
图6为根据对比实验得出的本发明实施例的方法与基于不同选择算法的时延满意度的对比结果示意图;
图7为根据对比实验得出的本发明实施例的方法与最优算法BF以及其他算法在FCFS方案下的时延满意度的对比结果示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如在背景技术部分提到的,现有技术考虑资源竞争,主要采用先到先服务的排队模式,忽略了不同任务的时延敏感性差异,难以适应业务的差异化需求,基于这些问题,将导致实际服务质量受到严重影响。对此,本发明实施例提出考虑资源抢占、数据依赖关系和用户的平均时延满意度对卸载策略的影响,在云服务器为每个服务设施分别维护一个等待队列信息,建立时序模型在考虑处理时延、传输时延和因预设的资源抢占模式产生的额外时延的情况下得到相应的历史的子任务开始执行时间和结束执行时间;并且,为了减少局部最优和采用总处理时延致使忽略不同任务时延敏感性差异的情况,采用蒙特卡洛树搜索方式基于置信上界函数在搜索空间中搜索,并以用户的平均时延满意度作为奖励值,从而得到能提升用户的平均时延满意度的最终的卸载策略,基于该最终的卸载策略选择处理各个子任务的服务设施,提升系统服务质量。
为了便于理解,先就本发明实施例的云边系统和用户设备形成的多用户多服务设施协同卸载场景进行介绍。其中,云边系统包括云服务器和多个边缘设备,云边系统能为用户设备提供处理其卸载的子任务的服务。
示意性的,参见图1,云服务器、边缘设备和用户设备之间组成三层架构,可以相互协作以完成用户设备的任务。其中,顶层为云服务器,配置了丰富的计算资源。此外,云服务器可以作为全局控制器制定卸载策略。第二层由多个(假设S个)边缘设备组成,每个边缘设备与一个MEC服务器(Mobile Edge Computing Server)共址部署,通常其配置的计算资源低于云服务器。边缘设备之间可以通过无线回程链路通信,并可以通过有线核心网连接到云服务器。第三层由多个用户设备(假设M个用户设备,或者称用户的本地设备)组成,每个用户设备有一个处理单元,计算资源非常有限。假设各用户有计算密集型的任务要处理,其中来自用户设备m∈{1,2,...,M}的任务由Nm个子任务组成为简便,后续用编号m来限定任务或者用户设备(例如,用户设备m,任务m),子任务间的数据依赖关系用有向无环图(DAG)表示,记为其中,/>表示用户设备m的子任务集合,为表示子任务之间数据依赖关系的邻接矩阵,二进制元素em,i,j表示用户设备m的子任务i和j的依赖关系。示意性的,若子任务vm,j是vm,i的后继子任务,em,i,j=1,否则为0。由云服务器为每个子任务vm,j选择目标服务设施,表示为:
其中,sb∈{0,1,...,S+1}表示一台服务设施。具体地,sb=0表示用户设备,sb=S+1表示云服务器,sb等于其他的1,...,S时,分别表示第1-S个边缘设备。由于每个子任务只能卸载至一个服务设施上,即:
注意到第一个子任务一般由用户设备在本地开始处理,最后一个子任务回到用户设备上进行处理,根据本发明的一个实施例,该方法可以包括:将所有任务的第一个子任务和最后一个子任务配置为由该任务所属的用户设备自身处理,表示为:
应当理解,此处仅为一种优选的实施方式,原理上,第一个子任务或者最后一个子任务也可以不指定默认的处理设施。
根据本发明的一个实施例,参见图2,提供一种在云边系统中实现资源抢占式卸载方法,该方法包括由云服务器执行步骤S1-S5。为了更好地理解本发明,下面结合具体的实施例针对每一个步骤分别进行详细说明。
步骤S1:获取多个用户设备分别发出的任务信息,所述任务信息包括用户当前的任务的预计到达时隙、任务的各子任务间的数据依赖关系、各个子任务的计算量、子任务之间的传输数据量和任务完成的期望时间。
根据本发明的一个实施例,每个用户通过用户设备预先将任务信息发送给云服务器,例如,任务信息用五元组表示,其中,τm表示当前的任务m的预计到达时隙,/>表示子任务间的数据依赖关系,假设任务m的所有子任务都在同一时隙到达;/>表示任务m中每个子任务的计算量,dm,j表示任务m中第j个子任务的计算量,/>表示子任务之间的传输数据量,lm,i,j表示任务m中第i个子任务与第j个子任务之间的传输数据量,Em表示任务m完成的期望时间,即期望任务m被完成处理的时间。
步骤S2:利用当前的各任务对应期望时间和前期的历史任务对应的期望时间,确定当前的子任务和各历史的子任务的优先级。
应当理解,当前的子任务属于步骤S1获取的任务信息对应的任务,而历史的子任务是前期的任务的子任务,即历史的子任务是在步骤S1之前的时隙中获得的历史任务的子任务,历史任务已经有对应的最终的卸载策略,但是一些历史的子任务在当前的时隙可能还未被处理完,当前的任务的卸载策略需要根据历史的子任务来制定。因此,本发明实施需要确定当前的子任务和各历史的子任务的优先级,确定子任务的优先级可以有多种方式。
根据本发明的一个实施例,当前的子任务和各历史的子任务的优先级可以直接由对应任务的期望时间表示,期望时间越小代表子任务的优先级越高。该实施例的技术方案至少能够实现以下有益技术效果:通过期望时间直接代表子任务优先级,可以避免一些优先级较低的历史的子任务在极端情况下被多次延期执行,保障服务质量。
根据本发明的另一个实施例,按照以下方式确定当前的子任务和各历史的子任务的优先级:将当前的各任务对应期望时间和前期的历史任务对应的期望时间中最早的时间作为基准时间;预设多个优先级对应的数值区间,将当前的各任务对应期望时间或者前期的历史任务对应的期望时间减去基准时间得到的值所属的数值区间,确定对应子任务的优先级。示意性的,比如:[0,a)对应优先级1,[a,b)对应优先级2,[b,c)对应优先级3,[c,+∞)对应优先级4,其中,此处优先级的相对高低为:优先级1>优先级2>优先级3>优先级4。当然,此处优先级的级数4仅为示意,实施者可以根据需要调整,或者采取其他方式来确定子任务落入的优先级,本发明对此不作限制。
步骤S3:为每个服务设施分别维护一个等待队列信息,每个等待队列信息包括等待由该服务设施处理的各历史的子任务的开始执行时间和结束执行时间,并且开始执行时间和结束执行时间是由预设的时序模型在分析传输时延、处理时延和因预设的资源抢占模式产生的额外时延的情况下得到的,该资源抢占模式的规则为在执行时间范围重叠的情况下较高优先级的子任务能抢占在较低优先级的子任务的资源以优先执行。
应当理解,每个服务设施的等待队列信息是由云服务器维护,但并非是由云服务器来执行等待队列信息中各个等待处理的子任务,仅是被维护以用于支持资源抢占模式中所需的各历史的子任务的开始执行时间和结束执行时间。而这些历史的子任务的开始执行时间和结束执行时间是考虑传输时延、处理时延和因预设的资源抢占模式产生的额外时延的情况下得到的。
因为抢占导致的额外时延需要结合当前的任务的卸载策略来计算;但步骤S3执行时,还未针对步骤S1的任务信息生成对应的最终的卸载策略;因此,应当理解,步骤S3的执行时间是需要考虑抢占导致的额外时延的,但不是当前步骤S1获得的任务信息对应的任务抢占历史的任务的资源导致的额外时延。示意性的,假设执行步骤S3的当前的时隙为τm,假设前一次执行的最终的卸载策略的时隙为τm-1,则在时隙τm-1前,也可能会有时间更靠前的历史的任务的子任务未处理完;则在时隙τm-1执行步骤S3时,前一次执行的最终的卸载策略的子任会抢占时隙τm-1之前的历史的子任务的资源,从而需要基于因预设的资源抢占模式产生的额外时延来计算对应的执行时间。另外,执行时间范围重叠是指两个子任务的开始执行时间和结束执行时间的范围有重叠。
由于以当前的任务来说明传输时延、处理时延和额外时延更为直观,但在步骤S3还不涉及当前的任务导致的额外时延,为了避免误解,此处不详细说明预设的时序模型如何考虑传输时延、处理时延和因预设的资源抢占模式产生的额外时延,在后面步骤S5来说明。
步骤S4:基于当前的各任务所含子任务间的数据依赖关系和服务设施的集合,确定搜索空间。
根据本发明的一个实施例,步骤S4包括:在所有任务对应的数据依赖关系之前添加一个共同连接的前驱虚拟节点,形成的依赖关系树,其中,该前驱虚拟节点的计算量和传输数据量为0;利用依赖关系树和依赖关系树的每个节点可选择的服务设施的集合限定搜索空间;以及创建一个就绪队列,将前驱虚拟节点的直接后继子任务加入就绪队列。搜索树的每个节点对应于一个动作(Action),用于表示一个子任务的卸载决策。所有的子任务的卸载决策构成卸载策略。以图3为例,假设有三个任务,任务1包括四个节点,对应子任务v1,1、v1,2、v1,3、v1,4,任务2包括五个节点,对应子任务v2,1、v2,2、v2,3、v2,4、v2,5;任务3包括三个节点,对应子任务v3,1、v3,2、v3,3;步骤4对应初始化的阶段,所添加的前驱虚拟节点即为根节点vroot,在初始化阶段,vroot的所有直接后继子任务均被添加至Λ中,由于根节点vroot的直接后继子任务包括v1,1,v2,1和v3,1,则当前Λ包含(v1,1,v2,1,v3,1)。
步骤S5:利用蒙特卡洛树搜索方式,基于置信上界函数在搜索空间中进行多次迭代搜索,得到让当前各任务的总体时延满意度最优的卸载策略,其中,每次迭代得到卸载策略后,基于所述等待队列信息和所述时序模型在资源抢占模式下估计对应卸载策略下当前的各子任务在对应服务设施的开始执行时间和结束执行时间以用于计算用户的平均时延满意度作为奖励值。
根据本发明的一个实施例,蒙特卡洛树搜索方式(Monte Carlo Tree Search,MCTS算法)需要每次迭代需要进行选择、扩展、模拟和反向传播更新当前迭代所涉及的搜索路径上所有节点奖励值和访问次数。每次迭代都会得到一个卸载策略,为记录树搜索过程中的最优卸载策略,用QMAX和χMAX分别表示当前最优平均时延满意度和相应的卸载策略。下面从选择、扩展、模拟和反向传播四个步骤进行示意性说明。
(1)选择(Selection)
选择步骤是在搜索树中选择要进一步扩展的节点。
根据本发明的一个实施例,选择是根据依赖关系树建立搜索树,根据搜索树选择要进一步扩展的节点。为了避免局部最优,需在选择利用(已知的最优节点)和选择探索(未选择或较少选择的节点)之间保持平衡。为了指导MCTS算法进行选择,引入置信上界函数(Upper Confidence Bounds,UCB函数),以便在每次选择时,根据UCB函数评价的每个候选的节点的UCB值来进行选择。UCB函数表示为:
其中,i表示当前迭代的轮次,υ表示候选的节点,Qj(υ)表示j轮次选择υ作为搜索路径中的一个节点获取的奖励值,N(υ)表示候选的节点υ累积被选择的次数,υp表示搜索树中υ的父节点,N(υp)表示候选的节点υ的父节点累积被选择的次数,c是一个常数参数。c用于平衡选择利用和选择探索之间的权重。因此,表示过去i-1个轮次中候选的节点υ处累积获取的奖励。本发明实施例引入UCB函数可以避免局部最优,在当前最优的搜索路径和未搜索过的搜索路径间进行权衡。通过UCB函数,所提算法可以利用历史观测的UCB值和当前预测的UCB值,以全局视角收敛树搜索空间,获得最佳的路径。
示意性的,基于UCB函数,搜索将从根节点开始,递归地选择UCB值最大的节点,直到到达可扩展的节点υs。注意,可扩展的节点定义是指还有至少一个叶节点尚未添加到决策树中的节点。然后,从等待队列Λ中删除节点υs对应的子任务,并将该子任务的直接后继子任务添加到Λ队尾。再次参见图3,从根节点υroot开始搜索,在Λ=(v1,1,v2,1,v3,1)中选择子任务以及相应的目标服务设施作为υroot的节点。假设根据UCB函数,选择将子任务v1,1卸载至sk。也就是说,υroot的节点对应的动作为{v1,1,sk}。由于v1,1被选择,v1,1从队列Λ中删除且v1,1的子任务v1,2,v1,3添加至Λ队尾。此时,Λ更新为(v2,1,v3,1,v1,2,v1,3)。假设最终,动作为{v1,2,sp}的叶节点υs被选择,Λ更新为(v2,1,v3,1,v1,3,v1,4)。
(2)扩展(Expansion)
在选择一个叶节点后,如果当前叶节点不是终止节点,那么就为该叶子点创建一个或者更多的子节点,选择其中一个进行扩展。
例如,扩展前述被选中的叶节点υs。首先,任意选择Λ中的一个子任务和目标服务设施作为新的子节点υc的动作。然后,子节点υc被添加至搜索树T中作为节点υs的叶节点。初始时,υc的奖励值和选择次数Qi(υc)与N(υc)均设值为0。同时,从Λ中删除节点υc对应的子任务并添加该子任务的直接后继子任务至队尾。
(3)模拟(Simulation)
从扩展的节点开始,运行一个模拟过程,为剩余仍未选择动作的子任务均选择一个最优的动作。
例如,模拟剩余子任务的卸载决策。首先,选择一个服务设施作为队列Λ中第一个子任务v的卸载决策。这需要利用预设的时序模型估计v在各服务设施的开始执行时间和结束执行时间,然后选择最佳的服务设施。对单个子任务而言,由于无法评价满意度,因此,模拟时,以结束执行时间最早的服务设施作为单个子任务对应的最佳的服务设施。每次模拟后会得到一个卸载策略,则会涉及到基于所述等待队列信息和所述时序模型在资源抢占模式下估计对应卸载策略下当前的各子任务在对应服务设施的开始执行时间和结束执行时间。
为了说明,下面结合具体的公式说明执行时间的示意性计算过程。为了示意,假设子任务vm,i和其直接后继子任务vm,j分别分配给sa和sb处理。当vm,i将处理后的结果数据从sa传输到sb时,会产生传输时延。注意,如果vm,i和vm,j被卸载到相同的服务设施,即sa=sb,传输时延为0。考虑到云服务器采用有线链路,其他采用无线链路,需要分类讨论不同服务设施之间的传输时延。另外,服务设施处理子任务还会涉及到处理时延,当前的子任务可能抢占历史的子任务的资源,还涉及到抢占导致的额外时延。下面就传输时延(3.1)、处理时延(3.2)、额外时延(3.3)进行示意性说明。然后会基于这三种时延来说说明开始执行时间和结束执行时间(3.4)。
3.1传输时延
传输时延分为边缘设备间的传输时延、用户设备与边缘设备间的传输时延、边缘设备与云服务器间的传输时延、用户设备与云服务器间的传输时延,其中:
(a)边缘设备间或用户设备与边缘设备间的传输时延,为基于无线链路传输数据的时延,介绍如下:
如果sa和sb为边缘设备或用户设备,即sa,sb∈{0,1,2,...,S},sa将通过无线链路将数据结果传输给sb。相应的传输时延为:
其中,lm,i,j表示任务m中第i个子任务与第j个子任务之间的传输数据量,表示sb的可用信道带宽,/>是sa的传输功率,/>是sa与sb间链路的信道增益,N表示背景噪声方差。
(b)边缘设备与云服务器间的传输时延,为基于有限链路传输数据的时延,介绍如下:
如果服务设施sa是云服务器且服务设施sb是边缘设备,或反之,即服务设施sa=S+1,sb∈{1,2,...,S+1}或sa∈{1,2,...,S+1},sb=S+1,服务设施sa将通过有线链路将数据结果传输给服务设施sb。相应的传输时延表示为:
其中,lm,i,j表示任务m中第i个子任务与第j个子任务之间的传输数据量,表示服务设施sa与sb之间有线回传链路的传输速率。
(c)用户设备与云服务器间的传输时延
如果服务设施sa是用户设备且sb是云服务器,即sa=0,sb=S+1,sa将通过无线链路将数据传输至附近的边缘设备然后将数据通过有线链路传输至云服务器。对应的传输时延表示为:
类似地,如果服务设施sa是云服务器且服务设施sb是用户设备,即sa=S+1,sb=0,对应的传输时延表示为:
基于公式(4)、(5)、(6)和(7),传输时延表示为:
3.2处理时延
令计算频率表示相应的服务设施sb的计算能力,假设当子任务j由服务设施sb处理时,对应的处理时延表示为:
3.3额外时延
根据等待队列信息,如果一个当前的子任务的优先级(较低优先级的子任务)比一些历史的子任务的优先级更低,则该当前的子任务所需的资源难以如期获得,会被这些历史的子任务抢占,导致因等待所需资源而产生额外时延。
又或者,根据等待队列信息,如果一个当前的子任务的优先级(较高优先级的子任务)比一些历史的子任务的优先级(较低优先级的子任务)低,则该当前的子任务会抢占这些历史的子任务的资源,同样的,这些历史的子任务所需的资源难以如期使用,会被该当前的子任务抢占,导致因等待所需资源而产生额外时延。本发明实施例考虑因资源抢占导致的额外时延的影响,可以更准确地估计任务的完成时间,进而使得用户的时延满意度的计算更准确,更好地保障服务质量。
3.4开始执行时间和结束执行时间
云服务器根据任务信息(即五元组)在任务到达前预先决策目标服务设施的选择。每个卸载决策均由子任务vm,j在sb的开始执行时间和结束执行时间决定。示意性地,当前的子任务vm,j在sb上开始执行的时刻需满足条件:1)子任务vm,j已经到达服务设施;2)当前的子任务vm,j的所有前驱子任务已经结束执行且将数据结果传输给服务设施sb;3)服务设施sb是空闲的,或者当前服务设施sb的等待队列信息中对应历史的子任务的优先级均小于当前的子任务vm,j。这是因为当前的子任务vm,j到达服务设施sb后,vm,j可以抢占优先级较低的历史的子任务位置,即在这些历史的子任务之前被处理。也就是说,vm,j只需要等待队列中优先级更高的子任务完成处理。第τm时隙估计vm,j在sb上的开始执行时间为:
其中,表示根据卸载策略中当前的子任务vm,j在服务设施sb处的值,τm表示当前的子任务vm,j的预计到达时隙,/>表示子任务vm,j的所有前驱子任务的数据结果均已卸载至服务设施sb的时刻,其中pre(vm,j)表示vm,j前驱子任务的集合,vm,i表示当前的子任务vm,j的前驱子任务,/>表示τm时隙记录的前驱子任务vm,i在其服务设施sa上的结束执行时间,/>表示从前驱子任务的服务设施sa的数据结果传输给当前子任务的服务设施sb的传输时延,/>表示服务设施sb的等待队列中所有优先级高于当前的子任务vm,j的历史的子任务的完成执行时间中的最大值,p(u)表示相应历史的子任务的优先级,p(m)表示当前的子任务vm,j的优先级,/>表示历史的子任务vu,l对应的卸载策略中历史子任务vu,l在服务设施sb处的值,表示前一时隙τm-1确定的历史的子任务vu,l的完成执行时间。为了简化计算,可以假设当前任务的所有子任务预计都在τm时隙到达。
所述时序模型被配置为:在任意的卸载策略下,将当前的子任务在一个服务设施中的开始执行时间与该子任务在该服务设施的处理时延之和,作为当前的子任务的结束执行时间。示意性的,第τm时隙记录vm,j在服务设施sb上的结束执行时间表示为:
其中,表示vm,j在服务设施sb上的处理时延。
考虑到vm,j的抢占可能导致系统中其他历史的子任务的开始时间延后,通过分析抢占对其他子任务带来的额外时延,云服务器将前一个时隙的子任务执行状态转移至下一个时隙的状态来更新这些任务的开始和结束执行时间。即:对于优先级较低但结束执行时间大于等于当前的子任务的开始执行时间的历史的子任务,确定等待队列信息中优先级大于等于该历史的子任务的其他子任务的结束执行时间以及前一时隙确定的该历史的子任务的开始执行时间中的最大值,以更新当前时隙中该历史的子任务的开始执行时间。示意性地,如果比任务m优先级低的任务n的第k个子任务vn,k(后面称历史的子任务vn,k)在第τm时隙前进入服务sb的等待队列信息且其完成执行时间晚于当前的子任务vm,j的开始执行时间,则vn,k会受到vm,j资源抢占带来的影响,其开始执行时刻将延后。注意,服务设施sb的等待队列信息中不是所有优先级低于任务m的历史的子任务的执行时间都需要更新,因为vm,j的到达时间τm或等待前驱子任务的时间可能晚于这些历史的子任务的完成执行时间。因此,考虑到vm,j资源抢占对vn,k开始执行时间的影响,在τm时隙sb上子任务vn,k开始时间的更新表达式为:
其中,表示服务设施sb的等待队列信息中历史的子任务vn,k的前一个子任务的完成执行时间,/>表示历史的子任务vn,k在当前的时隙前确定的结束执行时间,/>表示当前的子任务vm,j的开始执行时间;/>表示非该公式的第一项所示的条件下,在时隙τm-1计算的历史的子任务vn,k的开始执行时间可以保留。
另外,根据当前时隙中该历史的子任务的开始执行时间与该历史的子任务在该服务设施的处理时延之和来更新该历史的子任务的结束执行时间。比如:τm时隙更新的子任务vn,k的结束时间可参照公式(11)得到。
考虑到子任务间的依赖关系,一旦历史的子任务vn,k的开始和结束执行时间被更新,其直接后继子任务的开始和结束执行时间也需要被更新。即:在一个历史的子任务的开始执行时间和结束执行时间被更新后,根据历史的子任务对应的数据依赖关系,利用时序模型更新相关的后继历史子任务的开始执行时间和结束执行时间。接下来,若/>则需要继续更新/>的直接后继子任务/>的开始和结束执行时间,直至/>时停止更新。因此,有
其中,表示τm时隙历史的后继子任务/>在其服务设施sd的等待队列信息中的开始执行时间,/>表示前一时隙τm-1确定的历史的后继子任务/>的开始执行时间,/>表示后继子任务/>的前驱子任务在其服务设施sc上的处理时延与处理得到的结果数据传输至服务设施sd的传输时延之和,Nn表示任务n的子任务数量。
同样地,τm时隙更新的子任务的结束时间/>可由公式(11)获得。进一步地,由于/>的更新可能影响其他子任务的状态,重复执行公式(12)和(13)直至τm时隙没有子任务的状态需要被更新。对于状态不变的子任务,有/>和/>
令Υ表示M个任务中最后一个任务到达的时隙。由公式(12)和(13)可知,每个子任务的开始和结束执行时间可能会在下一个时隙中更新或保持不变。因此,每个子任务最终的开始和结束时间表示为和/>考虑到每个用户的第一个子任务没有前驱子任务且在用户设备本地处理(公式(3)),则/>表示为
最终,任务m的完成执行时间表示为
结合公式(10),子任务v在服务设施s处预计的开始执行时间为:
预计的完成执行时间表示为
由公式(3)可知,如果v是用户设备的第一个或最后一个子任务,则由用户设备处理,即否则,v将由使其完成执行时间最早的服务设施处理,即/>一旦确定,子任务v将从Λ中删除。接下来,继续通过公式(15)和(16)决策Λ中第一个子任务的目标服务设施,直至/>至此,得到这一轮所有子任务的卸载决策的集合,即卸载策略,记为χi。
基于χi和抢占机制,每个子任务实际的完成执行时间可由公式(10)-(13)求得。
然后,根据卸载策略计算每个用户的时延满意度,单个用户的时延满意度按照以下方式确定:若用户的任务的完成执行时间不超过该任务完成的期望时间,则时延满意度为1;否则,时延满意度为该任务完成的期望时间与任务的完成执行时间之比,其中,任务的完成时间根据任务的最后一个子任务的完成执行时间确定。对应的,基于公式(17)将完成执行时间转换为用户的时延满意度并作为T中新添加的节点υc的奖励值Qi(υc):
其中,Em表示任务m的期望时间,表示任务m的结束执行时间。如果任务的实际完成时间/>不超过Em,则对应的时延满意度/>为1,否则/>等于Em与/>之比。
基于公式(17)将完成执行时间转换为用户的时延满意度后,可以计算用户的平均时延满意度作为奖励值,并作为搜索树T中新添加的节点υc的奖励值Qi(υc)。用户的平均时延满意度的示意性计算方式为:
其中,M表示当前的任务的数量,表示当前的任务m的结束执行时间。
本发明实施例的目标是在有限的计算和通信资源下设计服务设施选择卸载策略,使平均时延满意度最大化。问题可以表述为:
s.t.(1),(2),(3),(10),(11),(12),(13),(14).
(4)反向传播(Backpropagation)
模拟完成后,需要就扩展的节点至根节点构成的搜索路径进行回溯,以更新搜索路径上所有节点的奖励值和访问次数。示意性的,获取节点υc的奖励值Qi(υc)后,需要由υc回溯至根节点υroot以更新搜索路径上所有节点奖励值和访问次数。具体地,从υc回溯至υroot,路径上的节点υ的访问次数变为N(υ)=N(υ)+1且奖励值变为Qi(υ)=Qi(υc)。注意,如果Qi(υc)大于QMAX,这意味着与之前的轮次相比,该轮找到了更好的卸载策略。然后,QMAX被更新为Qi(υc)且选择策略χMAX被更新为χi。至此,算法完成了第i轮迭代,Λ恢复为初始阶段。
算法不断迭代,直到搜索树T不可扩展或达到预设的迭代次数Ithreshold的上限时,得到最优平均时延满意度QMAX和对应的卸载策略χMAX。最优平均时延满意度QMAX对应的卸载策略χMAX即为最终的卸载策略。
根据本发明的一个实施例,所述方法还包括:根据最终的卸载策略,指示将所述多个用户设备的任务的各个子任务分配至指定的服务设施中处理。此时,云服务器可以将最终的卸载策略传递给相关的各个服务设施,以便由各个服务设施根据最终的卸载策略处理对应的子任务以及将子任务的结果数据传输给对应的服务设施。参见图4,示意性的,例如一个任务信息记录任务含有子任务1-7,根据卸载策略的指示将子任务1-7分配到对应的服务设施处理。本发明实施例的方案充分考虑资源抢占和依赖性关系对卸载决策的影响,建立动态的时序模型(或者称时序状态更新模型)描述任务服务状态变化(即任务中相应子任务的开始执行时间和结束执行时间的变化),基于更新后的服务状态优化卸载目标服务设施的选择,得到最终的卸载策略可实现最优平均时延满意度,提升系统的服务质量。
前面每次迭代得到一个卸载策略时,只是利用时序模型预估当前的子任务可能的开始执行时间和结束执行时间,并未实际加入对应的等待队列信息。获得最终的卸载策略后,会将当前的子任务的开始执行时间和结束执行时间加入对应的等待队列信息,并更新受影响的历史的子任务的开始执行时间和结束执行时间。由此,以便为后续的任务对应的卸载策略的确定作参考。根据本发明的一个实施例,所述方法包括:在当前的各任务对应的最终的卸载决策确定后,将最终的卸载策略下当前的各子任务在各服务设施的开始执行时间和结束执行时间加入各服务设施对应的等待队列信息,并且利用所述时序模型更新各等待队列信息中受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间。优选的,所述更新受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间包括:对于优先级较低但结束执行时间大于等于当前的子任务的开始执行时间的历史的子任务,确定等待队列信息中优先级大于等于该历史的子任务的其他子任务的结束执行时间以及前一时隙确定的该历史的子任务的开始执行时间中的最大值,以更新当前时隙中该历史的子任务的开始执行时间;根据当前时隙中该历史的子任务的开始执行时间与该历史的子任务在该服务设施的处理时延之和,更新该历史的子任务的结束执行时间。此外,所述更新受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间还包括:在一个历史的子任务的开始执行时间和结束执行时间被更新后,根据历史的子任务对应的数据依赖关系,利用时序模型更新相关的后继历史子任务的开始执行时间和结束执行时间。
为了验证本发明实施例的效果,发明人还进行了相关对比实验。
该对比实验假设一个范围为1km×1km的三层MEC架构,由一个云服务器、多个边缘设备(简称BSs)和多个移动设备(作为用户设备)。云服务器覆盖所有BSs和移动设施随机分布。云服务器、BS和移动设备的CPU频率服从[15,20]GHz,[4,5]GHz和1GHz的均匀分布。根据IEEE 802.3协议,云服务器和BS间的有线传输速率为Mbps。每个BS的带宽服从[20,25]MHz间的均匀分布,移动设备的带宽设置为5MHz。BS与移动设备的传输功率分别为20w和0.2w。BSs和用户间的信道建模为127+30log10(d),高斯噪声N=1×10-13w。参考人脸识别、虚拟现实等实际任务的DAG,DAG的构建方式如下:
1、子任务数量|V|在[1,20]间随机取值;
2、每个子任务的计算量dm,j在900Megacycles至1000Megacycles间随机取值;
3、子任务间的传输数据量lm,i,j取决于任务的通信与计算量之比(Communicationto Computation Ratio,CCR)。CCR定义为DAG中所有子任务的传输时延之和与处理时延之和的比值,该比值设置为[0.1,5]之间的随机数。若任务是计算密集型的,CCR取值较小。lm,i,j由计算量乘以CCR得到;
4、每个子任务的直接前驱和直接后继数量由一个取值在[1,|V|-2]间的随机整数生成。DAG的依赖程度用DAG中直接前驱和直接后继数量和的平均值表示;
5、对于每个任务m,任务完成时延的期望值以均值为0.5(秒),标准差为1.2(秒)的正态分布生成。对应的,任务的期望时延为任务的到达时隙与任务完成时延之和。
所提PDO-MCTS(Priority and Dependency-based Offloading with MonteCarlo Tree Search)算法(即本发明的方法)中UCB函数的常数参数c设为10。将PDO-MCTS算法与以下基线算法进行比较:
穷举法(Brute Force,BF):通过穷举搜索获得最优选择决策。
最早完成时间(Earlist Finish Time,EFT)算法:EFT算法首先设计一个排序机制,确定每个子任务的选择顺序。根据选择顺序,利用贪心算法依次将子任务分配给当前最优服务设施,使其完成时间最小化。
集中式最早完成时间(Centralized Earlist Finish-time Offloading,CEFO)算法:与BF算法类似,通过穷举搜索将子任务分配给最优服务设施。不同之处在于CEFO算法将同一用户的子任务分配给相同的服务设施,以降低时间复杂度。
在线卸载机制(Online Offloading Framework,COFE)算法:COFE算法首先估计每个服务设施上各子任务的完成时间,并设计匹配方案进行分配。
基于等待的MCTS(Queuing-MCTS)算法:不同于PDO-MCTS算法,Queuing-MCTS算法采用基于FCFS方案的策略。
PDO-MCTS的性能增益主要来自于资源抢占方案和MCTS算法。首先通过比较MCTS算法下基于优先级的抢占方案和FCFS方案来验证资源抢占的有效性。在此基础上,通过比较抢占方案下不同基线算法性能的累积分布函数(Cumulative Distribution Function,CDF),验证了所提MCTS算法的有效性。最后,通过总体性能比较验证了PDO-MCTS的有效性。为了评估CDF性能,先随机生成边缘服务设施数量S均匀分布在[1-5]之间的网络规模和用户数量M均匀分布在[1-10]之间的用户规模。对于每个M和S的取值,根据DAG的构建规则随机生成500个DAG,总共生成25000个测试用例来评估所有算法的性能。
下面通过图5-图7来直观展示效果,其中:
图5为MCTS算法下抢占方案和FCFS方案用户时延满意度的CDF曲线对比,分别对应为PDO-MCTS和FCFS-MCTS。可以看出,PDO-MCTS比FCFS-MCTS具有更好的用户时延满意度性能。例如,在60%的测试用例中,基于PDO-MCTS的用户时延满足度比FCFS-MCTS高出约10%。这是因为PDO-MCTS可以为具有不同QoS需求的任务分配不同的资源。因此,为了保证高时延敏感任务的满足度,PDO-MCTS可以将有限的高带宽、高CPU频率等资源优先用于这些任务。而FCFS-MCTS忽略了任务之间QoS需求的差异,可能会降低高时延敏感任务的满足程度。
图6为抢占方案下基于不同选择算法的时延满意度CDF比较。在所有算法中,PDO-MCTS的性能最好。例如,在60%的测试用例中,基于PDO-MCTS的时延满意度比CEFO、HEFT和COFE分别高出约11%、12%和8%。PDO-MCTS与其他算法的性能差异主要来自于当其他算法确定某个子任务的卸载决策时,只搜索所有服务设施的当前状态,并根据当前状态选择最优解。因此,搜索很容易陷入局部优化。而PDO-MCTS可以模拟未来的搜索步骤然后反向评估当前的选择决策。PDO-MCTS将选择一个潜在的最优解,以跳出局部最优陷阱。
为了证明PDO-MCTS的有效性,将PDO-MCTS的性能与最优算法BF进行了比较。此外,为了证明抢占方案和MCTS算法的性能增益是共同有效的,还比较了PDO-MCTS和其他算法在FCFS方案下的CDF。如图7所示,PDO-MCTS的满足度性能与最优算法BF接近,且性能超出其他算法20%。
总的来说,仿真结果表明,本发明实施例所提出的方法能够有效减少高时延敏感任务的等待时延。同时,与现有的卸载方案相比,任务的平均时延满意度提高了20%以上。
最后,需要说明的是,虽然以上实施例用公式对一些数据的计算方式进行了描述;但是,应当理解,以上计算方式并非唯一方式,可以采用一些等效的方式替代,或者将公式中的一些子项乘以预设的权重,或者加上调整因子,从而形成其他实施方式,本发明对此不作限制。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种在云边系统中实现资源抢占式卸载方法,所述云边系统包括支持处理用户设备卸载子任务的云服务器和多个边缘设备,其中,除用户设备能作为其子任务的服务设施外,云服务器和边缘设备也能作为用户设备的相应子任务的服务设施,其特征在于,该方法包括由云服务器执行以下操作:
获取多个用户设备分别发出的任务信息,所述任务信息包括用户当前的任务的预计到达时隙、任务的各子任务间的数据依赖关系、各个子任务的计算量、子任务之间的传输数据量和任务完成的期望时间;
利用当前的各任务对应期望时间和前期的历史任务对应的期望时间,确定当前的子任务和各历史的子任务的优先级;
为每个服务设施分别维护一个等待队列信息,每个等待队列信息包括等待由该服务设施处理的各历史的子任务的开始执行时间和结束执行时间,并且开始执行时间和结束执行时间是由预设的时序模型在分析传输时延、处理时延和因预设的资源抢占模式产生的额外时延的情况下得到的,该资源抢占模式的规则为在执行时间范围重叠的情况下较高优先级的子任务能抢占在较低优先级的子任务的资源以优先执行;
基于当前的各任务所含子任务间的数据依赖关系和服务设施的集合,确定搜索空间;
利用蒙特卡洛树搜索方式,基于置信上界函数在搜索空间中进行多次迭代搜索,得到让当前各任务的总体时延满意度最优的卸载策略,其中,每次迭代得到卸载策略后,基于所述等待队列信息和所述时序模型在资源抢占模式下估计对应卸载策略下当前的各子任务在对应服务设施的开始执行时间和结束执行时间以用于计算用户的平均时延满意度作为奖励值。
2.根据权利要求1所述的方法,其特征在于,所述时序模型被配置为:
在当前的各任务对应的最终的卸载决策确定后,将最终的卸载策略下当前的各子任务在各服务设施的开始执行时间和结束执行时间加入各服务设施对应的等待队列信息,并且利用所述时序模型更新各等待队列信息中受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间。
3.根据权利要求2所述的方法,其特征在于,在任意的卸载策略下,当前的子任务在一个服务设施中的开始执行时间按照以下方式确定:
其中,表示根据卸载策略中当前的子任务vm,j在服务设施sb处的值,τm表示当前的子任务vm,j的预计到达时隙,/>表示子任务vm,j的所有前驱子任务的数据结果均已卸载至服务设施sb的时刻,其中pre(vm,j)表示vm,j前驱子任务的集合,vm,i表示当前的子任务vm,j的前驱子任务,/>表示τm时隙记录的前驱子任务vm,i在其服务设施sa上的结束执行时间,/>表示从前驱子任务的服务设施sa的数据结果传输给当前子任务的服务设施sb的传输时延,/>表示服务设施sb的等待队列中所有优先级高于当前的子任务vm,j的历史的子任务的完成执行时间中的最大值,p(u)表示相应历史的子任务的优先级,p(m)表示当前的子任务vm,j的优先级,/>表示历史的子任务vu,l对应的卸载策略中历史子任务vu,l在服务设施sb处的值,/>表示前一时隙τm-1确定的历史的子任务vu,l的完成执行时间。
4.根据权利要求2所述的方法,其特征在于,所述时序模型被配置为:在任意的卸载策略下,将当前的子任务在一个服务设施中的开始执行时间与该子任务在该服务设施的处理时延之和,作为当前的子任务的结束执行时间。
5.根据权利要求4所述的方法,其特征在于,所述更新受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间包括:
对于优先级较低但结束执行时间大于等于当前的子任务的开始执行时间的历史的子任务,确定等待队列信息中优先级大于等于该历史的子任务的其他子任务的结束执行时间以及前一时隙确定的该历史的子任务的开始执行时间中的最大值,以更新当前时隙中该历史的子任务的开始执行时间;
根据当前时隙中该历史的子任务的开始执行时间与该历史的子任务在该服务设施的处理时延之和,更新该历史的子任务的结束执行时间。
6.根据权利要求5所述的方法,其特征在于,所述更新受资源抢占模式影响的历史的子任务的开始执行时间和结束执行时间还包括:
在一个历史的子任务的开始执行时间和结束执行时间被更新后,根据历史的子任务对应的数据依赖关系,利用时序模型更新相关的后继历史子任务的开始执行时间和结束执行时间。
7.根据权利要求1所述的方法,其特征在于,所述用户的平均时延满意度是所述多个用户设备对应的每个用户的时延满意度的平均值,其中,单个用户的时延满意度按照以下方式确定:
若用户的任务的完成执行时间不超过该任务完成的期望时间,则时延满意度为1;否则,时延满意度为该任务完成的期望时间与任务的完成执行时间之比,其中,任务的完成时间根据任务的最后一个子任务的完成执行时间确定。
8.根据权利要求1-7之一所述的方法,其特征在于,所述方法还包括:
根据最终的卸载策略,指示将所述多个用户设备的任务的各个子任务分配至指定的服务设施中处理。
9.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至8中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储可执行指令;
所述一个或多个处理器被配置为经由执行所述可执行指令以实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310773445.2A CN116782298A (zh) | 2023-06-28 | 2023-06-28 | 一种在云边系统中实现资源抢占式卸载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310773445.2A CN116782298A (zh) | 2023-06-28 | 2023-06-28 | 一种在云边系统中实现资源抢占式卸载方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116782298A true CN116782298A (zh) | 2023-09-19 |
Family
ID=87991019
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310773445.2A Pending CN116782298A (zh) | 2023-06-28 | 2023-06-28 | 一种在云边系统中实现资源抢占式卸载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116782298A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806806A (zh) * | 2024-02-28 | 2024-04-02 | 湖南科技大学 | 任务部分卸载调度方法、终端设备及存储介质 |
-
2023
- 2023-06-28 CN CN202310773445.2A patent/CN116782298A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806806A (zh) * | 2024-02-28 | 2024-04-02 | 湖南科技大学 | 任务部分卸载调度方法、终端设备及存储介质 |
CN117806806B (zh) * | 2024-02-28 | 2024-05-17 | 湖南科技大学 | 任务部分卸载调度方法、终端设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Arabnejad et al. | List scheduling algorithm for heterogeneous systems by an optimistic cost table | |
US9183058B2 (en) | Heuristics-based scheduling for data analytics | |
Kim et al. | Multi-agent reinforcement learning-based resource management for end-to-end network slicing | |
CN113220356B (zh) | 一种移动边缘计算中的用户计算任务卸载方法 | |
CN113867843A (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN116782298A (zh) | 一种在云边系统中实现资源抢占式卸载方法 | |
CN111988787B (zh) | 一种任务的网络接入和服务放置位置选择方法及系统 | |
CN117041330B (zh) | 一种基于强化学习的边缘微服务细粒度部署方法及系统 | |
CN116886703A (zh) | 一种基于优先级和强化学习的云边端协作计算卸载方法 | |
CN110098964A (zh) | 一种基于蚁群算法的部署优化方法 | |
Quang et al. | Evolutionary actor-multi-critic model for VNF-FG embedding | |
CN112596910A (zh) | 一种多用户mec系统中的云计算资源调度方法 | |
da Silva Veith et al. | Multi-objective reinforcement learning for reconfiguring data stream analytics on edge computing | |
Li et al. | Profit maximization for service placement and request assignment in edge computing via deep reinforcement learning | |
Bensalem et al. | Scaling Serverless Functions in Edge Networks: A Reinforcement Learning Approach | |
Li et al. | Profit driven service provisioning in edge computing via deep reinforcement learning | |
KR102336297B1 (ko) | 공유 gpu 클러스터를 위한 분산 딥러닝 작업 스케줄링 방법 및 이를 기록한 컴퓨터 판독 가능 기록매체 | |
CN117112210A (zh) | 一种基于分层博弈的移动边缘计算卸载的资源调度方法 | |
CN116321199A (zh) | 一种基于时序图和图匹配理论的任务卸载方法、设备及介质 | |
KR100925137B1 (ko) | 종단간 지연 보장을 갖는 다중-계층 인프라의 비용 최소화방법 및 장치 | |
Sato et al. | Program file placement strategies for machine-to-machine service network platform in dynamic scenario | |
CN115033355A (zh) | 任务调度方法、电子设备及存储介质 | |
Mishra et al. | A task offloading and reallocation scheme for passenger assistance using fog computing | |
Ahmed et al. | Execution delay-aware task assignment in mobile edge cloud and internet cloud | |
Iwamoto et al. | Optimal VNF scheduling for minimizing duration of QoS degradation |
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 |