一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

云-边协同的边缘计算任务分配方法、系统及存储介质与流程

2021-11-05 21:09:00 来源:中国专利 TAG:



边协同的边缘计算任务分配方法、系统及存储介质
技术领域
1.本发明属于工业互联网的边缘计算技术领域,具体涉及一种云

边协同的边缘计算任务分配方法、系统及存储介质。


背景技术:

2.工业互联网中海量终端设备(边缘节点)执行环境感知、数据采集与传输任务,由于边缘节点的存储资源与计算资源极其有限,通常需要将计算任务卸载到服务器。云服务器可为边缘节点提供高质量服务,但海量信息的传输却受制于工业互联网的有限带宽资源。若将数据处理从云中心转移到网络边缘,部署边缘服务器,计算任务可分散到工业互联网中靠近终端节点或数据源的边缘侧,不仅可缓解云带宽、计算资源受限等压力,还可以优化工业互联网的体系架构。异构边缘节点产生的计算任务有不同的qos(quality of service,服务质量)需求,如完成截止时间需求。另一方面,不同计算成本的边缘服务器与云服务器可为计算任务提供不同质量的服务。
3.鉴于工业互联网应用的定制需求,计算任务可分为时延敏感类计算任务与时延非敏感类计算任务,每项计算任务的传输量与计算量不尽相同,时延敏感类计算任务更偏好高性能服务器。另一方面,边缘服务器采用无线通信方式,由于其功耗限制,边缘服务器仅能服务其覆盖范围内的边缘节点(覆盖范围为以边缘服务器为圆心、以通信半径为半径的圆盘)。由于其存储空间与计算性能限制,边缘服务器仅能为一定数量的边缘节点提供服务。云服务器可为所有边缘节点提供服务,但其传输带宽受限,且成本高于边缘服务器,服务器更偏好能给自己带来高收益的计算任务。如何将计算任务分配给服务器(包括边缘服务器与云服务器)是一个np完全问题。
4.边缘计算任务分配面临的第一个挑战是如何在计算任务与服务器之间形成一个稳定的匹配结果,即所有的计算任务与服务器都没有动机偏离匹配结果。第二个挑战是如何最大化给定系统资源情况下的计算任务成功率(计算任务的实际完成时间早于其完成时间限制,则认为该任务被成功完成。成功率定义为成功的计算任务所占的比重)。


技术实现要素:

5.为解决现有技术中存在的不足,本发明提供了一种云

边协同的边缘计算任务分配方法、系统及存储介质,实现了计算任务与计算资源间的最佳匹配,解决了工业互联网海量边缘节点的异质计算任务需求与受限计算资源间的矛盾。
6.为了解决上述技术问题,本发明采用如下技术方案予以实现:
7.本发明首先公开了一种云

