CN111813502A - 面向工业边缘节点的计算资源管理调度方法 - Google Patents

面向工业边缘节点的计算资源管理调度方法 Download PDF

Info

Publication number
CN111813502A
CN111813502A CN202010665061.5A CN202010665061A CN111813502A CN 111813502 A CN111813502 A CN 111813502A CN 202010665061 A CN202010665061 A CN 202010665061A CN 111813502 A CN111813502 A CN 111813502A
Authority
CN
China
Prior art keywords
resource
virtual
node
nodes
container
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.)
Granted
Application number
CN202010665061.5A
Other languages
English (en)
Other versions
CN111813502B (zh
Inventor
魏旻
胡涛
王平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN202010665061.5A priority Critical patent/CN111813502B/zh
Publication of CN111813502A publication Critical patent/CN111813502A/zh
Application granted granted Critical
Publication of CN111813502B publication Critical patent/CN111813502B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

本发明涉及一种面向工业边缘节点的计算资源管理调度方法,属于物联网领域。该方法包括以下步骤:S1:搭建面向工业边缘节点的计算资源虚拟化架构;S2:进行计算资源调度。本发明提出了一种面向工业边缘节点的计算资源虚拟化架构,包括工业物理层、虚拟资源层及控制层,实现了计算资源的统一管理;同时,通过预测边缘节点未来时刻的计算资源使用情况,结合工业计算优先级与边缘节点的过载情况,提出一种计算资源调度策略解决了工业环境下边缘节点负载不均衡的问题。

Description

面向工业边缘节点的计算资源管理调度方法
技术领域
本发明属于物联网领域,涉及面向工业边缘节点的计算资源管理调度方法。
背景技术
目前,国内外关于边缘计算的计算资源管理调度主要集中于任务卸载。然而,在工业场景下,任务卸载到远距离的其他边缘节点可能无法满足工业计算任务低时延的要求,同时在工业边缘节点间没能实现计算资源的全面共享与统一管理。针对工业边缘节点的计算资源管理调度的现状,目前可能存在以下问题:
(1)边缘节点的计算资源无法实现全面共享、统一管理:边缘节点是承载边缘计算任务的核心,但其产品种类繁多,且底层硬件差异大,造成计算资源无法实现全面共享;同时缺乏相应的控制器对边缘节点的计算资源进行管理;
(2)工业场景中出现多个边缘节点计算过载,无法满足工业计算任务的动态变化需求:根据生产计划的安排,工业现场可能存在多个边缘节点计算过载而其余边缘节点空闲的情况,边缘节点间负载不均衡,导致任务的整体计算效率低下。
考虑到工业边缘设备资源受限的特征,本发明欲采用轻量级虚拟化技术——容器技术对边缘节点的计算资源进行管理,并通过容器迁移技术实现计算资源的调度。容器迁移技术主要分为离线迁移和动态迁移。目前。国内外关于容器迁移技术的研究取得了许多成果:
毛祺等人针对Docker容器集群管理工具Swarm提出了一个基于仓库中转的离线迁移方案。该方案是一个离线迁移方案,在迁移过程中会产生一个新的镜像,迁移过程的最后一步就是在目的主机上基于该镜像启动一个容器。由于该方案是离线迁移,因此容器内的所有服务在迁移过程中都是停止的,而且耗时相对较长。
MaL等人提出了一个针对Docker容器的迁移方案,该迁移方案对容器的运行状态,容器数据,容器的部分镜像层等信息进行迁移。其实现容器运行状态的迁移也是基于CRIU技术。该方案虽然能够实现容器数据迁移同时又不产生中间镜像,但其只能在相同的后端存储驱动间实现容器的迁移。
HongH等人提出了一种基于负载均衡的迁移模式,通过灰色预测模型和蚁群算法,这种模式可以预测将来的一段时间内容器CPU占有率,实现基于预测性的负载均衡调度方法。
ZiY等人着眼于服务器的负载预测,通过预测物理服务器的下一时刻负载,来判断过载的服务器,并将过载服务器中的容器迁移到其他服务器上,但是这种算法却忽略了容器自身的变化,会造成在一段时间之后,负载再次不均衡。
发明内容
有鉴于此,本发明的目的在于提供一种面向工业边缘节点的计算资源管理调度方法。
为达到上述目的,本发明提供如下技术方案:
面向工业边缘节点的计算资源管理调度方法,该方法包括以下步骤:
S1:搭建面向工业边缘节点的计算资源虚拟化架构;
S2:进行计算资源调度。
本发明的有益效果在于:本发明提出了一种面向工业边缘节点的计算资源虚拟化架构,包括工业物理层、虚拟资源层及控制层,实现了计算资源的统一管理;同时,通过预测边缘节点未来时刻的计算资源使用情况,结合工业计算优先级与边缘节点的过载情况,提出一种计算资源调度策略解决了工业环境下边缘节点负载不均衡的问题。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为面向工业边缘节点的计算资源虚拟化架构;
图2为虚拟映射示意图;
图3为采样示意图;
图4为虚拟节点负载状态;
图5为待调度容器选择流程。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
1.面向工业边缘节点的计算资源虚拟化架构
为了能够解决工业边缘节点间的计算资源共享、统一管理的问题,本发明设计了一个面向工业边缘节点的计算资源虚拟化架构,如图1所示。
1.1工业物理层
工业物理层主要包括现场设备和边缘节点。现场设备主要包括传感器、PLC、摄像头及嵌入式设备等,它们在生产过程中产生计算任务,并将任务卸载到边缘节点进行计算。因此,边缘节点是承载边缘计算业务的核心,是在工业现场中具有计算能力的设备,能够提供计算资源。但是,由于其计算资源固化在边缘节点上,且边缘节点底层差异较大,导致边缘节点间不能够实现计算资源的共享和管理,所以传统的边缘计算模式不能够很好的管理调度计算资源。因此,边缘节点需要借助轻量级虚拟化技术,通过灵活智能的资源监测、管理和调度,实现边缘节点间计算资源的全面共享、统一管理,并且边缘节点的计算资源也可以得到最大限度的利用。
假设在工业现场部署了n个边缘节点,其中可以用ENi表示边缘节点i。本发明从两个维度描述边缘节点的计算资源,即CPU资源和内存资源。同时,由于本发明涉及到为容器分配CPU资源和内存资源,所以采用容器分配中常用的基本单位,即CPU资源单位为m,表示“千分之一个核心”,内存资源单位为兆字节(MB)。定义EPi={Ei,ERi(t)}表示边缘节点ENi的计算资源属性,Ei表示边缘节点ENi的资源总量,ERi(t)表示边缘节点ENi在t时刻的资源使用量。其中,
Figure BDA0002580033140000031
Figure BDA0002580033140000032
表示边缘节点ENi的CPU资源总量、
Figure BDA0002580033140000033
表示边缘节点ENi的内存资源总量;
Figure BDA0002580033140000034
表示边缘节点ENi在t时刻的CPU资源使用量、
Figure BDA0002580033140000041
表示边缘节点ENi在t时刻的内存资源使用量。
因此,边缘节点ENi及其属性可用集合EEi={ENi,EPi}表示,其中ENi是边缘节点名称,EPi表示边缘节点ENi的计算资源属性。
1.2虚拟资源层
虚拟资源层主要包括虚拟节点和容器。虚拟节点是边缘节点通过虚拟化映射而来,是边缘节点的逻辑表示,能够反映边缘节点计算资源属性,其主要功能是为容器提供计算资源。容器封装了应用程序用以计算工业任务,在创建容器时可以为其分配CPU和内存。通过对容器的创建、运行、迁移、消除等操作,从而使计算资源管理调度成为可能。因此,本发明将计算资源的调度对象视为容器。
1.2.1虚拟节点
虚拟节点是边缘节点映射到虚拟资源层所产生的节点,是边缘节点的逻辑表示,能够为容器提供计算资源。虚拟节点与边缘节点一一对应,可反映与其对应边缘节点的计算资源情况。
假设VNi表示虚拟节点i。由于虚拟节点VNi在不同时刻计算量不同,其使用的计算资源量也有所不同。因此,为了更好地描述虚拟节点VNi的计算资源属性,本发明从虚拟节点VNi的资源总量与每个时刻的资源使用量进行描述。定义
Figure BDA0002580033140000042
表示虚拟节点VNi的计算资源属性,其中Vi表示虚拟节点VNi的资源总量,Ri(t)表示虚拟节点VNi在t时刻的资源使用量,
Figure BDA0002580033140000043
表示虚拟节点VNi在t时刻包含的容器数。其中,
Figure BDA0002580033140000044
Figure BDA0002580033140000045
表示虚拟节点VNi的CPU资源总量、
Figure BDA0002580033140000046
表示虚拟节点VNi的内存资源总量;
Figure BDA0002580033140000047
Figure BDA0002580033140000048
表示虚拟节点VNi在t时刻的CPU资源使用量、
Figure BDA0002580033140000049
表示虚拟节点VNi在t时刻的内存资源使用量。因此,虚拟节点VNi及其属性可用集合VVi={VNi,VPi}表示,其中VNi是虚拟节点名称,VPi表示虚拟节点VNi的计算资源属性。
虚拟映射:此过程是指将边缘节点映射到虚拟节点的过程,定义为映射Y:{ENi,EPi}→{VNi,VPi},即将边缘节点计算资源属性映射到虚拟节点上。此外,虚拟节点不仅可以反映边缘节点的计算资源总量,还可以实时反映边缘节点每个时刻的计算资源使用情况。如图2所示。
1.2.2容器
容器是计算工业任务的最小单元,其中封装了应用程序用以计算工业任务,并且容器被创建时可以从虚拟节点中获取CPU和内存资源。由于每个虚拟节点包含了若干个容器,因此本发明采用Ci,j表示虚拟节点VNi的容器j。
由于容器Ci,j在不同时刻计算量不同,其使用的计算资源量也有所不同。为了描述容器计算资源相关属性,定义表示容器Ci,j在t时刻的资源使用量,其中
Figure BDA0002580033140000052
表示容器Ci,j在t时刻的CPU资源使用量;
Figure BDA0002580033140000053
表示容器Ci,j在t时刻的内存资源使用量。
需要强调的是,虚拟节点VNi在t时刻的资源使用量Ri(t)是该节点中所有容器的资源使用量之和,即:
Figure BDA0002580033140000054
其中,J表示虚拟节点VNi中的所有容器集合。
1.3控制层
控制层主要包括计算资源控制器,是整个计算资源管理架构的大脑,负责策略的决定和执行。计算资源控制器负责管理容器的生命周期,为容器集合的管理提供统一的接口。除此之外,容器的创建、迁移与销毁涉及到计算资源的调度,所以根据功能可以将计算资源控制器划分成包括资源监测模块、资源预测模块和资源调度模块。
资源监测模块负责实时监测各个容器的计算资源使用情况,包括CPU资源使用量、内存资源使用量等。资源预测模块通过建立灰色预测模型,预测各虚拟节点下一个时刻的计算资源使用量。资源调度模块根据资源预测模块预测的计算资源信息,生成灵活的调度策略,保证在资源有限的虚拟节点上实现计算资源的合理调度,以满足计算任务的质量需求并且优化全局资源分配。
本发明主要关注虚拟资源层及控制层,通过资源监测模块监测虚拟节点及容器的计算资源使用情况,利用资源预测模块及资源调度模块实现计算资源的管理调度。
2.计算资源调度策略
在工业现场出现多个边缘节点计算过载的场景下,如何选择合适的边缘节点优先进行资源调度显得尤为重要。因此,为了解决这一问题,本发明提出了基于计算优先级与过载程度的计算资源调度策略。
本策略通过预测容器的计算资源使用情况来评估虚拟节点下一时刻是否需要资源调度,并建立需要资源调度的节点集合;结合节点的计算优先级与过载程度确定各节点资源调度的优先顺序;同时,为了最大程度缓解该虚拟节点的过载情况,选择资源使用量最大的容器迁出,并为其选择合适的目的节点迁入。
2.1负载预测
资源预测模块建立灰色预测模型进行负载预测,灰色预测模型可以在原始数据很少的情况下进行准确预测,通常情况下只需采样5个原始数据就能准确预测资源使用趋势。特别地,由于灰色预测模型最少需要采样5个原始数据,因此前5个时刻仅资源监测模块对容器资源使用量进行采样。资源预测模块、资源调度模块从t=5时刻开始进行负载预测等一系列资源调度动作,并且在之后的每个时刻会周期性地进行资源调度。
资源预测模块从容器的CPU资源和内存资源两个维度对容器的计算资源进行预测,为了更好的阐述负载预测的过程,这里以预测容器下一时刻的CPU资源使用量为例。
假设当前为n时刻(n>=5),资源预测模块需要预测下一时刻(n+1时刻)容器的CPU资源使用量。首先,资源监测模块在每个时刻对容器的CPU资源使用量进行采样,得到的采样值会形成采样序列
Figure BDA0002580033140000061
资源监测模块在每个时刻采样的情况如图3所示。其次,资源监测模块将采样序列上报给资源预测模块,资源预测模块根据采样序列建立灰色预测模型,预测容器下一个时刻的CPU资源使用量。
其一般步骤如下:
步骤1:假设当前为n时刻,资源监测模块将容器每个时刻的资源使用量
Figure BDA0002580033140000062
上报给资源预测模块。同时,记为采样序列
Figure BDA0002580033140000063
Figure BDA0002580033140000064
步骤2:资源预测模块通过式(3)计算采样序列的级别,如果数列的所有级别均落在
Figure BDA0002580033140000065
区间内,则可以通过灰色预测模型进行建模,否则需要通过式(4)对采样序列进行平移转换。
Figure BDA0002580033140000066
Figure BDA0002580033140000067
步骤3:设
Figure BDA0002580033140000071
Figure BDA0002580033140000072
的一次累加和,资源预测模块利用对
Figure BDA0002580033140000073
进行一次累加求和来消除因数据的变化而造成的随机性,即
Figure BDA0002580033140000074
则形成一阶累加序列:
Figure BDA0002580033140000075
步骤4:资源预测模块利用一阶累加序列通过式(7)建立微分方程,设
Figure BDA0002580033140000076
为要求的参数,其中a称为发展系数,b称为灰色作用量。
Figure BDA0002580033140000077
步骤5:资源预测模块设置矩阵
Figure BDA0002580033140000078
T表示转置,设B的矩阵表示为式(8),然后通过式(9)求解参数a,b。
Figure BDA0002580033140000079
Figure BDA00025800331400000710
步骤6:资源预测模块求解式(7)的一阶常微分方程可得式(10):
Figure BDA00025800331400000711
步骤7:资源预测模块通过对一次累加结果进行还原可得下一时刻容器的CPU资源使用量为:
Figure BDA0002580033140000081
此时,资源预测模块将k=n带入式(11),得到
Figure BDA0002580033140000082
求出容器下一时刻的CPU资源使用量。
步骤8:资源预测模块根据虚拟节点中各容器下一时刻的CPU资源使用量,利用式(12)计算得出各个虚拟节点下一时刻的CPU资源使用量
Figure BDA0002580033140000083
Figure BDA0002580033140000084
对于资源预测模块预测容器下一时刻的内存资源使用量,也遵循上述步骤,由于资源调度模块为容器分配CPU资源及内存资源通常为整百单元,所以资源调度模块会合理根据预测值为容器向上分配整百单元的资源。
2.2建立待调度节点集合
若工业现场出现多个虚拟节点过载的情况,那么这些节点都需要进行计算资源的调度。因此,资源调度模块将待资源调度的虚拟节点建立集合必不可少。在资源调度模块建立集合之前,资源监测模块首先需要解决如何判定虚拟节点是否过载的问题,并对虚拟节点进行分类。由于虚拟节点的资源调度涉及到容器迁入和迁出,因此本发明提出一种基于双阈值的虚拟节点分类方法。
为了能够快速判定虚拟节点是否过载,资源监测模块根据经验对虚拟节点设定高、低负载阈值。当虚拟节点出现计算拥堵或计算空闲的情况,资源监测模块记录该资源使用率作为阈值的预选。在对大量的虚拟节点进行监测后,资源监测模块根据经验对虚拟节点高、低负载阈值进行最终设定。
在设定阈值后,资源监测模块根据虚拟节点的资源总量以及下一时刻的资源使用量详细计算各虚拟节点的资源使用率。虚拟节点VNi的资源总量可以用式(13)表示:
Figure BDA0002580033140000085
资源预测模块预测虚拟节点VNi在下一时刻的资源使用量Ri(n+1)为:
Figure BDA0002580033140000086
即,
Figure BDA0002580033140000091
Figure BDA0002580033140000092
资源监测模块计算虚拟节点VNi在下一时刻的资源使用率为:
Figure BDA0002580033140000093
Figure BDA0002580033140000094
Figure BDA0002580033140000095
如图4所示,根据资源使用率和阈值的关系,资源监测模块将虚拟节点分为三类:低负载节点、临界负载节点和高负载节点。其中低负载节点满足
Figure BDA0002580033140000096
Figure BDA0002580033140000097
也就是虚拟节点VNi在下一时刻的CPU和内存使用率都不高,可以接受容器的迁入。高负载节点满足
Figure BDA0002580033140000098
或者
Figure BDA0002580033140000099
即虚拟节点在下一时刻任意维度的计算资源超出阈值范围,资源监测模块就认为该虚拟节点在下一时刻为高负载节点,需要资源调度模块对该虚拟节点进行资源调度以缓解节点的过载情况。
其余虚拟节点属于临界负载节点,意味着虚拟节点中两种资源都在阈值范围内。这类虚拟节点虽然不会将节点中的容器迁出,但是也不再接受高负载虚拟节点的容器迁入请求。
最后,资源调度模块根据虚拟节点在下一时刻的负载状态,将高负载节点集合起来建立集合P。
2.3确立调度优先顺序
为了确定资源调度的优先顺序,资源调度模块结合虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序。当多个虚拟节点都出现计算过载的情况,那么过载严重的虚拟节点应先进行资源调度。但是,在工业环境下不能仅考虑过载程度。当多个虚拟节点过载程度相同时,计算优先级高的虚拟节点对资源的渴望程度更高,即该虚拟节点应先进行资源调度。因此,资源调度模块根据虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序。
2.3.1计算优先级
在实际工业生产过程中,工业计算多种多样,并且具有不同的计算时延要求。例如,计算电机旋转速度、分析车间温湿度、计算视频流量、预测刀具寿命等,它们的计算时延要求各不相同。结合工业实际情况将不同时延要求的工业计算划分计算优先级,如表1所示。
表1 计算优先级
Figure BDA0002580033140000101
本发明根据计算时延程度划分4个计算优先级,具体描述如下:
高实时计算:高实时计算主要包括工业生产中的核心计算,工业生产对该类计算的时延要求高,当发生该类计算延迟时,会对整个工业生产过程产生延误,计算优先级为1,表示最先计算该类任务。
实时计算:实时计算主要包括工业生产中的重要计算,工业生产对该类计算的时延要求中等,当发生该类计算延迟时,会对局部生产过程造成延误,计算优先级为2。
一般实时计算:一般实时计算主要包括工业生产过程中的普通计算,工业生产对该类计算的时延要求较低,当发生该类计算延迟时,对局部生产过程影响较小,计算优先级为3。
非实时计算:非实时计算主要包括工业生产过程中的辅助计算,工业生产对该类计算的时延要求低,当发生该类计算延迟时,对生产过程不会产生影响,计算优先级为4,表示最后进行该类计算。
由于计算优先级不同的虚拟节点在过载情况相同时,资源调度的优先顺序是不同的,因此采用参考因子βi表示虚拟节点VNi进行资源调度的优先程度。
2.3.2虚拟节点过载情况
在待资源调度的虚拟节点集合P中,各个虚拟节点会出现不同程度的过载情况。其过载情况主要由虚拟节点的资源使用量超出阈值的程度所确定,若资源使用量超出阈值越多,则过载情况更严重。由于虚拟节点的计算资源包括CPU资源及内存资源,为了科学地评估虚拟节点的过载情况,资源调度模块通过式(20)综合评价虚拟节点VNi在下一时刻的资源过载量。资源调度模块根据资源过载量对虚拟节点的过载情况进行分析,认为资源过载量越大的虚拟节点其过载程度越严重,下一时刻越急需资源调度。
Figure BDA0002580033140000111
其中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)对采集样本进行归一化处理。
Figure BDA0002580033140000112
其中,
Figure BDA0002580033140000113
分别表示采集样本中最大值与最小值。
(3)资源调度模块采用式(22)计算指标μ1、μ2对应的信息熵。
Figure BDA0002580033140000114
其中
Figure BDA0002580033140000115
若Pi(k)=0,则
Figure BDA0002580033140000116
(4)资源调度模块采用式(23)计算指标的权值系数a1、a2
Figure BDA0002580033140000117
2.3.3调度优先顺序
资源调度模块为了确定下一时刻哪个虚拟节点优先进行资源调度,需要综合考虑虚拟节点的计算优先级及过载程度。因此,资源调度模块首先采用式(24)综合评价资源调度的优先顺序;然后,资源调度模块根据Ki(n+1)大小对虚拟节点降序排列;最后,选择Ki(n+1)分值最大的虚拟节点,作为下一时刻待资源调度的虚拟节点。
Figure BDA0002580033140000118
其中b1+b2=1,b1、b2分别表示高负载虚拟节点的计算优先级与过载程度的权值系数。特别地,注意将高负载虚拟节点的计算优先级与过载程度设定为指标μ1、μ2,之后按照上述熵权法步骤可以计算出权值系数。
2.4选择容器
资源调度模块在确定了下一时刻哪个虚拟节点先进行资源调度的基础上,为了最大程度地缓解该虚拟节点的过载情况,选择该虚拟节点中下一时刻资源使用率最大的容器进行迁出。
当资源监测模块监测到虚拟节点VNi处于高负载时,资源监测模块根据虚拟节点的过载情况,可以将其分为单资源(CPU或RAM)过载和双资源(CPU和RAM)过载。根据虚拟节点VNi过载的类型,资源调度模块分别采取不同的策略选择待迁出的容器,具体流程如图5所示。
对于单资源过载类型,资源调度模块直接选中当前虚拟节点中占有该类型资源最多的容器作为迁出对象。对于双资源过载类型,意味着虚拟节点的CPU资源使用量和内存资源使用量都超出了阈值。资源调度模块首先分别选中虚拟节点中CPU资源使用率和内存资源使用率最高的容器,如果两个容器为同一容器,则选中该容器。如果两个容器不是同一个容器,资源调度模块则通过式(25)分别为两个容器进行迁出优先级打分,选择Wi,j(n+1)分值较高的作为待迁出容器。
Figure BDA0002580033140000121
其中,c1、c2分别代表容器的CPU资源使用率和内存资源使用率的权值系数。特别地,注意将容器的CPU资源使用率和内存资源使用率设定为指标μ1、μ2,之后按照上述熵权法步骤可以计算出权值系数。
2.5选择目的节点
资源调度模块选中待迁出容器后,便开始为容器选择合适的虚拟节点,将容器迁移至虚拟节点中。当有低负载虚拟节点时,资源调度模块首先将所有低负载虚拟节点加入到可调度集合中,记为Q。为避免容器调度后节点状态颠簸,资源调度模块首先对虚拟节点进行预选。资源调度模块通过遍历Q,并为Q中每个虚拟节点利用式(26)(27)计算容器调度至该节点后的CPU及内存资源使用率,根据节点分类的标准,将
Figure BDA0002580033140000122
Figure BDA0002580033140000123
的节点从Q中去除。
Figure BDA0002580033140000124
Figure BDA0002580033140000131
假设Gi(n+1)表示虚拟节点下一时刻可提供的计算资源:
Figure BDA0002580033140000132
资源调度模块根据虚拟节点下一时刻可提供的资源情况和计算优先级,通过式(29)分别对各虚拟节点进行综合打分。
Figure BDA0002580033140000133
其中d1+d2=1,d1、d2分别表示低负载虚拟节点可提供的资源量与计算优先级的权值系数。特别地,注意将低负载虚拟节点可提供的资源量与计算优先级设定为指标μ1、μ2,之后按照上述熵权法步骤可以计算出权值系数。
最后,资源调度模块将得分最高的低负载虚拟节点作为目的节点,并将待调度的容器迁入到该虚拟节点上,完成计算资源的调度。
3.实例
3.1搭建面向工业边缘节点的计算资源虚拟化架构
假设在工业现场有6个边缘节点{EN1,EN2,…,EN6}计算工业任务,为了实现边缘节点的计算资源统一管理,搭建面向工业边缘节点的计算资源虚拟化架构。
其中,虚拟资源层共有6个虚拟节点{VN1,VN2,…,VN6}。设定各虚拟节点的CPU资源总量Vi CPU、内存资源总量Vi RAM、容器数及参考因子βi如表2所示:
表2 虚拟节点的计算资源
Figure BDA0002580033140000134
由于资源预测模块从t=5时刻开始负载预测,并且之后每个时刻会周期性的预测。因此,本实例设定t=5,阐述t=5时刻的负载预测及资源调度过程。资源监测模块获取前5个时刻各容器的资源使用量从而得到采样序列,设定各容器前5个时刻的资源使用量如表3所示:
表3 容器前5个时刻的资源使用量
Figure BDA0002580033140000141
在对虚拟节点及容器的资源总量及资源使用量进行了初步的设定之后,下面将对计算资源调度策略进行详细阐述。
3.2计算资源调度策略
(1)负载预测
资源监测模块实时监测容器的CPU资源及内存资源使用情况,这里我们以预测容器C1,1下一时刻的CPU资源使用量
Figure BDA0002580033140000151
为例。
步骤1:资源监测模块获取容器C1,1前5个时刻的CPU资源使用量,并形成采样序列
Figure BDA0002580033140000152
同时上报给资源预测模块。
步骤2:资源预测模块计算出采样序列的级别,如表4所示;均落在区间
Figure BDA0002580033140000153
这里n=5,即区间(0.71,1.39)。
表4 采样序列所有级别
λ(1) λ(2) λ(3) λ(4)
0.75 0.8 1 0.71
步骤3:资源预测模块对采样序列进行一次累加求和,得到一阶累加序列
Figure BDA0002580033140000154
步骤4:资源预测模块建立
Figure BDA0002580033140000155
数学模型,其中a,b为待求的参数。
步骤5:资源预测模块设置矩阵Y=[400,500,500,700]T,T表示转置,设B的矩阵表示为式(30),然后通过式(31)求解出参数a=-0.177,b=305.49。
Figure BDA0002580033140000156
Figure BDA0002580033140000157
步骤6:资源预测模块令k=5,根据式(32)计算出容器C1,1下一时刻的CPU资源使用量
Figure BDA0002580033140000158
为797.75m,由于资源调度模块向上分配给容器CPU资源量通常为整百单元,因此调整容器C1,1下一时刻的CPU资源使用量
Figure BDA0002580033140000159
为800m。
Figure BDA00025800331400001510
同时,资源预测模块预测出每个容器下一时刻的CPU资源使用量及内存资源使用量如表5所示。
表5 容器下一时刻的资源使用情况
Figure BDA0002580033140000161
步骤7:由于已经计算出各容器的资源使用量,资源预测模块可通过式(12)计算出各虚拟节点的资源使用情况如表6所示。
表6 各虚拟节点下一时刻资源使用情况
Figure BDA0002580033140000162
(2)建立待调度节点集合
在对大量的虚拟节点进行监测后,资源监测模块发现当虚拟节点的资源使用率达到70%时,虚拟节点会出现计算拥堵,进入高负载状态;当虚拟节点的资源使用率下降到30%以下,虚拟节点会出现计算空闲,进入低负载状态。因此资源监测模块根据对大量虚拟节点进行阈值监测的结果,最终对虚拟节点设定高负载阈值yH=0.7,低负载阈值yL=0.3。
资源监测模块根据虚拟节点的负载阈值,采用式(33)与式(34)对各个虚拟节点在t=6时刻的资源使用率进行计算;资源监测模块判断各虚拟节点的资源使用率是否超过阈值,并判断负载状态。最后,由于虚拟节点VN1、VN2、VN3的资源使用率超过阈值yH,资源调度模块它们集合起来建立待调度节点集合P。在t=6时刻,虚拟节点的资源使用率及负载状态如表7所示:
Figure BDA0002580033140000163
Figure BDA0002580033140000171
表7 虚拟节点负载状态
Figure BDA0002580033140000172
(3)确立调度优先顺序
1)在待调度节点集合P中,资源调度模块根据虚拟节点的计算优先级和过载情况综合分析调度的优先顺序。在实际工业生产过程中,工业计算多种多样,每个虚拟节点的计算优先级可能会不同。前文已经对各虚拟节点的计算优先级进行了设定,可以通过表2得到虚拟节点VN1、VN2、VN3的参考因子分别为β1=0.8,β2=0.6,β3=0.4。
2)资源调度模块对P集合中虚拟节点的过载情况进行分析。首先,资源调度模块对权值系数a1、a2通过熵权法计算,其计算过程如下:
步骤一:资源调度模块将虚拟节点VN1、VN2、VN3的CPU资源过载量与内存资源过载量设定为指标μ1、μ2,并对指标进行样本采集,得到采集样本分别为{500,600,300}和{500,300,-300}。
步骤二:资源调度模块采用式(21)对采集样本进行归一化处理,得到归一化样本分别为{0.667,1,0}和{1,0.75,0}。
步骤三:资源调度模块采用式(22)计算指标μ1、μ2对应的信息熵。其计算结果为F1=0.548、F2=0.363。
步骤四:资源调度模块采用式(23)计算指标的权值系数a1、a2。其计算结果为a1=0.6、a2=0.4。
其次,在计算了权值系数的基础上,资源调度模块利用式(20)对虚拟节点的资源过载量进行计算,根据结果发现虚拟节点VN1过载情况最严重。其计算过程及结果如下所示:
Figure BDA0002580033140000181
Figure BDA0002580033140000182
Figure BDA0002580033140000183
3)资源调度模块根据虚拟节点的计算优先级与过载程度综合评价虚拟节点资源调度的优先顺序。首先,资源调度模块采用熵权法计算式(24)的权值系数b1、b2分别为0.53、0.47。其计算结果与中间量如表8所示:
表8 权值系数b1、b2计算过程及结果
Figure BDA0002580033140000184
其次,资源调度模块采用式(24)计算得出Ki(6)分值最高的是虚拟节点VN1,因此资源调度模块首先对虚拟节点VN1进行资源调度。其计算过程及结果如下所示:
Figure BDA0002580033140000185
Figure BDA0002580033140000186
Figure BDA0002580033140000187
(4)选择容器
资源调度模块在确定虚拟节点VN1首先进行资源调度之后,需要在虚拟节点VN1中选择资源使用量最大的容器进行迁移。资源监测模块判定虚拟节点VN1是双资源都过载的情况,因此资源监测模块需要利用式(25)对各容器迁移顺序进行综合打分。首先,资源调度模块采用熵权法计算式(25)的权值系数c1、c2分别为0.626、0.374。其计算结果与中间量如表9所示:
表9 权值系数c1、c2计算过程及结果
Figure BDA0002580033140000191
资源监测模块需要利用式(25)对各容器迁移顺序进行综合打分。资源调度模块计算比较出容器C1,2分值最高,需要将其首先迁出。其计算过程如下所示:
Figure BDA0002580033140000192
Figure BDA0002580033140000193
Figure BDA0002580033140000194
Figure BDA0002580033140000195
(5)选择目的节点
首先,资源调度模块将虚拟节点VN4、VN5、VN6建立低负载节点结合Q,并利用式(26)(27)对各虚拟节点进行预选,虚拟节点VN4、VN5、VN6的CPU、内存资源使用率均未超过0.7,符合要求,如表10所示。
表10 预选结果
Figure BDA0002580033140000196
其次,资源调度模块利用式(28)对虚拟节点可提供的计算资源进行计算。虚拟节点VN4、VN5、VN6下一时刻可提供的计算资源G4(6)、G5(6)、G6(6)分别为,其计算过程如下
Figure BDA0002580033140000201
Figure BDA0002580033140000202
Figure BDA0002580033140000203
然后,资源调度模块根据虚拟节点下一时刻可提供的资源情况和计算优先级,通过式(29)分别对虚拟节点VN4、VN5、VN6进行综合打分,计算过程如式(50)、(51)、(52)所示。资源调度模块采用熵权法计算式(29)的权值系数d1、d2分别为0.475、0.525。其计算结果与中间量如表11所示:
表11 权值系数d1、d2计算过程及结果
Figure BDA0002580033140000204
Figure BDA0002580033140000205
Figure BDA0002580033140000206
Figure BDA0002580033140000211
最后,资源调度模块计算比较出虚拟节点VN5的S5(6)分值最高,将容器C1,2迁入至虚拟节点VN5中,完成计算资源的调度,缓解了边缘节点计算过载的情况。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (3)

