基于服务部署更新的任务调度方法及系统

文档序号:33190850发布日期:2023-02-04 08:23阅读:33来源:国知局
基于服务部署更新的任务调度方法及系统

1.本发明属于边缘计算技术领域,具体涉及基于服务部署更新的任务调度方法及系统。


背景技术:

2.为了对海量数据进行处理,催生出大量的数据密集型应用,这类应用的工作模式是以数据为核心,在运行过程中不断获取、更新、存储大量数据,并对这些数据进行各种计算。传统的云计算技术基于数据中心强大的计算与存储能力,能够处理来自终端设备收集的大量数据。但随着数据密集型应用的发展,用户更加追求流畅的体验,对任务响应时间和服务质量的要求逐步变高,导致云计算难以满足许多应用场景的需求。
3.移动边缘计算(mobile edge computing,mec)通过将原属于云数据中心的计算、存储资源部署到无线接入网络的边缘,减少了传统云计算模式下大量的网络交互延时,同时还为终端用户提供了计算、存储能力以及更低的能量消耗。与传统的计算任务卸载不同,由于用户请求的依赖性,只有当边缘服务器部署了应用相关的服务缓存以后,才能对某种类型服务的用户任务进行处理。受限于存储资源,边缘服务器只能选择部分服务进行部署,不同的部署方案会对任务卸载决策造成影响。另外,从边缘集群的角度出发,使用高效的任务调度算法以向用户提供高质量的服务是非常重要的。考虑到一些任务有着响应时延的约束,降低用户任务的响应时间以满足时延敏感型任务的需要成为保障用户服务质量的关键。而不合理的任务调度方式可能会造成部分边缘节点的负载过重,导致能够提供的服务质量降低。
4.服务部署和任务调度之间是强耦合的关系,服务部署策略决定了任务调度的决策空间,而任务调度结果反映了服务部署策略的性能。现有的任务调度方法缺少对服务部署的综合考量。


技术实现要素:

5.基于现有技术存在的上述不足,本发明的目的是提供基于服务部署更新的任务调度方法及系统。
6.为了实现上述发明目的,本发明采用如下技术方案:
7.基于服务部署更新的任务调度方法,包括以下步骤:
8.s1、对边缘网络中的各边缘服务器进行服务部署的初始化;
9.s2、将系统时间离散为若干个时帧,每个时帧由若干个时隙组成,服务部署发生在每个时帧的第一个时隙,任务调度发生在每个时帧的第一个时隙之后的任意时隙;
10.s3、在每个时帧的开始时隙,对服务部署进行动态调整,以得到任务集合的超时损失达到目标要求对应的目标服务部署;
11.s4、基于目标服务部署,计算边缘服务器对任务集合的任务的调度优先级;
12.s5、基于任务的调度优先级进行任务调度。
13.作为优选方案,所述步骤s1,包括:
14.将边缘网络内所有边缘服务器按照存储容量排序,并根据第一存储容量划分阈值将边缘服务器集合划分为高容量组n
high
和低容量组 n
low

15.将服务对应的应用程序集合根据应用程序所需的存储容量排序,并根据第二存储容量划分阈值将应用程序集合划分为高需求组s
high
和低需求组s
low