边协同的边缘计算任务分配方法,包括以下步骤:
8.步骤1,计算边缘节点的计算任务与服务器在各自通信覆盖范围内对彼此的偏好值,获得边缘节点的计算任务对服务器的偏好值列表以及服务器对边缘节点的计算任务的偏好值列表;
9.步骤2,对边缘节点的计算任务进行预匹配
10.步骤201,将所有计算任务和服务器均初始化为自由者;
11.步骤202,随机选择一个边缘节点,该边缘节点需满足:在边缘节点的计算任务对服务器的偏好值列表中至少有一个服务器没有拒绝该边缘节点的计算任务;若无自由边缘节点可选,则算法结束,所述自由边缘节点指未匹配服务器的边缘节点;
12.步骤203,经步骤202选中的边缘节点的计算任务向其偏好列表中尚未拒绝自己且偏好值最小的服务器提出服务请求,若无服务器可选,则返回步骤202;否则执行步骤204;
13.步骤204,服务器从所有向自己提出请求的计算任务中选择偏好值排名靠前的不多于q
s
个计算任务,作为预匹配结果,同时拒绝其他计算任务;
14.其中,偏好值排名按照从小到大排列;q
s
表示每个服务器可支持的计算任务数量;
15.步骤205:重复上述步骤202至步骤204,直至完成所有边缘节点计算任务的预匹配;
16.步骤3,对计算任务进行转移,获得更优的匹配结果
17.步骤301,对于每一个计算任务,更新该计算任务对其偏好值列表中所有服务器的偏好值,获得更新后的计算任务对服务器的偏好值列表;
18.其中更新后的计算任务对服务器的偏好值为该计算任务在步骤1计算得到的偏好值与该计算任务的等待时间之和;
19.步骤302,根据步骤301更新后的计算任务对服务器的偏好值列表,确定每一个计算任务的转移候选服务器集合;
20.所述转移候选服务器集合为该计算任务对应的更新后的计算任务对服务器的偏好列表中,排名先于步骤2的预匹配阶段中该计算任务所匹配服务器的服务器集合;
21.步骤303,随机选择一个边缘节点,该边缘节点需满足:边缘节点的计算任务的转移候选服务器集合不为空;若无边缘节点可选,则算法结束;
22.步骤304,经步骤303选中的边缘节点的计算任务,选择其转移候选服务器集合中尚未拒绝转移且偏好值最小的候选服务器,若无候选服务器可选,则返回步骤303;否则执行步骤305;
23.步骤305,若选择的候选服务器同时满足条件1和条件2,则该计算任务可转移到候选服务器,否则该计算任务被拒绝,不发生转移,返回步骤304选择下一个候选服务器;
24.条件1:可转移的候选服务器当前服务的计算任务数量未达上限;
25.条件2:转移涉及的两个服务器在计算任务转移后的效用值之和大于计算任务转移前的效用值之和;
26.最后获得所有计算任务的匹配结果。
27.优选的,所述步骤1具体包括以下步骤:
28.步骤101,采用式(1)获得第i个边缘节点的计算任务v
i
对第m个服务器s
m
的偏好值
[0029][0030]
式(1)中,α、β、χ均表示系统参数,表示第i个边缘节点到第m个服务器s
m
的传输速率;表示计算任务v
i
的计算量;表示计算任务v
i
需要传输的数据量;表示计算
任务v
i
的完成时间约束;表示服务器s
m
的计算能力;表示服务器s
m
的计算成本;m=1,2,

,m,m为服务器的总数量;i=1,2,

,n,n为计算任务的总数量;
[0031]
按照公式(1),获得所有计算任务对其通信覆盖范围内所有服务器的偏好值;
[0032]
步骤102,采用式(2)计算第m个服务器s
m
对第i个边缘节点计算任务v
i
的偏好值
[0033][0034]
式(2)中,为第m个服务器到第i个边缘节点的传输速率,
[0035]
按照公式(2),获得所有服务器对其覆盖通信范围内所有计算任务的偏好值;
[0036]
步骤103,构建边缘节点v
i
与服务器s
m
之间的偏好列表。
[0037]
更优选的,所述步骤101中,传输速率其中,b为信道带宽,为第i个边缘节点到第m个服务器的传输功率,为第i个边缘节点到第m个服务器的传输距离、ε为噪声方差,k为关于信道的常数参数
[0038]
优选的,所述步骤402中,服务器s
m
的效用值采用式(5)计算,
[0039][0040]
其中,u({μ(s
m
)})表示服务器s
m
的效用值;表示服务器s
m
对边缘节点计算任务v
i
的偏好值;μ(s
m
)表示服务器s
m
匹配的计算任务的集合。
[0041]
本发明还公开了一种云