1.面向工业边缘节点的计算资源管理调度方法,其特征在于:该方法包括以下步骤:
S1:搭建面向工业边缘节点的计算资源虚拟化架构;
S2:进行计算资源调度。
2.根据权利要求1所述的面向工业边缘节点的计算资源管理调度方法,其特征在于:所述面向工业边缘节点的计算资源虚拟化架构包括:
(1)工业物理层
包括现场设备和边缘节点;
现场设备包括传感器、PLC、摄像头及嵌入式设备,在生产过程中产生计算任务,并将任务卸载到边缘节点进行计算;
假设在工业现场部署n个边缘节点,用ENi表示边缘节点i;
从两个维度描述边缘节点的计算资源,即CPU资源和内存资源;CPU资源单位为m,表示“千分之一个核心”,内存资源单位为兆字节MB;定义EPi={Ei,ERi(t)}表示边缘节点ENi的计算资源属性,Ei表示边缘节点ENi的资源总量,ERi(t)表示边缘节点ENi在t时刻的资源使用量;其中,
Figure FDA0002580033130000011
Figure FDA0002580033130000012
表示边缘节点ENi的CPU资源总量、
Figure FDA0002580033130000013
表示边缘节点ENi的内存资源总量;
Figure FDA0002580033130000014
Figure FDA0002580033130000015
表示边缘节点ENi在t时刻的CPU资源使用量、
Figure FDA0002580033130000016
表示边缘节点ENi在t时刻的内存资源使用量;
边缘节点ENi及其属性用集合EEi={ENi,EPi}表示,其中ENi是边缘节点名称,EPi表示边缘节点ENi的计算资源属性;
(2)虚拟资源层
包括虚拟节点和容器;
虚拟节点是边缘节点通过虚拟化映射而来,是边缘节点的逻辑表示,能够反映边缘节点计算资源属性,为容器提供计算资源;容器封装应用程序用以计算工业任务,在创建容器时为其分配CPU和内存;
(2-1)虚拟节点:是边缘节点映射到虚拟资源层所产生的节点,是边缘节点的逻辑表示,能够为容器提供计算资源;虚拟节点与边缘节点一一对应,反映与其对应边缘节点的计算资源情况;
假设VNi表示虚拟节点i;由于虚拟节点VNi在不同时刻计算量不同,其使用的计算资源量也有所不同;为更好地描述虚拟节点VNi的计算资源属性,从虚拟节点VNi的资源总量与每个时刻的资源使用量进行描述;定义
Figure FDA0002580033130000021
表示虚拟节点VNi的计算资源属性,其中Vi表示虚拟节点VNi的资源总量,Ri(t)表示虚拟节点VNi在t时刻的资源使用量,
Figure FDA0002580033130000022
表示虚拟节点VNi在t时刻包含的容器数;其中,Vi={Vi CPU,Vi RAM},Vi CPU表示虚拟节点VNi的CPU资源总量、Vi RAM表示虚拟节点VNi的内存资源总量;
Figure FDA0002580033130000023
Figure FDA0002580033130000024
表示虚拟节点VNi在t时刻的CPU资源使用量、
Figure FDA0002580033130000025
表示虚拟节点VNi在t时刻的内存资源使用量;虚拟节点VNi及其属性用集合VVi={VNi,VPi}表示,其中VNi是虚拟节点名称,VPi表示虚拟节点VNi的计算资源属性;
虚拟映射:将边缘节点映射到虚拟节点的过程,定义为映射Y:{ENi,EPi}→{VNi,VPi},即将边缘节点计算资源属性映射到虚拟节点上;虚拟节点能够反映边缘节点的计算资源总量和反映边缘节点每个时刻的计算资源使用情况;
(2-2)容器:容器是计算工业任务的最小单元,封装应用程序用以计算工业任务,并且容器被创建时从虚拟节点中获取CPU和内存资源;由于每个虚拟节点包含了若干个容器,采用Ci,j表示虚拟节点VNi的容器j;
容器Ci,j在不同时刻计算量不同,使用的计算资源量有所不同;为描述容器计算资源相关属性,定义
Figure FDA0002580033130000026
表示容器Ci,j在t时刻的资源使用量,其中
Figure FDA0002580033130000027
表示容器Ci,j在t时刻的CPU资源使用量;
Figure FDA0002580033130000028
表示容器Ci,j在t时刻的内存资源使用量;
虚拟节点VNi在t时刻的资源使用量Ri(t)是该节点中所有容器的资源使用量之和,即:
Figure FDA0002580033130000029
其中,J表示虚拟节点VNi中的所有容器集合;
(3)控制层:包括计算资源控制器,负责策略的决定和执行;根据功能不同,计算资源控制器划分成资源监测模块、资源预测模块和资源调度模块;
资源监测模块负责实时监测各个容器的计算资源使用情况,包括CPU资源使用量、内存资源使用量;
资源预测模块通过建立灰色预测模型,预测各容器下一个时刻的计算资源使用量;
资源调度模块根据预测的计算资源信息,生成灵活的调度策略,保证在资源有限的边缘节点上实现计算资源的合理调度。
3.根据权利要求2所述的面向工业边缘节点的计算资源管理调度方法,其特征在于:所述S2具体为:
(1)负载预测
假设当前为n时刻,资源预测模块需要预测下一时刻,即n+1时刻,容器的CPU资源使用量;首先,资源监测模块在每个时刻对容器的CPU资源使用量进行采样,得到的采样值会形成采样序列
Figure FDA0002580033130000031
资源监测模块将采样序列上报给资源预测模块,资源预测模块根据采样序列建立灰色预测模型,预测容器下一个时刻的CPU资源使用量;
步骤如下:
步骤21:假设当前为n时刻,资源监测模块将容器每个时刻的资源使用量
Figure FDA0002580033130000032
上报给资源预测模块;记为采样序列
Figure FDA0002580033130000033
Figure FDA0002580033130000034
步骤22:资源预测模块通过式(3)计算采样序列的级别,如果数列的所有级别均落在
Figure FDA0002580033130000035
区间内,则通过灰色预测模型进行建模,否则需要通过式(4)对采样序列进行平移转换;
Figure FDA0002580033130000036
Figure FDA0002580033130000037
步骤23:设
Figure FDA0002580033130000038
Figure FDA0002580033130000039
的一次累加和,资源预测模块利用对
Figure FDA00025800331300000310
进行一次累加求和来消除因数据的变化而造成的随机性,即
Figure FDA00025800331300000311
则形成一阶累加序列:
Figure FDA0002580033130000041
步骤24:资源预测模块利用一阶累加序列通过式(7)建立微分方程,设
Figure FDA0002580033130000042
为要求的参数,其中a称为发展系数,b称为灰色作用量;
Figure FDA0002580033130000043
步骤25:资源预测模块设置矩阵
Figure FDA0002580033130000044
T表示转置,设B的矩阵表示为式(8),然后通过式(9)求解参数a,b;
Figure FDA0002580033130000045
Figure FDA0002580033130000046
步骤26:资源预测模块求解式(7)的一阶常微分方程得式(10):
Figure FDA0002580033130000047
步骤27:资源预测模块通过对一次累加结果进行还原得下一时刻容器的CPU资源使用量为:
Figure FDA0002580033130000048
此时,资源预测模块将k=n带入式(11),得到
Figure FDA0002580033130000049
求出容器下一时刻的CPU资源使用量;
步骤28:资源预测模块根据虚拟节点中各容器下一时刻的CPU资源使用量,利用式(12)计算得出各个虚拟节点下一时刻的CPU资源使用量
Figure FDA00025800331300000410
Figure FDA00025800331300000411
(2)建立待调度节点集合
为能够快速判定虚拟节点是否过载,资源监测模块根据经验对虚拟节点设定高、低负载阈值;当虚拟节点出现计算拥堵或计算空闲的情况,资源监测模块记录该资源使用率作为阈值的预选;在对若干虚拟节点进行监测后,资源监测模块根据经验对虚拟节点高、低负载阈值进行最终设定;
在设定阈值后,资源监测模块根据虚拟节点的资源总量以及下一时刻的资源使用量详细计算各虚拟节点的资源使用率;虚拟节点VNi的资源总量用式(13)表示:
Vi={Vi CPU,Vi RAM} (13)
资源预测模块预测虚拟节点VNi在下一时刻的资源使用量Ri(n+1)为:
Figure FDA0002580033130000051
即,
Figure FDA0002580033130000052
Figure FDA0002580033130000053
资源监测模块计算虚拟节点VNi在下一时刻的资源使用率为:
Figure FDA0002580033130000054
Figure FDA0002580033130000055
Figure FDA0002580033130000056
根据资源使用率和阈值的关系,资源监测模块将虚拟节点分为三类:低负载节点、临界负载节点和高负载节点;其中低负载节点满足
Figure FDA0002580033130000057
Figure FDA0002580033130000058
即虚拟节点VNi在下一时刻的CPU和内存使用率都不高,接受容器的迁入;高负载节点满足
Figure FDA0002580033130000059
或者
Figure FDA00025800331300000510
即虚拟节点在下一时刻任意维度的计算资源超出阈值范围,资源监测模块就认为该虚拟节点在下一时刻为高负载节点,需要资源调度模块对该虚拟节点进行资源调度以缓解节点的过载情况;
其余虚拟节点属于临界负载节点,意味着虚拟节点中两种资源都在阈值范围内;这类虚拟节点虽然不会将节点中的容器迁出,但是也不再接受高负载虚拟节点的容器迁入请求;
最后,资源调度模块根据虚拟节点在下一时刻的负载状态,将高负载节点集合起来建立集合P;
(3)确立调度优先顺序
为确定资源调度的优先顺序,资源调度模块结合虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序;当多个虚拟节点都出现计算过载的情况,那么过载严重的虚拟节点应先进行资源调度;在工业环境下不能仅考虑过载程度;当多个虚拟节点过载程度相同时,计算优先级高的虚拟节点对资源的渴望程度更高,即该虚拟节点应先进行资源调度;资源调度模块根据虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序;
(3-1)计算优先级:根据计算时延程度划分4个计算优先级,具体描述如下:
高实时计算:高实时计算主要包括工业生产中的核心计算,工业生产对该类计算的时延要求高,当发生该类计算延迟时,会对整个工业生产过程产生延误,计算优先级为1,表示最先计算该类任务;
实时计算:实时计算主要包括工业生产中的重要计算,工业生产对该类计算的时延要求中等,当发生该类计算延迟时,会对局部生产过程造成延误,计算优先级为2;
一般实时计算:一般实时计算主要包括工业生产过程中的普通计算,工业生产对该类计算的时延要求较低,当发生该类计算延迟时,对局部生产过程影响较小,计算优先级为3;
非实时计算:非实时计算主要包括工业生产过程中的辅助计算,工业生产对该类计算的时延要求低,当发生该类计算延迟时,对生产过程不会产生影响,计算优先级为4,表示最后进行该类计算;
由于计算优先级不同的虚拟节点在过载情况相同时,资源调度的优先顺序是不同的,因此采用参考因子βi表示虚拟节点VNi进行资源调度的优先程度;
(3-2)虚拟节点过载:在待资源调度的虚拟节点集合P中,各个虚拟节点会出现不同程度的过载情况;过载情况由虚拟节点的资源使用量超出阈值的程度所确定,若资源使用量超出阈值越多,则过载情况更严重;资源调度模块通过式(20)综合评价虚拟节点VNi在下一时刻的资源过载量;资源调度模块根据资源过载量对虚拟节点的过载情况进行分析,认为资源过载量越大的虚拟节点其过载程度越严重,下一时刻越急需资源调度;
Figure FDA0002580033130000071
其中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)对采集样本进行归一化处理;
Figure FDA0002580033130000072
其中,
Figure FDA0002580033130000073
分别表示采集样本中最大值与最小值;
3)资源调度模块采用式(22)计算指标μ1、μ2对应的信息熵;
Figure FDA0002580033130000074
其中
Figure FDA0002580033130000075
若Pi(k)=0,则
Figure FDA0002580033130000076
4)资源调度模块采用式(23)计算指标的权值系数a1、a2
Figure FDA0002580033130000077
(3-3)调度优先顺序:
资源调度模块为确定下一时刻哪个虚拟节点优先进行资源调度,需要综合考虑虚拟节点的计算优先级及过载程度;资源调度模块首先采用式(24)综合评价资源调度的优先顺序;然后,资源调度模块根据Ki(n+1)大小对虚拟节点降序排列;最后,选择Ki(n+1)分值最大的虚拟节点,作为下一时刻待资源调度的虚拟节点;
Figure FDA0002580033130000078
其中b1+b2=1,b1、b2分别表示高负载虚拟节点的计算优先级与过载程度的权值系数;特别地,注意将高负载虚拟节点的计算优先级与过载程度设定为指标μ1、μ2,之后按照上述熵权法步骤计算出权值系数;
(4)选择容器
当资源监测模块监测到虚拟节点VNi处于高负载时,资源监测模块根据虚拟节点的过载情况,将其分为单资源过载,即CPU过载或RAM过载,和双资源过载,即CPU和RAM过载过载;
对于单资源过载类型,资源调度模块直接选中当前虚拟节点中占有该类型资源最多的容器作为迁出对象;资源调度模块首先分别选中虚拟节点中CPU资源使用率和内存资源使用率最高的容器,如果两个容器为同一容器,则选中该容器;如果两个容器不是同一个容器,资源调度模块则通过式(25)分别为两个容器进行迁出优先级打分,选择Wi,j(n+1)分值较高的作为待迁出容器;
Figure FDA0002580033130000081
其中,c1、c2分别代表容器的CPU资源使用率和内存资源使用率的权值系数;将容器的CPU资源使用率和内存资源使用率设定为指标μ1、μ2,之后按照熵权法步骤计算出权值系数;
(5)选择目的节点
当有低负载虚拟节点时,资源调度模块首先将所有低负载虚拟节点加入到可调度集合中,记为Q;为避免容器调度后节点状态颠簸,资源调度模块首先对虚拟节点进行预选;资源调度模块通过遍历Q,并为Q中每个虚拟节点利用式(26)(27)计算容器调度至该节点后的CPU及内存资源使用率,根据节点分类的标准,将
Figure FDA0002580033130000082
Figure FDA0002580033130000083
的节点从Q中去除;
Figure FDA0002580033130000084
Figure FDA0002580033130000085
假设Gi(n+1)表示虚拟节点下一时刻可提供的计算资源:
Figure FDA0002580033130000091
资源调度模块根据虚拟节点下一时刻可提供的资源情况和计算优先级,通过式(29)分别对各虚拟节点进行综合打分;
Figure FDA0002580033130000092
其中d1+d2=1,d1、d2分别表示低负载虚拟节点可提供的资源量与计算优先级的权值系数;将低负载虚拟节点可提供的资源量与计算优先级设定为指标μ1、μ2,之后按照熵权法步骤计算出权值系数;
最后,资源调度模块将得分最高的低负载虚拟节点作为目的节点,并将待调度的容器迁入到该虚拟节点上,完成计算资源的调度。
CN202010665061.5A 2020-07-10 2020-07-10 面向工业边缘节点的计算资源管理调度方法 Active CN111813502B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010665061.5A CN111813502B (zh) 2020-07-10 2020-07-10 面向工业边缘节点的计算资源管理调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010665061.5A CN111813502B (zh) 2020-07-10 2020-07-10 面向工业边缘节点的计算资源管理调度方法

