[发明专利]面向工业边缘节点的计算资源管理调度方法有效

专利信息
申请号: 202010665061.5 申请日: 2020-07-10
公开(公告)号: CN111813502B 公开(公告)日: 2023-08-29
发明(设计)人: 魏旻;胡涛;王平 申请(专利权)人: 重庆邮电大学
主分类号: G06F9/455 分类号: G06F9/455;G06F9/50
代理公司: 北京同恒源知识产权代理有限公司 11275 代理人: 赵荣之
地址: 400065 *** 国省代码: 重庆;50
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 面向 工业 边缘 节点 计算 资源管理 调度 方法
【权利要求书】:

1.面向工业边缘节点的计算资源管理调度方法,其特征在于:该方法包括以下步骤:

S1:搭建面向工业边缘节点的计算资源虚拟化架构;

S2:进行计算资源调度;

所述面向工业边缘节点的计算资源虚拟化架构包括:

(1)工业物理层

包括现场设备和边缘节点;

现场设备包括传感器、PLC、摄像头及嵌入式设备,在生产过程中产生计算任务,并将任务卸载到边缘节点进行计算;

假设在工业现场部署n个边缘节点,用ENi表示边缘节点i;

从两个维度描述边缘节点的计算资源,即CPU资源和内存资源;CPU资源单位为m,表示“千分之一个核心”,内存资源单位为兆字节MB;定义EPi={Ei,ERi(t)}表示边缘节点ENi的计算资源属性,Ei表示边缘节点ENi的资源总量,ERi(t)表示边缘节点ENi在t时刻的资源使用量;其中,表示边缘节点ENi的CPU资源总量、表示边缘节点ENi的内存资源总量;表示边缘节点ENi在t时刻的CPU资源使用量、表示边缘节点ENi在t时刻的内存资源使用量;

边缘节点ENi及其属性用集合EEi={ENi,EPi}表示,其中ENi是边缘节点名称,EPi表示边缘节点ENi的计算资源属性;

(2)虚拟资源层

包括虚拟节点和容器;

虚拟节点是边缘节点通过虚拟化映射而来,是边缘节点的逻辑表示,能够反映边缘节点计算资源属性,为容器提供计算资源;容器封装应用程序用以计算工业任务,在创建容器时为其分配CPU和内存;

(2-1)虚拟节点:是边缘节点映射到虚拟资源层所产生的节点,是边缘节点的逻辑表示,能够为容器提供计算资源;虚拟节点与边缘节点一一对应,反映与其对应边缘节点的计算资源情况;

假设VNi表示虚拟节点i;由于虚拟节点VNi在不同时刻计算量不同,其使用的计算资源量也有所不同;为更好地描述虚拟节点VNi的计算资源属性,从虚拟节点VNi的资源总量与每个时刻的资源使用量进行描述;定义表示虚拟节点VNi的计算资源属性,其中Vi表示虚拟节点VNi的资源总量,Ri(t)表示虚拟节点VNi在t时刻的资源使用量,表示虚拟节点VNi在t时刻包含的容器数;其中,Vi={ViCPU,ViRAM},ViCPU表示虚拟节点VNi的CPU资源总量、ViRAM表示虚拟节点VNi的内存资源总量;表示虚拟节点VNi在t时刻的CPU资源使用量、表示虚拟节点VNi在t时刻的内存资源使用量;虚拟节点VNi及其属性用集合VVi={VNi,VPi}表示,其中VNi是虚拟节点名称,VPi表示虚拟节点VNi的计算资源属性;

虚拟映射:将边缘节点映射到虚拟节点的过程,定义为映射Y:{ENi,EPi}→{VNi,VPi},即将边缘节点计算资源属性映射到虚拟节点上;虚拟节点能够反映边缘节点的计算资源总量和反映边缘节点每个时刻的计算资源使用情况;

(2-2)容器:容器是计算工业任务的最小单元,封装应用程序用以计算工业任务,并且容器被创建时从虚拟节点中获取CPU和内存资源;由于每个虚拟节点包含了若干个容器,采用Ci,j表示虚拟节点VNi的容器j;

容器Ci,j在不同时刻计算量不同,使用的计算资源量有所不同;为描述容器计算资源相关属性,定义表示容器Ci,j在t时刻的资源使用量,其中表示容器Ci,j在t时刻的CPU资源使用量;表示容器Ci,j在t时刻的内存资源使用量;

虚拟节点VNi在t时刻的资源使用量Ri(t)是该节点中所有容器的资源使用量之和,即:

其中,J表示虚拟节点VNi中的所有容器集合;

(3)控制层:包括计算资源控制器,负责策略的决定和执行;根据功能不同,计算资源控制器划分成资源监测模块、资源预测模块和资源调度模块;