边协同的边缘计算任务分配系统,包括以下模块:
[0042]
偏好列表构建模块,用于构建边缘节点的计算任务对服务器的偏好值列表以及服务器对边缘节点的计算任务的偏好值列表;
[0043]
计算任务预匹配模块,用于对边缘节点的计算任务与服务器进行预匹配,具体包括以下子模块:
[0044]
初始化子模块,用于将所有计算任务和服务器均初始化为自由者;
[0045]
边缘节点随机选择子模块,用于根据以下条件挑选边缘节点,所述条件为:在边缘节点的计算任务对服务器的偏好值列表中至少有一个服务器没有拒绝该边缘节点的计算任务;
[0046]
计算任务请求子模块,用于将边缘节点随机选择子模块挑选出的计算任务向该计算任务的偏好列表中尚未拒绝自己且偏好值最小的服务器提出服务请求;
[0047]
判断子模块,用于判断计算任务请求子模块中是否有服务器可请求,若无,调用边缘节点随机选择子模块,否则调用服务器匹配子模块;
[0048]
服务器匹配子模块,用于服务器选择合适的计算任务作为预匹配结果,同时拒绝其他计算任务;所述选择原则为:每个服务器从所有向自己提出请求的计算任务中选择偏好值排名靠前的不多于q
s
个计算任务;
[0049]
计算任务转移模块,用于对计算任务非匹配库中的计算任务进行转移,获得更优的匹配结果,具体包括以下子模块:
[0050]
偏好值更新子模块,用于每一个计算任务对其偏好值列表中所有服务器的偏好值,获得更新后的计算任务对服务器的偏好值列表;其中更新后的计算任务对服务器的偏好值为该计算任务在偏好列表构建模块得到的偏好值与该计算任务的等待时间之和;
[0051]
转移候选服务器选取子模块,用于确定每一个计算任务的转移候选服务器集合;所述转移候选服务器集合为该计算任务对应的更新后的计算任务对服务器的偏好列表中,排名先于计算任务预匹配模块中该计算任务所匹配服务器的服务器集合;
[0052]
被转移计算任务随机选择子模块,用于根据以下条件挑选被转移的边缘节点的计算任务,所述条件为:边缘节点的计算任务的移候选服务器集合不为空;
[0053]
转移候选服务器选择子模块,用于选择计算任务可转移的候选服务器,具体选择原则为:首先,计算任务选择其转移候选服务器集合中尚未拒绝转移且偏好值最小的候选服务器;然后,选择的候选服务器需同时满足条件1和条件2,
[0054]
条件1:可转移的候选服务器当前服务的计算任务数量未达上限;
[0055]
条件2:转移涉及的两个服务器在计算任务转移后的效用值之和大于计算任务转移前的效用值之和;
[0056]
计算任务转移子模块,用于将计算任务转移至转移候选服务器选择子模块确定的候选服务器;
[0057]
计算任务匹配库,用于存储匹配成功的计算任务匹配结果。
[0058]
优选的,所述偏好列表构建模块中,采用式(1)获得第i个边缘节点的计算任务v
i
对第m个服务器s
m
的偏好值
[0059][0060]
采用式(2)计算第m个服务器s
m
对第i个边缘节点计算任务v
i
的偏好值
[0061][0062]
式(2)中,为第m个服务器到第i个边缘节点的传输速率,
[0063]
优选的,所述转移候选服务器选择子模块中,服务器s
m
的效用值采用式(5)计算,
[0064][0065]
其中,u({μ(s
m
)})表示服务器s
m
的效用值;表示服务器s
m
对边缘节点计算任务v
i
的偏好值;μ(s
m
)表示服务器s
m
匹配的计算任务的集合。
[0066]
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有本发明所述的云

边协同的边缘计算任务分配方法程序,当本发明所述的云

边协同的边缘计算任务分配方法程序被处理器执行时,实现本发明所述的云

边协同的边缘计算任务分配
方法的具体步骤。
[0067]
与现有技术相比,本发明的有益效果是:
[0068]
本发明方法主要采用两阶段计算任务分配策略:基于计算任务与服务器间的偏好,第一阶段实现计算任务与服务器间的预匹配;基于预匹配结果,更新计算任务对服务器的偏好值,研判计算任务是否有更佳的匹配结果,若有,第二阶段实现计算任务在服务器间的转移,优化计算任务的qos需求与完成质量。经仿真结果分析,本发明方法产生的匹配结果是稳定的,保障了任务的最优分配与资源的最佳配置;
[0069]
本发明的其他优点在具体实施方式中进行详细说明。
附图说明
[0070]
图1是本发明的边缘服务器

云服务器协同任务分配系统示意图;
[0071]
图2是本发明的方法流程图;
[0072]
图3是边缘节点数量

计算任务成功率关系图;
[0073]
图4是服务器数量

计算任务成功率关系图;
[0074]
图5是边缘节点数量

执行时间关系图;
[0075]
图6是边缘节点数量

计算任务完成时间关系图;
[0076]
图7是边缘服务器数量

计算任务完成时间关系图;
[0077]
图8是边缘节点数量

计算任务幸福指数关系图;
[0078]
图9是边缘服务器数量

计算任务幸福指数关系图;
[0079]
图10是边缘节点数量

服务器效用值关系图;
[0080]
图11是边缘服务器数量