16.按照top-k算法将s
high
中的应用程序部署至n
high
中的各边缘服务器、将s
low
中的应用程序部署至n
low
中的各边缘服务器。
17.作为优选方案,所述步骤s3中,任务集合的超时损失为:
[0018][0019]
tu为任务集合中的任务u卸载至其对应的边缘服务器的响应时间, tu为任务集合中的任务u的期望响应时间,wu表示权重系数,用来衡量任务u对于时延的敏感性,其大小与任务对应的服务类型相关。
[0020]
作为优选方案,任务u卸载至其对应的边缘服务器n的响应时间为:
[0021][0022]
其中,为发送任务u的任务数据至边缘服务器n的传输时延,为边缘服务器n执行任务u的排队时延,为边缘服务器 n执行任务u的计算时延。
[0023]
作为优选方案,所述步骤s3中的,目标要求为预设的超时损失阈值。
[0024]
作为优选方案,所述步骤s4,包括:
[0025]
对于任务u,若其被调度至边缘服务器n上,设任务u在边缘服务器n等待队列中的位置是idx,则任务u的开始处理时间为其前一个任务的完成时间;结合任务u的计算量cu与边缘服务器n的计算能力wn,则任务u的预估响应时间为:
[0026][0027]
其中,curtime表示当前时刻,arrivetimeu表示任务u的产生时间,为计算时延,为排队时延;由于任务u的加入,等待队列中排在任务u后的任务相较之前实际响应时间有所延后,会造成原先能在期望响应时间内完成的任务未能按时完成,采用超时损失增量δ
u,n
来描述由于加入新任务后引起的任务集合超时损失变化;
[0028]
对于每个排在新任务u后的任务v,需要重新计算它的预估响应时间结合该任务之前的预估响应时间得到超时损失增量δ
u,n
为:下面具体计算方式,。
[0029][0030]
其中,qsize表示边缘服务器n的任务队列长度;
[0031]
在得到任务u在边缘服务器n上的预估响应时间t
u,n
,以及任务u 在边缘服务器n上的超时损失增量δ
u,n
后,计算边缘服务器n对于任务u的调度优先级为:
[0032][0033]
其中,α1为任务调度权重系数,β作为缩放系数。
[0034]
作为优选方案,所述调度优先级e
n,u
越小,则边缘服务器n面对任务u时被选作任务调度的目标服务器的优先级越高。
[0035]
作为优选方案,边缘服务器的计算能力为cpu处理能力。
[0036]
本发明还提供基于服务部署更新的任务调度系统,应用如上任一项方案所述的任务调度方法,所述任务调度系统包括:
[0037]
服务部署初始化模块,用于对边缘网络中的各边缘服务器进行服务部署的初始化;
[0038]
时间离散模块,用于将系统时间离散为若干个时帧,每个时帧由若干个时隙组成,服务部署发生在每个时帧的第一个时隙,任务调度发生在每个时帧的第一个时隙之后的任意时隙;
[0039]
服务部署调整模块,用于在每个时帧的开始时隙,对服务部署进行动态调整,以得到任务集合的超时损失达到目标要求对应的目标服务部署;
[0040]
优先级计算模块,用于基于目标服务部署,计算边缘服务器对任务集合的任务的调度优先级;
[0041]
任务调度模块,用于基于任务的调度优先级进行任务调度。
[0042]
与现有技术相比,本发明具有如下有益效果:
[0043]
本发明将系统时间划分为若干个时隙,将服务部署和任务调度分离。采用局部搜索算法调整服务部署方案,并在任务调度的时候根据此刻的服务部署方案计算节点的优先级从而确定将任务调度到哪个节点执行,提升用户的服务质量。
附图说明
[0044]
图1是本发明实施例的模型组件的原理图;
[0045]
图2是本发明实施例的系统时间尺度划分示意图;
[0046]
图3是本发明实施例的服务部署动态调整示意图;
[0047]
图4是本发明实施例的用户请求调度示意图;
[0048]
图5是本发明实施例的任务调度方法的执行流程图。
具体实施方式
[0049]
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。
显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0050]
本发明实施例的基于服务部署更新的任务调度方法,如图1所示,本方法主要包括三个组件:1)用户服务质量量化模块;2)服务部署模块;3)任务调度模块。
[0051]
(一)用户服务质量量化模块
[0052]
每个任务u可以使用《du,cu,tu,wu》来描述,其中du表示本次请求携带的数据量;cu表示处理该请求需要消耗的计算量;tu表示用户请求的期望响应时间,未能在期望响应时间内得到处理结果的任务会造成服务质量的下降;wu表示权重系数,用来衡量用户请求对于时延的敏感性,其大小和请求对应的服务类型有关,对于实时性要求越高的服务wu的值相对更大。
[0053]
边缘服务器的关键资源在于计算能力和存储能力,对于任意的边缘服务器n,将其资源特征抽象为《wn,rn》,其中wn和rn分别表示边缘服务器n的cpu处理能力和存储容量。
[0054]
从边缘服务平台的角度出发,提供较高的服务质量关键在于能否将任务u的处理结果在其期望响应时间tu内传回给用户。用户请求(即任务)的响应时间由三部分构成:
[0055]
(1)用户发送任务数据至目标边缘服务器的传输时延
[0056]
(2)mec服务器(即边缘服务器)执行任务的处理时延,包括排队时延和计算时延
[0057]
(3)用户接收mec服务器处理结果的传输时延。
[0058]
考虑到任务处理结果的数据量通常比较小,所以忽略用户接收 mec服务器处理结果的传输时延,
[0059]
因此,用户任务u卸载到边缘服务器n的响应时间t
u,n
可以表示为
[0060]
然而当用户的请求密度超过边缘服务平台的处理能力时,部分任务的实际响应时间将超出期望响应时间,造成服务质量的下降,本发明定义超时损失衡量用户服务质量,任务集合的超时损失越小表示相对服务质量越高。超时损失的定义如下:
[0061][0062]
(二)服务部署模块
[0063]
如图2所示,本发明将服务部署和任务调度决策的时间尺度分离,以减少调整服务部署的频率。将系统时间离散为若干个时隙,每t0个时隙组成一个时帧,服务部署发生在每个时帧的开始时隙,以避免高昂的服务部署成本;任务调度发生在中间的任意时隙,以保持响应的实时性。在单个时帧的时间尺度内,所有任务调度决策均基于在每个时帧开始时获得的服务部署决策。
[0064]
在初始情况下,需要对每台边缘服务器进行服务初始化部署。整个服务初始化部署分成两个部分,包括资源初始化和服务预部署。首先资源初始化过程会将边缘网络内所
有的服务器按照存储容量降序排序,并根据mec资源划分阈值θ1将服务器集合n划分为n
high
和n
low
两组,其中n
high
中的mec 服务器存储资源较为丰富,n
low
中的mec服务器存储资源相对较少。完成资源初始化后,开始执行服务预部署,首先将应用程序集合根据应用程序所需的存储容量阈值θ2分为s
high
和s
low
两组。在存储资源的约束下,遍历n
high
中的边缘服务器,按照top-k算法将s
high
中的应用程序部署到每台边缘服务器上;按照同样的方法,将s
low
中的应用程序部署到n
low
中的每台边缘服务器上。
[0065]
完成服务初始化部署之后,执行任务调度策略并记录当前的超时损失。在每个时帧开始的时候会执行局部服务部署调整,如果执行某个操作使得任务集合的超时损失值至少优化了(1-ε)(ε是一个(0,1]范围内的常数,该参数的作用是保证数值的稳定性和收敛性),那么就接受此次局部调整方案,并开始新的一轮迭代。如果没有达到优化的要求,则此次调整操作将被拒绝。如果所有可能存在的操作都不能对任务集合的超时损失做出优化,则表示当前服务部署策略达到局部最小值,结束服务部署调整。
[0066]
如图3所示,展示了服务动态调整的示意图。
[0067]
(三)任务调度模块
[0068]
任务调度决策发生在每个时帧的中间时隙,并且需要基于时帧开始时隙的部署方案作出决策。调度决策以最小化超时损失为目标,任务集合的超时损失受到两方面的因素影响:一方面,当任务的实际响应时间超过期望响应时间时,会造成任务集合整体超时损失的增加;另一方面,如果任务的超时损失系数越高,那么当任务超时后造成的超时损失会高于那些超时损失系数低的任务。基于此提出了节点调度优先级的概念,并基于节点的优先级设计了任务调度算法。
[0069]
对于某个任务u,如果它被调度到了边缘服务器n上,假设它在服务器等待队列中的位置是idx,此时任务u的开始处理时间为它的前一个任务的完成时间。结合任务u的计算量cu与边缘服务器n的计算能力wn,下面给出任务u 的预估响应时间t
u,n
的计算方式,其中curtime表示当前时刻,arrivetimeu表示任务u的产生时间。
[0070][0071]
由于任务u的加入,缓存队列中排在u后的任务相较之前实际响应时间有所延后,可能会造成原先能在期望响应时间内完成的任务未能按时完成,所以需要用超时损失增量δ
u,n
来描述由于加入新任务后引起的任务集合超时损失变化。对于每个排在新任务u后的任务v,我们需要重新计算它的预估响应时间结合该任务之前的预估响应时间可以得到超时损失增量δ
u,n
,下面具体计算方式,其中qsize表示边缘服务器n的任务队列长度。
[0072][0073]
在得到任务u在边缘服务器n上的预估响应时间t
u,n
,以及任务u 在边缘服务器n上的超时损失增量δ
u,n
后,可以计算边缘服务器的调度优先级,计算方式如下:
[0074][0075]
其中,e
n,u
表示节点n在面对用户任务u时的调度优先级,e
n,u
越小,代表节点n在面对任务u时被选作任务调度的目标服务器的优先级越高,即越倾向于将任务调度到该节点上。α1为任务调度权重系数;β作为缩放系数,用以控制超时损失增量分数在合理的数值范围内,避免由于超时损失增量分数与任务预估响应时间分数之间的差值过大而造成权重倾斜。
[0076]
下面给出任务调度模块的算法描述。
[0077][0078][0079]
如图4所示,展示了用户请求调度示意图。
[0080]
本发明的具体执行步骤是:
[0081]
步骤1:服务部署模块将系统时间离散为若干个时帧,每个时帧由若干个时隙组成,服务部署发生在每个时帧的第一个时隙,任务调度发生在中间的任意时隙
[0082]
步骤2:服务部署模块分别将服务器和用户请求按照拥有的资源高低以及所需资源的高低划分为两组,并进行服务的预部署
[0083]
步骤3:在每个时帧的开始时隙,服务部署模块负责对服务部署进行动态调整。枚举所有的调整方案,通过服务质量量化模块计算调整动作对系统整体服务质量的影响,选择对服务质量具有提高效果的调整方案
[0084]
步骤4:在每个时帧的中间时隙,任务调度模块负责对用户的请求进行调度。首先需要结合任务的计算量和边缘服务器的计算能力,计算任务的预估响应时间
[0085]
步骤5:任务调度模块通过服务质量量化模块计算用户请求加入到某个边缘服务之后造成的系统服务质量变化值
[0086]
步骤6:通过步骤4和步骤5中的两个计算结果,对每台边缘服务器计算优先级。并将用户请求调度到优先级最高的边缘节点执行
[0087]
步骤7:重复步骤3到步骤6。
[0088]
如图5为本发明实施例的任务调度方法的流程示意图,具体包括以下步骤:
[0089]
s1、对边缘网络中的各边缘服务器进行服务部署的初始化。
[0090]
具体地,初始化过程包括:
[0091]
将边缘网络内所有边缘服务器按照存储容量排序,并根据第一存储容量划分阈值将边缘服务器集合划分为高容量组n
high
和低容量组 n
low