资源监测模块负责实时监测各个容器的计算资源使用情况,包括CPU资源使用量、内存资源使用量;

资源预测模块通过建立灰色预测模型,预测各容器下一个时刻的计算资源使用量;

资源调度模块根据预测的计算资源信息,生成灵活的调度策略,保证在资源有限的边缘节点上实现计算资源的合理调度;

所述S2具体为:

(1)负载预测

假设当前为n时刻,资源预测模块需要预测下一时刻,即n+1时刻,容器的CPU资源使用量;首先,资源监测模块在每个时刻对容器的CPU资源使用量进行采样,得到的采样值会形成采样序列资源监测模块将采样序列上报给资源预测模块,资源预测模块根据采样序列建立灰色预测模型,预测容器下一个时刻的CPU资源使用量;

步骤如下:

步骤21:假设当前为n时刻,资源监测模块将容器每个时刻的资源使用量上报给资源预测模块;记为采样序列

步骤22:资源预测模块通过式(3)计算采样序列的级别,如果数列的所有级别均落在区间内,则通过灰色预测模型进行建模,否则需要通过式(4)对采样序列进行平移转换;

步骤23:设为的一次累加和,资源预测模块利用对进行一次累加求和来消除因数据的变化而造成的随机性,即

则形成一阶累加序列:

步骤24:资源预测模块利用一阶累加序列通过式(7)建立微分方程,设为要求的参数,其中a称为发展系数,b称为灰色作用量;

步骤25:资源预测模块设置矩阵T表示转置,设B的矩阵表示为式(8),然后通过式(9)求解参数a,b;

步骤26:资源预测模块求解式(7)的一阶常微分方程得式(10):

步骤27:资源预测模块通过对一次累加结果进行还原得下一时刻容器的CPU资源使用量为:

此时,资源预测模块将k=n带入式(11),得到求出容器下一时刻的CPU资源使用量;

步骤28:资源预测模块根据虚拟节点中各容器下一时刻的CPU资源使用量,利用式(12)计算得出各个虚拟节点下一时刻的CPU资源使用量

(2)建立待调度节点集合

为能够快速判定虚拟节点是否过载,资源监测模块根据经验对虚拟节点设定高、低负载阈值;当虚拟节点出现计算拥堵或计算空闲的情况,资源监测模块记录该资源使用率作为阈值的预选;在对若干虚拟节点进行监测后,资源监测模块根据经验对虚拟节点高、低负载阈值进行最终设定;

在设定阈值后,资源监测模块根据虚拟节点的资源总量以及下一时刻的资源使用量详细计算各虚拟节点的资源使用率;虚拟节点VNi的资源总量用式(13)表示:

Vi={ViCPU,ViRAM}        (13)

资源预测模块预测虚拟节点VNi在下一时刻的资源使用量Ri(n+1)为:

即,

资源监测模块计算虚拟节点VNi在下一时刻的资源使用率为:

根据资源使用率和阈值的关系,资源监测模块将虚拟节点分为三类:低负载节点、临界负载节点和高负载节点;其中低负载节点满足及即虚拟节点VNi在下一时刻的CPU和内存使用率都不高,接受容器的迁入;高负载节点满足或者即虚拟节点在下一时刻任意维度的计算资源超出阈值范围,资源监测模块就认为该虚拟节点在下一时刻为高负载节点,需要资源调度模块对该虚拟节点进行资源调度以缓解节点的过载情况;

其余虚拟节点属于临界负载节点,意味着虚拟节点中两种资源都在阈值范围内;这类虚拟节点虽然不会将节点中的容器迁出,但是也不再接受高负载虚拟节点的容器迁入请求;

最后,资源调度模块根据虚拟节点在下一时刻的负载状态,将高负载节点集合起来建立集合P;

(3)确立调度优先顺序

为确定资源调度的优先顺序,资源调度模块结合虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序;当多个虚拟节点都出现计算过载的情况,那么过载严重的虚拟节点应先进行资源调度;在工业环境下不能仅考虑过载程度;当多个虚拟节点过载程度相同时,计算优先级高的虚拟节点对资源的渴望程度更高,即该虚拟节点应先进行资源调度;资源调度模块根据虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序;

(3-1)计算优先级:根据计算时延程度划分4个计算优先级,具体描述如下:

高实时计算:高实时计算主要包括工业生产中的核心计算,工业生产对该类计算的时延要求高,当发生该类计算延迟时,会对整个工业生产过程产生延误,计算优先级为1,表示最先计算该类任务;

实时计算:实时计算主要包括工业生产中的重要计算,工业生产对该类计算的时延要求中等,当发生该类计算延迟时,会对局部生产过程造成延误,计算优先级为2;