服务器效用值关系图。
具体实施方式
[0081]“边缘服务器”是指工业互联网为服务边缘节点而部署的、靠近物联网设备的承载边缘计算功能的实物载体。边缘服务器采用无线通信方式,由于其功耗限制,边缘服务器仅能服务其覆盖范围内的边缘节点(覆盖范围为以边缘服务器为圆心、以通信半径为半径的圆盘)。由于其存储空间与计算性能限制,边缘服务器仅能为一定数量的边缘节点提供服务。
[0082]“边缘节点”是指工业互联网中的物联网设备,具有环境感知、数据采集与传输能力,但计算能力较弱。边缘节点也有通信半径,仅能使用覆盖范围内的服务器(覆盖范围为以边缘节点为圆心、以通信半径为半径的圆盘)。
[0083]
本发明中,一个边缘节点仅有一个需要执行的计算任务,若边缘节点有多个计算任务,则将该边缘节点虚拟为多个具有单计算任务的多个边缘节点。
[0084]
本发明中“步骤201,将所有计算任务和服务器均初始化为自由者”中的“自由者”是指没有匹配对象的边缘节点和服务器。
[0085]
以下给出本发明的具体实施例,需要说明的是,本发明并不局限于以下具体实施例,在下述具体实施例中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,只要其不违背本发明的思想,同样应当视其为本发明所公开的内容。
[0086]
实施例1
[0087]
本实施例公开了一种云

边协同的边缘计算任务分配方法,该方法主要采用两阶段计算任务分配策略,协同云服务器与边缘服务器,为边缘节点的计算任务提供计算支持:基于计算任务与服务器间的偏好,第一阶段实现计算任务与服务器间的预匹配;基于预匹配结果,更新计算任务对服务器的偏好值,研判计算任务是否有更佳的匹配结果,若有,第二阶段实现计算任务在服务器间的转移,优化计算任务的qos需求与完成质量。
[0088]
首先,构建系统模型,为边缘计算任务分配提供一个系统框架,如图1所示,具体为:
[0089]
将边缘计算任务分配系统表示为三元组γ=<w,s,p>,其中,
[0090]
w为边缘节点的集合,n为边缘节点的数量,一个边缘节点仅有一个需要执行的计算任务,若边缘节点有多个计算任务,将该边缘节点虚拟为多个具有单计算任务的多个边缘节点,因此边缘节点的计算任务的数量也为n,本实施例仿真时计算任务数量n为25;计算任务用v
i
表示,i=1,2,...,n。
[0091]
s为服务器s
m
的集合,即s
m
∈s,s
m
为第m个服务器,m=1,2,...,m,m为服务器的数量,包括多个边缘服务器和一个云服务器。边缘服务器可为覆盖范围内的边缘节点v
i
提供计算服务,且有可支持的计算任务数量上限,云服务器可为所有边缘节点服务且无服务数量限制;一个计算任务只能匹配一个服务器,一个服务器可以匹配多个计算任务。本实施例仿真时设置的服务器数量总数为10个,其中边缘服务器数量为9,云服务器数量为1。
[0092]
为边缘节点计算任务v
i
与服务器s
m
之间的偏好值,为服务器s
m
对边缘节点计算任务v
i
的偏好值。
[0093]
本实施例的物联网设备被随机分布在15
×
15(km2)的地区内,为保证每个设备通信半径内均有边缘服务器节点,边缘服务器被均匀的分布在地区内,每个边缘节点的通信半径设置为3.5km。
[0094]
基于上述边缘计算任务分配模型,本实施例的具体分配方法包括以下步骤:
[0095]
第一阶段:
[0096]
步骤1,计算边缘节点的计算任务与服务器在各自通信覆盖范围内对彼此的偏好值,获得边缘节点的计算任务对服务器的偏好值列表以及服务器对边缘节点的计算任务的偏好值列表;具体步骤如下:
[0097]
第i个边缘节点的计算任务表示为其中,表示计算任务的计算量,本实施例每个任务的计算量从(15,25)mb范围内随机取值,表示计算任务需要传输的数据量,本实施例每个任务的数据传输量从(10,25)mb范围内随机取值,表示任务的完成时间约束,即计算任务必须在之前完成,否则任务失败,本实施例秒。
[0098]
服务器s
m
表示为其中表示服务器s
m
的计算能力,本实施例的边缘服务器的计算能力为(0,12]ghz,云服务器为(10,25)ghz;表示服务器s
m
的计算成本,计算成本与计算能力成正比,云服务器的计算成本=云服务器的计算能力*0.5千元,边缘服务器的计算成本=边缘服务器的计算能力*0.1
千元;表示服务器s
m
可支持的计算任务数量,即最大可接入数,本实施例的边缘服务器的最大可接入数为4,云服务器无最大可接入数限制,故实现时设置为边缘节点的数量25。
[0099]
步骤101,鉴于边缘节点v
i
倾向选择传输时间更短、计算能力更强、任务花费更低的服务器,综合考虑计算任务的传输数据量、计算量与服务器的计算能力、计算成本,采用式(1)获得第i个边缘节点的计算任务v
i
对服务器s
m
的偏好值
[0100][0101]
式(1)中,α、β、χ均为系统参数,具体实施例中,α、β、χ主要作为权重参数,取值均为1;为第i个边缘节点到第m个服务器s
m
的传输速率,b为信道带宽,本实施例b=50mhz,为第i个边缘节点到第m个服务器的传输功率,本实施例的传输功率取值为100mw;为第i个边缘节点到第m个服务器的传输距离,本实施例中边缘节点被随机分布在15km*15km的地区内,为保证每个设备通信半径内均有边缘服务器节点,边缘服务器被均匀的分布在地区内,每个节点的通信半径设置为3.5km;ε为噪声方差,本实施例噪声方差的取值是