[0092]
将服务对应的应用程序集合根据应用程序所需的存储容量排序,并根据第二存储容量划分阈值将应用程序集合划分为高需求组s
high
和低需求组s
low

[0093]
按照top-k算法将s
high
中的应用程序部署至n
high
中的各边缘服务器、将s
low
中的应用程序部署至n
low
中的各边缘服务器。
[0094]
s2、将系统时间离散为若干个时帧,每个时帧由若干个时隙组成,服务部署发生在每个时帧的第一个时隙,任务调度发生在每个时帧的第一个时隙之后的任意时隙。
[0095]
s3、在每个时帧的开始时隙,对服务部署进行动态调整,以得到任务集合的超时损失达到目标要求对应的目标服务部署。
[0096]
其中,任务集合的超时损失为:
[0097][0098]
tu为任务集合中的任务u卸载至其对应的边缘服务器的响应时间, tu为任务集合中的任务u的期望响应时间,wu表示权重系数,用来衡量任务u对于时延的敏感性,其大小与任务对应的服务类型相关。
[0099]
本发明实施例的目标要求为预设的超时损失阈值。
[0100]
s4、基于目标服务部署,计算边缘服务器对任务集合的任务的调度优先级。
[0101]
具体地,对于任务u,若其被调度至边缘服务器n上,设任务u在边缘服务器n等待队列中的位置是idx,则任务u的开始处理时间为其前一个任务的完成时间;结合任务u的计算量cu与边缘服务器n的计算能力wn,则任务u的预估响应时间为:
[0102][0103]
其中,curtime表示当前时刻,arrivetimeu表示任务u的产生时间,为计算时延,为排队时延;由于任务u的加入,等待队列中排在任务u后的任务相较之前实际响应时间有所延后,会造成原先能在期望响应时间内完成的任务未能按时完成,采用超时损失增量δ
u,n
来描述由于加入新任务后引起的任务集合超时损失变化;
[0104]
对于每个排在新任务u后的任务v,需要重新计算它的预估响应时间结合该任务之前的预估响应时间得到超时损失增量δ
u,n
为:下面具体计算方式,。
[0105][0106]
其中,qsize表示边缘服务器n的任务队列长度;
[0107]
在得到任务u在边缘服务器n上的预估响应时间t
u,n
,以及任务u 在边缘服务器n上的超时损失增量δ
u,n
后,计算边缘服务器n对于任务u的调度优先级为:
[0108][0109]
其中,α1为任务调度权重系数,β作为缩放系数。
[0110]
调度优先级e
n,u
越小,则边缘服务器n面对任务u时被选作任务调度的目标服务器的优先级越高。
[0111]
本发明实施例的边缘服务器的计算能力为cpu处理能力。
[0112]
s5、基于任务的调度优先级进行任务调度。
[0113]
相对应地,本发明实施例还提供基于服务部署更新的任务调度系统,应用本发明实施例的上述任务调度方法。
[0114]
本发明实施例的任务调度系统包括服务部署初始化模块、时间离散模块、服务部署调整模块、优先级计算模块和任务调度模块。
[0115]
本发明实施例的服务部署初始化模块,用于对边缘网络中的各边缘服务器进行服务部署的初始化。
[0116]
初始化过程包括:
[0117]
将边缘网络内所有边缘服务器按照存储容量排序,并根据第一存储容量划分阈值将边缘服务器集合划分为高容量组n
high
和低容量组 n
low

