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

一种面向边缘异构设备的混合权重任务调度方法及系统

2022-10-26 05:13:00 来源:中国专利 TAG:


1.本发明属于边缘计算技术领域,具体涉及一种面向边缘异构设备的混合权重任务调度方法及系统。


背景技术:

2.随着5g通信技术和物联网的快速发展,越来越多的终端设备接入网络。使用云数据中心给这些终端设备提供服务会使云端的负载压力很大,并且会带来显著的网络延迟。边缘计算架构能够有效地将算力下沉,减轻数据中心压力,并且减少网络传输延迟。与云计算中心使用同构的服务器集群不同,边缘集群往往由异构的设备组成。设备的异构性导致同一个任务在不同的边缘设备上执行时具有不同的执行时间和资源利用率。在传统单体计算机和云计算领域中,已经存在一些典型的任务调度算法,如先进先出(fifo)调度算法和时间片轮转(round-robin)调度算法,由于边缘设备的异构性,这些算法并不适用于边缘计算领域。任务的调度算法对边缘平台的性能表现有显著影响,现有的调度算法没有考虑边缘设备异构性对任务执行的影响,导致边缘系统的资源利用率和实时性不能满足需求。


技术实现要素:

3.基于现有技术中存在的上述缺点和不足,本发明的目的之一是至少解决现有技术中存在的上述问题之一或多个,换言之,本发明的目的之一是提供满足前述需求之一或多个的一种面向边缘异构设备的混合权重任务调度方法及系统。
4.为了实现上述发明目的,本发明采用如下技术方案:
5.一种面向边缘异构设备的混合权重任务调度方法,包括以下步骤:
6.s1、对每一个边缘节点进行性能测试,并记录边缘节点在cpu、mem和disk三个方面的性能信息;
7.通过预运行提取出影响任务运行的目标资源类型,以将任务分为cpu、mem和disk中的一类;
8.s2、根据任务的类型和边缘节点的性能信息计算节点资源性能特征权重,根据记录的节点队列信息计算出节点队列分布权重,融合两个权重最终确定执行任务的目标节点;
9.s3、按照队列的优先级机制,将任务加入到目标节点的任务队列中;
10.s4、检查所有边缘节点等待队列,如果存在空闲的任务队列,使用任务队列自调整算法,从其他节点的等待队列中选择合适的任务,迁移到空闲节点执行。
11.作为优选方案,所述步骤s2中,根据任务的类型和边缘节点的性能信息计算节点资源性能特征权重f
resource
为:
[0012][0013]
其中,r为目标资源类型,x为目标边缘节点,n为边缘节点的总数,n
r,x
为目标边缘
节点的目标资源类型的性能信息,n
r,node
为第node个边缘节点的目标资源类型的性能信息。
[0014]
作为优选方案,所述步骤s2中,根据记录的节点队列信息计算出节点队列分布权重f
queuedistribution
为:
[0015][0016]
其中,l
queue,x(level≤lv)
代表在目标节点任务队列中优先级数值不大于lv的区域内的任务数量,l
queue,mode(level≤lv)
代表在第node个边缘节点任务队列中优先级数值不大于lv的区域内的任务数量。
[0017]
作为优选方案,所述步骤s2中,融合两个权重得到:
[0018]
f=k1f
resource
k2f
queuedistribution
(k1 k2=1)。
[0019]
作为优选方案,所述k1与k2的比值为5:1。
[0020]
作为优选方案,对于边缘节点,当有一个任务运行结束时,从其任务队列中选择当前最高优先级的任务中请求时间最早的任务执行。
[0021]
本发明还提供一种面向边缘异构设备的混合权重任务调度系统,包括:
[0022]
边缘节点性能检测模块,用于对每一个边缘节点进行性能测试,并记录边缘节点在cpu、mem和disk三个方面的性能信息;
[0023]
任务分类模块,用于通过预运行提取出影响任务运行的目标资源类型,以将任务分为cpu、mem和disk中的一类;
[0024]
混合权重调度模块,用于根据任务的类型和边缘节点的性能信息计算节点资源性能特征权重,根据记录的节点队列信息计算出节点队列分布权重,融合两个权重最终确定执行任务的目标节点;还用于检查所有边缘节点等待队列,如果存在空闲的任务队列,使用任务队列自调整算法,从其他节点的等待队列中选择合适的任务,迁移到空闲节点执行;
[0025]
边缘节点任务队列模块,用于按照队列的优先级机制,将任务加入到目标节点的任务队列中。
[0026]
作为优选方案,根据任务的类型和边缘节点的性能信息计算节点资源性能特征权重f
resource
为:
[0027][0028]
其中,r为目标资源类型,x为目标边缘节点,n为边缘节点的总数,n
r,x
为目标边缘节点的目标资源类型的性能信息,n
r,node
为第node个边缘节点的目标资源类型的性能信息。
[0029]
作为优选方案,所述根据记录的节点队列信息计算出节点队列分布权重f
queuedistribution
为:
[0030][0031]
其中,l
queue,x(level≤lv)
代表在目标节点任务队列中优先级数值不大于lv的区域内的任务数量,l
queue,mode(level≤lv)
代表在第node个边缘节点任务队列中优先级数值不大于lv
的区域内的任务数量。
[0032]
作为优选方案,所述步骤s2中,融合两个权重得到:
[0033]
f=k1f
resource
k2f
queuedistribution
(k1 k2=1)。
[0034]
与现有技术相比,本发明具有如下有益效果:
[0035]
本发明针对边缘计算的任务调度应用场景,在为任务选择执行节点时,混合考虑边缘设备的异构性影响和当前边缘节点上的负载强度影响,按照优先级排序得出目标节点,从而有效降低任务处理时延且提高了资源利用率。此外,调度模块引入了任务队列自调整策略,主动迁移任务到空闲的边缘节点上执行,进一步提高了资源利用率。边缘节点的任务队列将任务按照优先级进行分类,可以使优先级高的任务更早执行,进一步满足了边缘计算中高优先级任务的实时性需求。
附图说明
[0036]
图1为本发明实施例的面向边缘异构设备的混合权重任务调度系统的构架图;
[0037]
图2为本发明实施例的边缘节点任务队列结构图;
[0038]
图3为本发明实施例的任务队列的出队、入队的流程图;
[0039]
图4为本发明实施例的任务队列自调整机制流程图;
[0040]
图5为本发明实施例的任务匹配流程图。
[0041]
图6为本发明实施例的面向边缘异构设备的混合权重任务调度方法的流程图。
具体实施方式
[0042]
以下结合附图对本发明作进一步说明。
[0043]
如图1所示,本发明实施例的面向边缘异构设备的混合权重任务调度系统主要分为四个模块:
[0044]
(1)任务分类模块
[0045]
该模块功能是根据任务运行时计算机资源消耗情况,将任务进行分类。通过对任务进行预运行检测任务的资源消耗情况,提取出影响任务运行的关键资源类型,本发明中关注cpu、mem以及disk三个资源类型,将任务运行时的瓶颈资源类型作为任务的类型。
[0046]
(2)边缘节点性能检测模块
[0047]
该模块的功能是检测并量化所有边缘计算节点的相对性能。边缘节点的相对性能用于为任务选择边缘节点时计算节点资源性能特征。检测具体过程为:检测分三轮进行,每次检测计算一种资源的相对性能,依次为cpu、men、disk。以检测cpu相对性能为例,选用性能瓶颈为cpu的任务负载,分别在所有边缘节点上运行,并记录任务完成时间和平均资源利用率,通过比较这两个指标可得出具体的相对性能数据。
[0048]
(3)边缘节点任务队列模块
[0049]
该模块的功能是存储调度到相应边缘节点上的任务。被调度到边缘节点的任务在节点上串行执行,即一个边缘节点在同一时间下只在执行一个任务,串行执行使得边缘节点的所有资源都用于执行一个任务,保证了该任务以最高的效率执行,同时保证了任务执行的公平性,不会有任务被饿死。在本发明中,边缘网络中每台可用的边缘节点下存在独立的任务队列,用于存储调度到该节点上的任务,队列中的任务按照到达时间和优先级等规
则进行排序,以保证任务执行顺序符合预期。
[0050]
本发明实施例使用的任务队列可以看作是若干个常规队列的集合,不同逻辑区域有不同的优先级,每次选择其中优先级最高的任务执行。
[0051]
(4)混合权重调度模块
[0052]
该模块是本发明实施例的核心,主要功能是对不同类型的任务进行调度。调度模块包含首次节点选择和任务队列自调整两部分。对于每一个任务进行首次节点选择时,调度模块计算每个边缘节点关于该任务的优先级,并将任务调度到优先级最高的节点中执行。其中,边缘节点优先级的计算混合考虑了节点资源性能特征权重和节点队列分布权重。如果某个边缘节点的执行队列为空,调度模块将进行任务队列自调整,迁移其他边缘节点上合适的待执行任务到本节点执行。
[0053]
如图2所示,本发明的任务队列与常规队列有所不同。常规队列的出入队机制只与时间相关,而边缘节点任务队列的出入队机制涉及时间和任务优先级两个因素。其中任务优先级的数值越小表示优先级越高。边缘节点任务队列按照任务优先级划分为不同逻辑区域,任务到达时按照优先级进入相应的逻辑区域,在同一优先级区域内任务按到达时间的先后排序。整体结构上,任务队列可以看做是若干个常规队列的集合,每个优先级都具有一个常规队列。
[0054]
当任务到达节点时,进队流程如下,第一步分析任务优先级,将任务按优先级映射到对应的优先级子队列;第二步将该任务从子队列队尾进队,以保证子队列中的任务按照到达时间先后排序。当节点空闲需要任务出队时,第一步选取最高优先级的子队列;第二步,若该优先级子队列中有任务,取得队头任务即可;若当前优先级子队列为空,则按顺序取下一优先级的子队列进行同样操作,直至将所有任务执行完毕。如图3所示,为任务队列的出队入队流程。
[0055]
以下对本发明实施例的混合权重调度模块进行详细说明:
[0056]
节点资源性能特征是边缘节点任务调度算法的主要权重。任务在节点上执行时,如果任务消耗资源与节点较强资源保持一致,则资源能被充分地使用且任务能被较快地执行。基于此,资源性能特征权重模型的设计思想是尽可能将任务关联到与其消耗资源最为匹配的边缘节点。任务和节点匹配程度越高,任务执行时间越低,资源性能特征权重保证了系统的低时延。
[0057]
下面结合公式详细介绍资源性能特征权重模型。此时所有节点的资源性能数据已就绪,调度系统通过公式计算所有可用边缘节点的资源性能特征分数,该分数代表该节点与该任务的匹配程度,分数越高则匹配程度越高,调度优先级越高。
[0058][0059]
在以上公式中,r代表目标资源类型,x代表对应考察的节点。假定k任务针对资源为cpu,对考察的k节点来说其cpu资源相对性能数据为n
cpu,k
。求出k节点数据占所有节点该项数据的比例并统一归一化处理,最终f
resource
即为k任务对应k节点的资源性能特征权重分数。按照该方法对所有可用节点分别独立进行计算,得出各节点资源性能特征权重分数的集合,从高到低进行排序后即完成一轮资源性能特征权重的模型计算。
[0060]
在对资源特征权重进行建模计算的同时,对当前网络中各节点任务队列分布进行建模并引入各节点队列任务数等参数进行计算,得到各节点任务队列分布权重的分数。下面结合任务队列结构对队列分布权重模型进行详细解释。假定网络中存在n台可用边缘节点,各节点存在独立任务队列用于存放等待执行的任务,队列没有长度限制,符合任务优先级下的先进先出规则。给定一个任务k需要调度,任务k的优先级为lv,对于节点k使用以下公式对该节点的队列分布权重分数进行计算,该分数代表该节点与该任务的匹配程度,分数越高则匹配程度越高,调度优先级别越高。
[0061][0062]
在以上公式中,l代表在节点任务队列中优先级数值小于等于lv(即优先级大于等于该任务)的区域内的任务数量。考虑优先级因素是因为对于任务k来说,只有优先级水平高于和等于k的任务会先于k执行,从而影响任务k执行延迟。在调度算法设计预期中,队列越长对应等待时间越长,因此队列长度l与最终分数呈反相关关系,这与资源性能特征权重模型相反。需要特殊说明的是,某节点队列长度为0时代表匹配值到达最高,为了排除公式中长度取0时的异常(0不可作为分母进行计算),对所有的长度进行自增1的操作,这在避免了长度为0的特殊性同时不违背队列长度和匹配度的关系。最终所有节点的队列分布分数被统一归一化处理,得到最终数据作为节点任务队列分布权重的分数数据。
[0063]
边缘节点优先级的计算混合考虑了上述的节点资源性能特征权重和节点队列分布权重,具体分数的计算公式如下:
[0064]
f=k1f
resource
k2f
queuedistribution
(k1 k2=1)上述公式中,f代表特定节点最终得出的调度分数,k1和k2分别代表资源性能特征权重和任务队列分布权重的参数。k1和k2本质上代表了两项权重分数相比的重要性数值,参数越大代表该权重对最终调度结论影响更大。本发明中,选择资源性能特征权重作为调度算法的主要权重,取k1:k2=5:1。
[0065]
调度模块给任务选择执行节点的具体过程如下:
[0066][0067][0068]
如图4所示,为任务队列自调整机制流程图。调度模块的第二部分是任务队列自调整机制。通过对特征权重的计算,总调度模型得出决策节点并成功调度任务。随着任务的执
行,某一节点已执行完所有调度到该机器上的任务,此时调度算法的自调整机制被触发。该机制对其他节点上处于任务执行队列中等待的任务进行评估,通过计算选择任务迁移到空闲节点上执行。通过该算法,一定程度上减少了资源的空置情况,提升了任务处理中资源的使用效率。
[0069]
如图5所示,为任务匹配流程图。首先确定一种资源类型,然后遍历任务队列,选取任务类型与资源类型所匹配的等待任务组成候选任务集合;其次,从候选任务集合中选择优先级最大的任务构成新的候选任务子集,这是为了保证高优先级的任务优先执行;最后,将新的候选任务子集中提交时间最早的任务作为目标任务输出,这是为了满足队列的先进先出规则。若不存在对应任务,通过重新选取资源类型重复上述过程直至匹配成功或失败。
[0070]
任务队列自调整机制的整体代码如下:
[0071]
[0072][0073]
如图6所示,本发明实施例的面向边缘异构设备的混合权重任务调度方法,包括如下步骤:
[0074]
步骤1:边缘节点性能检测模块对每一个边缘节点做性能测试,并在调度模块中记录边缘节点在cpu、mem和disk三个方面的性能信息。
[0075]
步骤2:任务分类模块通过预运行记录下任务提取出影响任务运行的关键资源类型,从而将任务分为cpu、mem和disk中的一类。
[0076]
步骤3:混合权重调度模块根据任务的类型和边缘节点相对性能信息计算出节点资源性能特征权重,根据记录的节点队列信息计算出节点队列分布权重,融合两个权重最
终确定执行该任务的目标节点;
[0077]
步骤4:按照队列的优先级机制,将任务加入到目标节点的任务队列中。
[0078]
步骤5:混合权重调度模块检查所有边缘节点等待队列,如果存在空闲的任务队列,使用任务队列自调整算法,从其他节点的等待队列中选择合适的任务,迁移到空闲节点执行。
[0079]
步骤6:边缘节点有一个任务运行结束时,从其任务队列中选择当前最高优先级的任务中请求时间最早的任务执行;
[0080]
步骤7:重复上述步骤3、4、5、6。
[0081]
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献