100dbm;k为关于信道的常数参数,本实施例中k=10
‑5;
[0102]
按照公式(1),得到所有计算任务对各自覆盖范围内的服务器的偏好值。
[0103]
步骤102,鉴于服务器s
m
倾向于服务能耗更小、收益更大的计算任务,综合考虑计算任务的传输数据量、计算量与服务器的计算能力、计算成本,采用式(2)计算服务器s
m
对边缘节点计算任务v
i
的偏好值
[0104][0105]
式(2)中,为第m个服务器到第i个边缘节点的传输速率,
[0106]
按照公式(2),得到所有服务器对各自覆盖范围内的计算任务的偏好值。
[0107]
步骤103,构建边缘节点v
i
与服务器s
m
之间的偏好列表:
[0108]
任意边缘节点的偏好关系>可定义为服务器集合s或边缘节点集合v上的一个完整、自反和传递的二元关系。
[0109]
对于任意两个服务器s
m
,s
n
,s
m
,s
n
∈s,m≠n,若边缘节点v
i
更偏好于服务器s
m
,则偏好关系>v
i
可表示为:
[0110][0111]
对于任意两个边缘节点v
i
,v
j
,v
i
,v
j
∈v,i≠j,若服务器s
m
更倾向于边缘节点v
i
,则其偏好关系>s
m
可表示为:
[0112][0113]
步骤2,基于匹配理论的边缘节点计算任务预匹配
[0114]
边缘节点的计算任务和服务器之间的匹配结果μ是一个映射:v∪m
→2v
∪m,2
v
是v
的所有子集的集合,m为服务器的数量,用μ(v
i
)表示计算任务v
i
所匹配的服务器,用μ(s
m
)表示服务器匹配的计算任务集合。例如,计算任务v1、v2被匹配到服务器s1,则μ(v1)=s1,μ(v2)=s1,μ(s1)={v1,v2}。计算任务和服务器之间的匹配结果必须是稳定的,即参与匹配的双方满意当前的匹配结果,无偏离当前匹配结果的动机。
[0115]
具体实现步骤如下:
[0116]
步骤201:将所有计算任务和服务器均初始化为自由者;
[0117]
步骤202:随机选择一个边缘节点,该边缘节点满足:在边缘节点的计算任务对服务器的偏好值列表中至少有一个服务器没有拒绝该边缘节点的计算任务,即该边缘节点至少未被自己偏好列表中的一个服务器拒绝;
[0118]
步骤203:经步骤202选中的边缘节点的计算任务向其偏好列表中尚未拒绝自己且偏好值(即)最小的服务器提出服务请求,若无服务器可选,则返回步骤202;否则执行步骤204;
[0119]
步骤204:基于服务器可支持的计算任务数量限制,并结合自己的偏好列表,每个服务器从所有向自己提出请求的计算任务中选择偏好值(即)排名靠前的不多于q
s
个计算任务,作为预匹配结果,同时拒绝其他计算任务;其中偏好值是按照从小到大排列;q
s
表示每个服务器可支持的计算任务数量;
[0120]
步骤205:重复上述步骤202至步骤204,直至完成所有边缘节点计算任务的匹配。
[0121]
第二阶段:
[0122]
步骤3,对计算任务进行转移,获得更优的匹配结果
[0123]
步骤301,对于每一个计算任务,更新该计算任务对其偏好值列表(即步骤1中的偏好值列表)中所有服务器的偏好值,获得更新后的计算任务对服务器的偏好值列表;
[0124]
其中更新后的计算任务对服务器的偏好值为该计算任务在步骤1计算得到的偏好值与该计算任务的等待时间之和,具体可表示为:
[0125][0126]
其中,为第i个边缘节点的计算任务v
i
对服务器s
m
的偏好值计算任务v
i
所匹配的服务器,μ(μ(v
i
))为计算任务v
i
当前匹配的服务器μ(v
i
)所匹配的计算任务集合;表示等待时间,v
k
为所有被匹配到v
i
所匹配服务器的计算任务,而且这些计算任务的偏好值大于v
i