Publications (2)

Publication Number Publication Date
CN111813502A true CN111813502A (zh) 2020-10-23
CN111813502B CN111813502B (zh) 2023-08-29

Family

ID=72842766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010665061.5A Active CN111813502B (zh) 2020-07-10 2020-07-10 面向工业边缘节点的计算资源管理调度方法

Country Status (1)

Country Link
CN (1) CN111813502B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703394A (zh) * 2021-08-26 2021-11-26 浙江九州云信息科技有限公司 一种基于边缘计算的刀具监测管理方法及系统
CN115665158A (zh) * 2022-10-31 2023-01-31 浪潮云信息技术股份公司 一种容器集群服务动态管理方法及系统
WO2023036240A1 (zh) * 2021-09-08 2023-03-16 中兴通讯股份有限公司 资源调度方法、装置、计算机设备和可读介质
CN117056073A (zh) * 2023-08-16 2023-11-14 长扬科技(北京)股份有限公司 一种工业视觉分析下的计算资源优化配置方法及装置
CN117858262A (zh) * 2024-03-07 2024-04-09 成都爱瑞无线科技有限公司 基站资源调度优化方法、装置、基站、设备、介质及产品
CN117858262B (zh) * 2024-03-07 2024-05-14 成都爱瑞无线科技有限公司 基站资源调度优化方法、装置、基站、设备、介质及产品

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010066430A1 (en) * 2008-12-10 2010-06-17 Nec Europe Ltd. A method for operating at least one virtual network on a substrate network and a virtual network environment
WO2014015697A1 (zh) * 2012-05-04 2014-01-30 运软网络科技(上海)有限公司 一种虚拟网络的自主管理系统和方法
CN103945548A (zh) * 2014-04-29 2014-07-23 西安电子科技大学 一种c-ran网络中的资源分配系统及任务/业务调度方法
CN104270416A (zh) * 2014-09-12 2015-01-07 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
CN107295092A (zh) * 2017-07-07 2017-10-24 宁波图锐信息科技有限公司 一种基于云计算的民生服务移动应用平台系统
CN108012339A (zh) * 2016-10-28 2018-05-08 德国电信股份有限公司 具有无线电调度器的无线电通信网络
CN108597599A (zh) * 2018-04-28 2018-09-28 厦门理工学院 一种基于云雾资源低延迟调度的健康监护系统及方法
CN109947558A (zh) * 2018-12-28 2019-06-28 江苏方天电力技术有限公司 主机资源利用率计算方法和资源调度方法
CN111131421A (zh) * 2019-12-13 2020-05-08 中国科学院计算机网络信息中心 一种工业互联网现场大数据与云端信息互联互通的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010066430A1 (en) * 2008-12-10 2010-06-17 Nec Europe Ltd. A method for operating at least one virtual network on a substrate network and a virtual network environment
WO2014015697A1 (zh) * 2012-05-04 2014-01-30 运软网络科技(上海)有限公司 一种虚拟网络的自主管理系统和方法
CN103945548A (zh) * 2014-04-29 2014-07-23 西安电子科技大学 一种c-ran网络中的资源分配系统及任务/业务调度方法
CN104270416A (zh) * 2014-09-12 2015-01-07 杭州华为数字技术有限公司 负载均衡控制方法及管理节点
CN108012339A (zh) * 2016-10-28 2018-05-08 德国电信股份有限公司 具有无线电调度器的无线电通信网络
CN107295092A (zh) * 2017-07-07 2017-10-24 宁波图锐信息科技有限公司 一种基于云计算的民生服务移动应用平台系统
CN108597599A (zh) * 2018-04-28 2018-09-28 厦门理工学院 一种基于云雾资源低延迟调度的健康监护系统及方法
CN109947558A (zh) * 2018-12-28 2019-06-28 江苏方天电力技术有限公司 主机资源利用率计算方法和资源调度方法
CN111131421A (zh) * 2019-12-13 2020-05-08 中国科学院计算机网络信息中心 一种工业互联网现场大数据与云端信息互联互通的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周平;殷波;邱雪松;郭少勇;孟洛明;: "面向服务可靠性的云资源调度方法", 电子学报, no. 05 *
罗贺;胡笑旋;胡小建;: "基于联合意图的网格资源分配模型", 东南大学学报(自然科学版), no. 2 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703394A (zh) * 2021-08-26 2021-11-26 浙江九州云信息科技有限公司 一种基于边缘计算的刀具监测管理方法及系统
WO2023036240A1 (zh) * 2021-09-08 2023-03-16 中兴通讯股份有限公司 资源调度方法、装置、计算机设备和可读介质
CN115665158A (zh) * 2022-10-31 2023-01-31 浪潮云信息技术股份公司 一种容器集群服务动态管理方法及系统
CN117056073A (zh) * 2023-08-16 2023-11-14 长扬科技(北京)股份有限公司 一种工业视觉分析下的计算资源优化配置方法及装置
CN117056073B (zh) * 2023-08-16 2024-03-08 长扬科技(北京)股份有限公司 一种工业视觉分析下的计算资源优化配置方法及装置
CN117858262A (zh) * 2024-03-07 2024-04-09 成都爱瑞无线科技有限公司 基站资源调度优化方法、装置、基站、设备、介质及产品
CN117858262B (zh) * 2024-03-07 2024-05-14 成都爱瑞无线科技有限公司 基站资源调度优化方法、装置、基站、设备、介质及产品