[0118]
将服务对应的应用程序集合根据应用程序所需的存储容量排序,并根据第二存储容量划分阈值将应用程序集合划分为高需求组s
high
和低需求组s
low

[0119]
按照top-k算法将s
high
中的应用程序部署至n
high
中的各边缘服务器、将s
low
中的应用程序部署至n
low
中的各边缘服务器。
[0120]
本发明实施例的时间离散模块,用于将系统时间离散为若干个时帧,每个时帧由
若干个时隙组成,服务部署发生在每个时帧的第一个时隙,任务调度发生在每个时帧的第一个时隙之后的任意时隙。
[0121]
本实施例的服务部署调整模块,用于在每个时帧的开始时隙,对服务部署进行动态调整,以得到任务集合的超时损失达到目标要求对应的目标服务部署。
[0122]
其中,任务集合的超时损失为:
[0123][0124]
tu为任务集合中的任务u卸载至其对应的边缘服务器的响应时间, tu为任务集合中的任务u的期望响应时间,wu表示权重系数,用来衡量任务u对于时延的敏感性,其大小与任务对应的服务类型相关。
[0125]
本发明实施例的目标要求为预设的超时损失阈值。
[0126]
本发明实施例的优先级计算模块,用于基于目标服务部署,计算边缘服务器对任务集合的任务的调度优先级。
[0127]
具体地,对于任务u,若其被调度至边缘服务器n上,设任务u在边缘服务器n等待队列中的位置是idx,则任务u的开始处理时间为其前一个任务的完成时间;结合任务u的计算量cu与边缘服务器n的计算能力wn,则任务u的预估响应时间为:
[0128][0129]
其中,curtime表示当前时刻,arrivetimeu表示任务u的产生时间,为计算时延,为排队时延;由于任务u的加入,等待队列中排在任务u后的任务相较之前实际响应时间有所延后,会造成原先能在期望响应时间内完成的任务未能按时完成,采用超时损失增量δ
u,n
来描述由于加入新任务后引起的任务集合超时损失变化;
[0130]
对于每个排在新任务u后的任务v,需要重新计算它的预估响应时间结合该任务之前的预估响应时间得到超时损失增量δ
u,n
为:下面具体计算方式,。
[0131][0132]
其中,qsize表示边缘服务器n的任务队列长度;
[0133]
在得到任务u在边缘服务器n上的预估响应时间t
u,n
,以及任务u 在边缘服务器n上的超时损失增量δ
u,n
后,计算边缘服务器n对于任务u的调度优先级为:
[0134][0135]
其中,α1为任务调度权重系数,β作为缩放系数。
[0136]
调度优先级e
n,u
越小,则边缘服务器n面对任务u时被选作任务调度的目标服务器的优先级越高。
[0137]
本发明实施例的边缘服务器的计算能力为cpu处理能力。
[0138]
本发明实施例的任务调度模块,用于基于任务的调度优先级进行任务调度。
[0139]
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1