[0127]
步骤302,根据步骤301更新后的计算任务对服务器的偏好值列表,确定每一个计算任务的转移候选服务器集合;
[0128]
其中,转移候选服务器集合为该计算任务对应的更新后的计算任务对服务器的偏好列表中,排名先于步骤2的预匹配阶段中该计算任务所匹配服务器的服务器集合;每一个计算任务的转移候选服务器可以有0个、1或多个。
[0129]
步骤303,随机选择一个边缘节点,该边缘节点需满足:边缘节点的计算任务的移候选服务器集合不为空;若无边缘节点可选,则算法结束;
[0130]
步骤304,经步骤303选中的边缘节点的计算任务,选择其转移候选服务器集合中尚未拒绝转移且偏好值最小的候选服务器,若无候选服务器可选,则返回步骤303;否则执行步骤305;
[0131]
步骤305,若选择的候选服务器同时满足条件1和条件2,则该计算任务可转移到候选服务器,否则该计算任务被拒绝,不发生转移,返回步骤304选择下一个候选服务器;
[0132]
条件1:可转移的候选服务器当前服务的计算任务数量未达上限;
[0133]
条件2:转移涉及的两个服务器在计算任务转移后的效用值之和大于计算任务转移前的效用值之和,具体可表示为:
[0134]
u({μ(s
m
)}\{v
i
}) u({μ(s
m

)}∪{v
i
})>u({μ(s
m
)}) u({μ(s
m

)})(4)
[0135]
u({μ(s
m
)})表示计算任务转移前所匹配的服务器s
m
的效用值,u({μ(s
m

)})表示计算任务转移后所匹配的服务器s
m

的效用值,u({μ(s
m
)}\{v
i
})表示计算任务v
i
转移前所匹配的服务器s
m
在移除计算任务v
i
后的效用值,u({μ(s
m

)}∪{v
i
})表示计算任务v
i
拟迁移的服务器s
m

在接受v
i
后的效用值;
[0136]
其中,服务器s
m
的效用值采用式(5)计算,
[0137][0138]
将u({μ(s
j
)})带入式(4)中,可得:
[0139][0140]
式(6)中,表示服务器s
m
对边缘节点计算任务v
i
的偏好值;表示计算任务转移后所匹配的服务器s
m