Also Published As

Publication number Publication date
CN111813502B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN111813502A (zh) 面向工业边缘节点的计算资源管理调度方法
CN110096349B (zh) 一种基于集群节点负载状态预测的作业调度方法
CN109918198B (zh) 一种基于用户特征预测的仿真云平台负载调度系统及方法
CN104317658A (zh) 一种基于MapReduce的负载自适应任务调度方法
CN110231976B (zh) 一种基于负载预测的边缘计算平台容器部署方法及系统
CN104657205B (zh) 一种基于虚拟化的视频内容分析方法及系统
CN104915407A (zh) 一种基于Hadoop多作业环境下的资源调度方法
CN110086855B (zh) 基于蚁群算法的Spark任务智能感知调度方法
CN104298550A (zh) 一种面向Hadoop的动态调度方法
CN106775949B (zh) 感知复合应用特征与网络带宽的虚拟机在线迁移优化方法
CN105744006A (zh) 一种面向多类型服务的粒子群优化用户请求调度方法
CN113806018A (zh) 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法
Jia et al. A highly efficient data locality aware task scheduler for cloud-based systems
CN117349026B (zh) 一种用于aigc模型训练的分布式算力调度系统
CN110990160A (zh) 一种基于负荷预测的静态安全分析容器云弹性伸缩方法
CN113676357B (zh) 面向电力物联网中边缘数据处理的决策方法及其应用
Montazerolghaem Efficient Resource Allocation for Multimedia Streaming in Software-Defined Internet of Vehicles
CN105393518B (zh) 分布式缓存控制方法及装置
Yang et al. Design of kubernetes scheduling strategy based on LSTM and grey model
CN111083201A (zh) 一种工业物联网中针对数据驱动制造服务的节能资源分配方法
CN117076882A (zh) 一种云服务资源动态预测管理方法
CN116962409A (zh) 基于通感算与虚拟控制器智能融合的工业互联网网络架构
CN115454342A (zh) 基于SDN的Ceph异构分布式存储系统及其读写优化方法
CN116389591A (zh) 一种基于跨域分布式处理系统及调度优化方法
CN115840638A (zh) 一种基于资源碎片时空特征感知的函数填充模型及其方法

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
GR01 Patent grant
GR01 Patent grant