一般实时计算:一般实时计算主要包括工业生产过程中的普通计算,工业生产对该类计算的时延要求较低,当发生该类计算延迟时,对局部生产过程影响较小,计算优先级为3;

非实时计算:非实时计算主要包括工业生产过程中的辅助计算,工业生产对该类计算的时延要求低,当发生该类计算延迟时,对生产过程不会产生影响,计算优先级为4,表示最后进行该类计算;

由于计算优先级不同的虚拟节点在过载情况相同时,资源调度的优先顺序是不同的,因此采用参考因子βi表示虚拟节点VNi进行资源调度的优先程度;

(3-2)虚拟节点过载:在待资源调度的虚拟节点集合P中,各个虚拟节点会出现不同程度的过载情况;过载情况由虚拟节点的资源使用量超出阈值的程度所确定,若资源使用量超出阈值越多,则过载情况更严重;资源调度模块通过式(20)综合评价虚拟节点VNi在下一时刻的资源过载量;资源调度模块根据资源过载量对虚拟节点的过载情况进行分析,认为资源过载量越大的虚拟节点其过载程度越严重,下一时刻越急需资源调度;

其中a1+a2=1,a1、a2分别表示高负载虚拟节点的CPU资源过载量与内存资源过载量的权值系数,采用熵权法计算权值系数,计算步骤如下:

1)资源调度模块分别将高负载虚拟节点的CPU资源过载量与内存资源过载量设定为指标μ1、μ2,并对所有高负载虚拟节点进行指标μ1、μ2采集,得到采集样本{μ1(1)1(2),...,μ1(m)}和{μ2(1)2(2),...,μ2(m)};

2)资源调度模块采用式(21)对采集样本进行归一化处理;

其中,分别表示采集样本中最大值与最小值;

3)资源调度模块采用式(22)计算指标μ1、μ2对应的信息熵;

其中若Pi(k)=0,则

4)资源调度模块采用式(23)计算指标的权值系数a1、a2

(3-3)调度优先顺序:

资源调度模块为确定下一时刻哪个虚拟节点优先进行资源调度,需要综合考虑虚拟节点的计算优先级及过载程度;资源调度模块首先采用式(24)综合评价资源调度的优先顺序;然后,资源调度模块根据Ki(n+1)大小对虚拟节点降序排列;最后,选择Ki(n+1)分值最大的虚拟节点,作为下一时刻待资源调度的虚拟节点;

其中b1+b2=1,b1、b2分别表示高负载虚拟节点的计算优先级与过载程度的权值系数;特别地,注意将高负载虚拟节点的计算优先级与过载程度设定为指标μ1、μ2,之后按照上述熵权法步骤计算出权值系数;

(4)选择容器

当资源监测模块监测到虚拟节点VNi处于高负载时,资源监测模块根据虚拟节点的过载情况,将其分为单资源过载,即CPU过载或RAM过载,和双资源过载,即CPU和RAM过载;

对于单资源过载类型,资源调度模块直接选中当前虚拟节点中占有该类型资源最多的容器作为迁出对象;资源调度模块首先分别选中虚拟节点中CPU资源使用率和内存资源使用率最高的容器,如果两个容器为同一容器,则选中该容器;如果两个容器不是同一个容器,资源调度模块则通过式(25)分别为两个容器进行迁出优先级打分,选择Wi,j(n+1)分值较高的作为待迁出容器;

其中,c1、c2分别代表容器的CPU资源使用率和内存资源使用率的权值系数;将容器的CPU资源使用率和内存资源使用率设定为指标μ1、μ2,之后按照熵权法步骤计算出权值系数;

(5)选择目的节点

当有低负载虚拟节点时,资源调度模块首先将所有低负载虚拟节点加入到可调度集合中,记为Q;为避免容器调度后节点状态颠簸,资源调度模块首先对虚拟节点进行预选;资源调度模块通过遍历Q,并为Q中每个虚拟节点利用式(26)(27)计算容器调度至该节点后的CPU及内存资源使用率,根据节点分类的标准,将且的节点从Q中去除;

假设Gi(n+1)表示虚拟节点下一时刻可提供的计算资源:

资源调度模块根据虚拟节点下一时刻可提供的资源情况和计算优先级,通过式(29)分别对各虚拟节点进行综合打分;

其中d1+d2=1,d1、d2分别表示低负载虚拟节点可提供的资源量与计算优先级的权值系数;将低负载虚拟节点可提供的资源量与计算优先级设定为指标μ1、μ2,之后按照熵权法步骤计算出权值系数;

最后,资源调度模块将得分最高的低负载虚拟节点作为目的节点,并将待调度的容器迁入到该虚拟节点上,完成计算资源的调度。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010665061.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top