对边缘节点计算任务v
i
的偏好值;
[0141]
最后获得所有计算任务的匹配结果。
[0142]
本实施例的方法在matlab环境下仿真实现并评估本实施例方法的性能,计算机配置为intel core i5,8gb内存,从计算任务的完成时间、计算任务的成功率、计算任务的幸福指数、服务器的效用值等方面分析所提算法的有效性。
[0143]
本发明还将本实施例的方法与以下常用基准算法(1)、(2)、(3)进行比较:
[0144]
(1)不带转移的边缘计算任务卸载算法。该算法只执行计算任务与服务器间的第一阶段预匹配(即上述实施例中的第一阶段)。
[0145]
(2)最短任务优先调度算法sjf(shortest job first)。该算法的主要思想为服务器优先执行处理时间较短的边缘计算任务。
[0146]
(3)最短剩余时间优先调度算法srtf(shortest remaining time first)。该算法的核心思想为服务器优先执行截止日期较早的边缘计算任务。
[0147]
以下对本发明方法与现有常用的方法的性能进行分析
[0148]
(1)计算任务的成功率分析
[0149]
若计算任务的实际完成时间早于完成时间限制,则该计算任务成功。所有成功完成的边缘计算任务在总计算任务中的占比,定义为系统中计算任务的成功率。实验基于任务的计算量与传输量、完成时限、任务收益占比来衡量任务价值,权值参数为(3:1:1),其中计算量与传输量越大、任务时限越短、任务收益占比越高的任务具有更高的价值,但完成难
度也更高。
[0150]
如图3所示,计算任务的成功率随着边缘节点的数量增加而降低,与三种常用基准算法相比,本发明方法能获得最高的成功率。其原因在于:1)随着边缘节点的增加,计算任务数量也随着增加,而服务器资源固定,因此计算任务的成功率会随着服务器的计算资源匮乏而逐渐减低;2)针对计算任务的实际完成时间是否满足完成时间需求,本发明方法对预匹配结果进行了调整,因此获得了最高的成功率。
[0151]
如图4所示,计算任务的成功率随着服务器的数量增加而增加,与三种常用基准算法相比,本发明方法能获得最高的成功率。其原因在于:1)随着服务器数量的增加,而计算任务数量固定,因此计算任务的成功率会随着计算资源的增加而逐渐增加;2)由于本发明方法基于预匹配结果进行再调整,因此能获得最高的成功率。
[0152]
(2)方法的复杂度分析
[0153]
算法的时间复杂度取决于算法的运行时间。为了提升计算任务的成功率,本发明方法基于预匹配结果,对计算任务的偏好列表进行更新,并结合服务器的可支持计算任务数量与效用,基于更新后的偏好列表,将有更优匹配的计算任务转移到可用的新服务器。因此,与不带转移的边缘计算任务卸载算法相比,本发明的运行时间更长一些,但增加值在可接受范围内,如图5所示。
[0154]
(3)计算任务的完成时间分析
[0155]
计算任务的实际完成时间取决于该计算任务当前匹配的服务器性能,也与该计算任务的偏好排名相关。随着计算任务的增加,服务器匹配的计算任务队列也随之增加,偏好排名靠后的计算任务的等待时间也增加,因此,计算任务的完成时间也增加。由于本发明方法将计算任务的完成时间作为第一考虑要素,因此获得了最佳的完成时间,如图6所示。随着服务器数量的增加,计算任务的选择空间更大,因此计算任务的完成时间逐渐减小,如图7所示。值得注意的是,不带转移的边缘计算任务分配算法起初优于本发明方法,而后被本发明方法反超。原因在于:1)算法运行伊始,由于服务器数量不足,所提算法的时间复杂度高且不能实现实质性的转移,其优势大打折扣,因此不带转移的分配算法的实际平均完成时间低于所提算法;2)随着服务器数量的增加,所提算法的转移优势有了用武之地,因此所提算法的平均完成时间低于其他基准算法。
[0156]
(4)计算任务的幸福指数分析
[0157]
计算任务的幸福指数被定义为该计算任务被匹配的百分位。例如,给定5个服务器,若计算任务被匹配到其偏好列表中排名第一的服务器,则该计算任务的幸福指数为100%;若计算任务被匹配到其偏好列表中排名第二的服务器,则该计算任务的幸福指数为80%;若计算任务未被匹配到任何服务器,则该用户的幸福指数为0%。计算任务的幸福指数与边缘节点数量的关系见图8,随着边缘节点数量的增加,对应的计算任务被分配到最偏好的服务器概率逐渐降低,因此本发明方法的幸福指数缓慢下降。计算任务的幸福指数与服务器数量的关系见图9,随着服务器数量的增加,计算任务被分配到最偏好的服务器概率逐渐增加,因此本发明方法的幸福指数随之增加。
[0158]
(5)服务器的效用值分析
[0159]
服务器的效用值取决于其对所匹配计算任务的偏好值。服务器的效用值与边缘节点数量的关系见图10,随着边缘节点数量的增加,服务器的效用值随之增加,本发明方法获
得最大的服务器效用值,原因在于:1)由于本发明方法具有再次匹配的机会,因而服务器更有可能匹配到自己更喜欢的计算任务,与三个常用基准算法相比,本发明方法的转移策略提升了服务器的效用值;2)转移条件规定,转移后的系统效用必须大于转移前的系统效用,因此,边缘计算任务的成功转移导致系统效用的增加。服务器的效用值与服务器数量的关系见图11,随着服务器数量的增加,服务器的效用值随之增加,与无转移的边缘计算任务分配算法、最短剩余时间优先调度算法srtf相比,本发明方法获得的服务器效用值最佳,原因在于:1)随着服务器数量的增加,服务器匹配到偏好靠前的计算任务的概率增大,因此效用增加;
[0160]
2)所提算法的转移策略将提升将偏好靠前的计算任务分配给服务器的机会,因而转移将进一步提高所提算法的效用。
[0161]
实施例2
[0162]
本实施例公开了云

边协同的边缘计算任务分配系统,该系统包括以下模块:
[0163]
偏好列表构建模块,用于构建边缘节点的计算任务对服务器的偏好值列表以及服务器对边缘节点的计算任务的偏好值列表;
[0164]
该模块具体采用式(1)获得第i个边缘节点的计算任务v
i
对服务器s
m
的偏好值
[0165][0166]
采用式(2)计算服务器s
m
对边缘节点计算任务v
i
的偏好值
[0167][0168]
计算任务预匹配模块,用于对边缘节点的计算任务与服务器进行预匹配,具体包括以下子模块:
[0169]
初始化子模块,用于将所有计算任务和服务器均初始化为自由者;
[0170]
边缘节点随机选择子模块,用于根据以下条件挑选边缘节点,条件为:在边缘节点的计算任务对服务器的偏好值列表中至少有一个服务器没有拒绝该边缘节点的计算任务;
[0171]
计算任务请求子模块,用于将边缘节点随机选择子模块挑选出的计算任务向该计算任务的偏好列表中尚未拒绝自己且偏好值最大的服务器提出服务请求;
[0172]
判断子模块,用于判断计算任务请求子模块中是否有服务器可请求,若无,调用边缘节点随机选择子模块,否则调用服务器匹配子模块;
[0173]
服务器匹配子模块,用于服务器选择合适的计算任务作为预匹配结果,同时拒绝其他计算任务;所述选择原则为:每个服务器从所有向自己提出请求的计算任务中选择偏好值排名靠前的q
s
个计算任务;
[0174]
计算任务转移模块,用于对计算任务非匹配库中的计算任务进行转移,获得更优的匹配结果,具体包括以下子模块:
[0175]
偏好值更新子模块,用于每一个计算任务对其偏好值列表中所有服务器的偏好
值,获得更新后的计算任务对服务器的偏好值列表;其中更新后的计算任务对服务器的偏好值为该计算任务在偏好列表构建模块得到的偏好值与该计算任务的等待时间之和;
[0176]
转移候选服务器选取子模块,用于确定每一个计算任务的转移候选服务器集合;所述转移候选服务器集合为该计算任务对应的更新后的计算任务对服务器的偏好列表中,排名先于计算任务预匹配模块中该计算任务所匹配服务器的服务器集合;
[0177]
被转移计算任务随机选择子模块,用于根据以下条件挑选被转移的边缘节点的计算任务,所述条件为:边缘节点的计算任务的移候选服务器集合不为空;
[0178]
转移候选服务器选择子模块,用于选择计算任务可转移的候选服务器,具体选择原则为:首先,计算任务选择其转移候选服务器集合中尚未拒绝转移且偏好值最小的候选服务器;然后,选择的候选服务器需同时满足条件1和条件2,
[0179]
条件1:可转移的候选服务器当前服务的计算任务数量未达上限;
[0180]
条件2:转移涉及的两个服务器在计算任务转移后的效用值之和大于计算任务转移前的效用值之和,具体可表示为:
[0181][0182]
上式中,表示服务器s
m
对边缘节点计算任务v
i
的偏好值;μ(s
m
)表示服务器s
m
匹配的计算任务的集合;表示计算任务转移后所匹配的服务器s
m

对边缘节点计算任务v
i
的偏好值;
[0183]
计算任务转移子模块,用于将计算任务转移至转移候选服务器选择子模块确定的候选服务器;
[0184]
计算任务匹配库,用于存储匹配成功的计算任务匹配结果。
[0185]
实施例3
[0186]
本实施例公开了一种计算机可读存储介质,该计算机可读存储介质中存储有实施例1记载的云

边协同的边缘计算任务分配方法的程序,当实施例1记载的云

边协同的边缘计算任务分配方法程序被处理器执行时,实现实施例1的云

边协同的边缘计算任务分配方法的具体步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献