面向工业边缘节点的计算资源管理调度方法与流程

文档序号:22626567发布日期:2020-10-23 19:34阅读:398来源:国知局
面向工业边缘节点的计算资源管理调度方法与流程
本发明属于物联网领域,涉及面向工业边缘节点的计算资源管理调度方法。
背景技术
:目前,国内外关于边缘计算的计算资源管理调度主要集中于任务卸载。然而,在工业场景下,任务卸载到远距离的其他边缘节点可能无法满足工业计算任务低时延的要求,同时在工业边缘节点间没能实现计算资源的全面共享与统一管理。针对工业边缘节点的计算资源管理调度的现状,目前可能存在以下问题:(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时刻的资源使用量。其中,表示边缘节点eni的cpu资源总量、表示边缘节点eni的内存资源总量;表示边缘节点eni在t时刻的cpu资源使用量、表示边缘节点eni在t时刻的内存资源使用量。因此,边缘节点eni及其属性可用集合eei={eni,epi}表示,其中eni是边缘节点名称,epi表示边缘节点eni的计算资源属性。1.2虚拟资源层虚拟资源层主要包括虚拟节点和容器。虚拟节点是边缘节点通过虚拟化映射而来,是边缘节点的逻辑表示,能够反映边缘节点计算资源属性,其主要功能是为容器提供计算资源。容器封装了应用程序用以计算工业任务,在创建容器时可以为其分配cpu和内存。通过对容器的创建、运行、迁移、消除等操作,从而使计算资源管理调度成为可能。因此,本发明将计算资源的调度对象视为容器。1.2.1虚拟节点虚拟节点是边缘节点映射到虚拟资源层所产生的节点,是边缘节点的逻辑表示,能够为容器提供计算资源。虚拟节点与边缘节点一一对应,可反映与其对应边缘节点的计算资源情况。假设vni表示虚拟节点i。由于虚拟节点vni在不同时刻计算量不同,其使用的计算资源量也有所不同。因此,为了更好地描述虚拟节点vni的计算资源属性,本发明从虚拟节点vni的资源总量与每个时刻的资源使用量进行描述。定义表示虚拟节点vni的计算资源属性,其中vi表示虚拟节点vni的资源总量,ri(t)表示虚拟节点vni在t时刻的资源使用量,表示虚拟节点vni在t时刻包含的容器数。其中,表示虚拟节点vni的cpu资源总量、表示虚拟节点vni的内存资源总量;表示虚拟节点vni在t时刻的cpu资源使用量、表示虚拟节点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时刻的资源使用量,其中表示容器ci,j在t时刻的cpu资源使用量;表示容器ci,j在t时刻的内存资源使用量。需要强调的是,虚拟节点vni在t时刻的资源使用量ri(t)是该节点中所有容器的资源使用量之和,即:其中,j表示虚拟节点vni中的所有容器集合。1.3控制层控制层主要包括计算资源控制器,是整个计算资源管理架构的大脑,负责策略的决定和执行。计算资源控制器负责管理容器的生命周期,为容器集合的管理提供统一的接口。除此之外,容器的创建、迁移与销毁涉及到计算资源的调度,所以根据功能可以将计算资源控制器划分成包括资源监测模块、资源预测模块和资源调度模块。资源监测模块负责实时监测各个容器的计算资源使用情况,包括cpu资源使用量、内存资源使用量等。资源预测模块通过建立灰色预测模型,预测各虚拟节点下一个时刻的计算资源使用量。资源调度模块根据资源预测模块预测的计算资源信息,生成灵活的调度策略,保证在资源有限的虚拟节点上实现计算资源的合理调度,以满足计算任务的质量需求并且优化全局资源分配。本发明主要关注虚拟资源层及控制层,通过资源监测模块监测虚拟节点及容器的计算资源使用情况,利用资源预测模块及资源调度模块实现计算资源的管理调度。2.计算资源调度策略在工业现场出现多个边缘节点计算过载的场景下,如何选择合适的边缘节点优先进行资源调度显得尤为重要。因此,为了解决这一问题,本发明提出了基于计算优先级与过载程度的计算资源调度策略。本策略通过预测容器的计算资源使用情况来评估虚拟节点下一时刻是否需要资源调度,并建立需要资源调度的节点集合;结合节点的计算优先级与过载程度确定各节点资源调度的优先顺序;同时,为了最大程度缓解该虚拟节点的过载情况,选择资源使用量最大的容器迁出,并为其选择合适的目的节点迁入。2.1负载预测资源预测模块建立灰色预测模型进行负载预测,灰色预测模型可以在原始数据很少的情况下进行准确预测,通常情况下只需采样5个原始数据就能准确预测资源使用趋势。特别地,由于灰色预测模型最少需要采样5个原始数据,因此前5个时刻仅资源监测模块对容器资源使用量进行采样。资源预测模块、资源调度模块从t=5时刻开始进行负载预测等一系列资源调度动作,并且在之后的每个时刻会周期性地进行资源调度。资源预测模块从容器的cpu资源和内存资源两个维度对容器的计算资源进行预测,为了更好的阐述负载预测的过程,这里以预测容器下一时刻的cpu资源使用量为例。假设当前为n时刻(n>=5),资源预测模块需要预测下一时刻(n+1时刻)容器的cpu资源使用量。首先,资源监测模块在每个时刻对容器的cpu资源使用量进行采样,得到的采样值会形成采样序列资源监测模块在每个时刻采样的情况如图3所示。其次,资源监测模块将采样序列上报给资源预测模块,资源预测模块根据采样序列建立灰色预测模型,预测容器下一个时刻的cpu资源使用量。其一般步骤如下:步骤1:假设当前为n时刻,资源监测模块将容器每个时刻的资源使用量上报给资源预测模块。同时,记为采样序列步骤2:资源预测模块通过式(3)计算采样序列的级别,如果数列的所有级别均落在区间内,则可以通过灰色预测模型进行建模,否则需要通过式(4)对采样序列进行平移转换。步骤3:设为的一次累加和,资源预测模块利用对进行一次累加求和来消除因数据的变化而造成的随机性,即则形成一阶累加序列:步骤4:资源预测模块利用一阶累加序列通过式(7)建立微分方程,设为要求的参数,其中a称为发展系数,b称为灰色作用量。步骤5:资源预测模块设置矩阵t表示转置,设b的矩阵表示为式(8),然后通过式(9)求解参数a,b。步骤6:资源预测模块求解式(7)的一阶常微分方程可得式(10):步骤7:资源预测模块通过对一次累加结果进行还原可得下一时刻容器的cpu资源使用量为:此时,资源预测模块将k=n带入式(11),得到求出容器下一时刻的cpu资源使用量。步骤8:资源预测模块根据虚拟节点中各容器下一时刻的cpu资源使用量,利用式(12)计算得出各个虚拟节点下一时刻的cpu资源使用量对于资源预测模块预测容器下一时刻的内存资源使用量,也遵循上述步骤,由于资源调度模块为容器分配cpu资源及内存资源通常为整百单元,所以资源调度模块会合理根据预测值为容器向上分配整百单元的资源。2.2建立待调度节点集合若工业现场出现多个虚拟节点过载的情况,那么这些节点都需要进行计算资源的调度。因此,资源调度模块将待资源调度的虚拟节点建立集合必不可少。在资源调度模块建立集合之前,资源监测模块首先需要解决如何判定虚拟节点是否过载的问题,并对虚拟节点进行分类。由于虚拟节点的资源调度涉及到容器迁入和迁出,因此本发明提出一种基于双阈值的虚拟节点分类方法。为了能够快速判定虚拟节点是否过载,资源监测模块根据经验对虚拟节点设定高、低负载阈值。当虚拟节点出现计算拥堵或计算空闲的情况,资源监测模块记录该资源使用率作为阈值的预选。在对大量的虚拟节点进行监测后,资源监测模块根据经验对虚拟节点高、低负载阈值进行最终设定。在设定阈值后,资源监测模块根据虚拟节点的资源总量以及下一时刻的资源使用量详细计算各虚拟节点的资源使用率。虚拟节点vni的资源总量可以用式(13)表示:资源预测模块预测虚拟节点vni在下一时刻的资源使用量ri(n+1)为:即,资源监测模块计算虚拟节点vni在下一时刻的资源使用率为:即如图4所示,根据资源使用率和阈值的关系,资源监测模块将虚拟节点分为三类:低负载节点、临界负载节点和高负载节点。其中低负载节点满足及也就是虚拟节点vni在下一时刻的cpu和内存使用率都不高,可以接受容器的迁入。高负载节点满足或者即虚拟节点在下一时刻任意维度的计算资源超出阈值范围,资源监测模块就认为该虚拟节点在下一时刻为高负载节点,需要资源调度模块对该虚拟节点进行资源调度以缓解节点的过载情况。其余虚拟节点属于临界负载节点,意味着虚拟节点中两种资源都在阈值范围内。这类虚拟节点虽然不会将节点中的容器迁出,但是也不再接受高负载虚拟节点的容器迁入请求。最后,资源调度模块根据虚拟节点在下一时刻的负载状态,将高负载节点集合起来建立集合p。2.3确立调度优先顺序为了确定资源调度的优先顺序,资源调度模块结合虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序。当多个虚拟节点都出现计算过载的情况,那么过载严重的虚拟节点应先进行资源调度。但是,在工业环境下不能仅考虑过载程度。当多个虚拟节点过载程度相同时,计算优先级高的虚拟节点对资源的渴望程度更高,即该虚拟节点应先进行资源调度。因此,资源调度模块根据虚拟节点的过载程度与工业计算优先级综合分析资源调度的优先顺序。2.3.1计算优先级在实际工业生产过程中,工业计算多种多样,并且具有不同的计算时延要求。例如,计算电机旋转速度、分析车间温湿度、计算视频流量、预测刀具寿命等,它们的计算时延要求各不相同。结合工业实际情况将不同时延要求的工业计算划分计算优先级,如表1所示。表1计算优先级本发明根据计算时延程度划分4个计算优先级,具体描述如下:高实时计算:高实时计算主要包括工业生产中的核心计算,工业生产对该类计算的时延要求高,当发生该类计算延迟时,会对整个工业生产过程产生延误,计算优先级为1,表示最先计算该类任务。实时计算:实时计算主要包括工业生产中的重要计算,工业生产对该类计算的时延要求中等,当发生该类计算延迟时,会对局部生产过程造成延误,计算优先级为2。一般实时计算:一般实时计算主要包括工业生产过程中的普通计算,工业生产对该类计算的时延要求较低,当发生该类计算延迟时,对局部生产过程影响较小,计算优先级为3。非实时计算:非实时计算主要包括工业生产过程中的辅助计算,工业生产对该类计算的时延要求低,当发生该类计算延迟时,对生产过程不会产生影响,计算优先级为4,表示最后进行该类计算。由于计算优先级不同的虚拟节点在过载情况相同时,资源调度的优先顺序是不同的,因此采用参考因子βi表示虚拟节点vni进行资源调度的优先程度。2.3.2虚拟节点过载情况在待资源调度的虚拟节点集合p中,各个虚拟节点会出现不同程度的过载情况。其过载情况主要由虚拟节点的资源使用量超出阈值的程度所确定,若资源使用量超出阈值越多,则过载情况更严重。由于虚拟节点的计算资源包括cpu资源及内存资源,为了科学地评估虚拟节点的过载情况,资源调度模块通过式(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。2.3.3调度优先顺序资源调度模块为了确定下一时刻哪个虚拟节点优先进行资源调度,需要综合考虑虚拟节点的计算优先级及过载程度。因此,资源调度模块首先采用式(24)综合评价资源调度的优先顺序;然后,资源调度模块根据ki(n+1)大小对虚拟节点降序排列;最后,选择ki(n+1)分值最大的虚拟节点,作为下一时刻待资源调度的虚拟节点。其中b1+b2=1,b1、b2分别表示高负载虚拟节点的计算优先级与过载程度的权值系数。特别地,注意将高负载虚拟节点的计算优先级与过载程度设定为指标μ1、μ2,之后按照上述熵权法步骤可以计算出权值系数。2.4选择容器资源调度模块在确定了下一时刻哪个虚拟节点先进行资源调度的基础上,为了最大程度地缓解该虚拟节点的过载情况,选择该虚拟节点中下一时刻资源使用率最大的容器进行迁出。当资源监测模块监测到虚拟节点vni处于高负载时,资源监测模块根据虚拟节点的过载情况,可以将其分为单资源(cpu或ram)过载和双资源(cpu和ram)过载。根据虚拟节点vni过载的类型,资源调度模块分别采取不同的策略选择待迁出的容器,具体流程如图5所示。对于单资源过载类型,资源调度模块直接选中当前虚拟节点中占有该类型资源最多的容器作为迁出对象。对于双资源过载类型,意味着虚拟节点的cpu资源使用量和内存资源使用量都超出了阈值。资源调度模块首先分别选中虚拟节点中cpu资源使用率和内存资源使用率最高的容器,如果两个容器为同一容器,则选中该容器。如果两个容器不是同一个容器,资源调度模块则通过式(25)分别为两个容器进行迁出优先级打分,选择wi,j(n+1)分值较高的作为待迁出容器。其中,c1、c2分别代表容器的cpu资源使用率和内存资源使用率的权值系数。特别地,注意将容器的cpu资源使用率和内存资源使用率设定为指标μ1、μ2,之后按照上述熵权法步骤可以计算出权值系数。2.5选择目的节点资源调度模块选中待迁出容器后,便开始为容器选择合适的虚拟节点,将容器迁移至虚拟节点中。当有低负载虚拟节点时,资源调度模块首先将所有低负载虚拟节点加入到可调度集合中,记为q。为避免容器调度后节点状态颠簸,资源调度模块首先对虚拟节点进行预选。资源调度模块通过遍历q,并为q中每个虚拟节点利用式(26)(27)计算容器调度至该节点后的cpu及内存资源使用率,根据节点分类的标准,将且的节点从q中去除。假设gi(n+1)表示虚拟节点下一时刻可提供的计算资源:资源调度模块根据虚拟节点下一时刻可提供的资源情况和计算优先级,通过式(29)分别对各虚拟节点进行综合打分。其中d1+d2=1,d1、d2分别表示低负载虚拟节点可提供的资源量与计算优先级的权值系数。特别地,注意将低负载虚拟节点可提供的资源量与计算优先级设定为指标μ1、μ2,之后按照上述熵权法步骤可以计算出权值系数。最后,资源调度模块将得分最高的低负载虚拟节点作为目的节点,并将待调度的容器迁入到该虚拟节点上,完成计算资源的调度。3.实例3.1搭建面向工业边缘节点的计算资源虚拟化架构假设在工业现场有6个边缘节点{en1,en2,…,en6}计算工业任务,为了实现边缘节点的计算资源统一管理,搭建面向工业边缘节点的计算资源虚拟化架构。其中,虚拟资源层共有6个虚拟节点{vn1,vn2,…,vn6}。设定各虚拟节点的cpu资源总量vicpu、内存资源总量viram、容器数及参考因子βi如表2所示:表2虚拟节点的计算资源由于资源预测模块从t=5时刻开始负载预测,并且之后每个时刻会周期性的预测。因此,本实例设定t=5,阐述t=5时刻的负载预测及资源调度过程。资源监测模块获取前5个时刻各容器的资源使用量从而得到采样序列,设定各容器前5个时刻的资源使用量如表3所示:表3容器前5个时刻的资源使用量在对虚拟节点及容器的资源总量及资源使用量进行了初步的设定之后,下面将对计算资源调度策略进行详细阐述。3.2计算资源调度策略(1)负载预测资源监测模块实时监测容器的cpu资源及内存资源使用情况,这里我们以预测容器c1,1下一时刻的cpu资源使用量为例。步骤1:资源监测模块获取容器c1,1前5个时刻的cpu资源使用量,并形成采样序列同时上报给资源预测模块。步骤2:资源预测模块计算出采样序列的级别,如表4所示;均落在区间这里n=5,即区间(0.71,1.39)。表4采样序列所有级别λ(1)λ(2)λ(3)λ(4)0.750.810.71步骤3:资源预测模块对采样序列进行一次累加求和,得到一阶累加序列步骤4:资源预测模块建立数学模型,其中a,b为待求的参数。步骤5:资源预测模块设置矩阵y=[400,500,500,700]t,t表示转置,设b的矩阵表示为式(30),然后通过式(31)求解出参数a=-0.177,b=305.49。步骤6:资源预测模块令k=5,根据式(32)计算出容器c1,1下一时刻的cpu资源使用量为797.75m,由于资源调度模块向上分配给容器cpu资源量通常为整百单元,因此调整容器c1,1下一时刻的cpu资源使用量为800m。同时,资源预测模块预测出每个容器下一时刻的cpu资源使用量及内存资源使用量如表5所示。表5容器下一时刻的资源使用情况步骤7:由于已经计算出各容器的资源使用量,资源预测模块可通过式(12)计算出各虚拟节点的资源使用情况如表6所示。表6各虚拟节点下一时刻资源使用情况(2)建立待调度节点集合在对大量的虚拟节点进行监测后,资源监测模块发现当虚拟节点的资源使用率达到70%时,虚拟节点会出现计算拥堵,进入高负载状态;当虚拟节点的资源使用率下降到30%以下,虚拟节点会出现计算空闲,进入低负载状态。因此资源监测模块根据对大量虚拟节点进行阈值监测的结果,最终对虚拟节点设定高负载阈值yh=0.7,低负载阈值yl=0.3。资源监测模块根据虚拟节点的负载阈值,采用式(33)与式(34)对各个虚拟节点在t=6时刻的资源使用率进行计算;资源监测模块判断各虚拟节点的资源使用率是否超过阈值,并判断负载状态。最后,由于虚拟节点vn1、vn2、vn3的资源使用率超过阈值yh,资源调度模块它们集合起来建立待调度节点集合p。在t=6时刻,虚拟节点的资源使用率及负载状态如表7所示:表7虚拟节点负载状态(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过载情况最严重。其计算过程及结果如下所示:3)资源调度模块根据虚拟节点的计算优先级与过载程度综合评价虚拟节点资源调度的优先顺序。首先,资源调度模块采用熵权法计算式(24)的权值系数b1、b2分别为0.53、0.47。其计算结果与中间量如表8所示:表8权值系数b1、b2计算过程及结果其次,资源调度模块采用式(24)计算得出ki(6)分值最高的是虚拟节点vn1,因此资源调度模块首先对虚拟节点vn1进行资源调度。其计算过程及结果如下所示:(4)选择容器资源调度模块在确定虚拟节点vn1首先进行资源调度之后,需要在虚拟节点vn1中选择资源使用量最大的容器进行迁移。资源监测模块判定虚拟节点vn1是双资源都过载的情况,因此资源监测模块需要利用式(25)对各容器迁移顺序进行综合打分。首先,资源调度模块采用熵权法计算式(25)的权值系数c1、c2分别为0.626、0.374。其计算结果与中间量如表9所示:表9权值系数c1、c2计算过程及结果资源监测模块需要利用式(25)对各容器迁移顺序进行综合打分。资源调度模块计算比较出容器c1,2分值最高,需要将其首先迁出。其计算过程如下所示:(5)选择目的节点首先,资源调度模块将虚拟节点vn4、vn5、vn6建立低负载节点结合q,并利用式(26)(27)对各虚拟节点进行预选,虚拟节点vn4、vn5、vn6的cpu、内存资源使用率均未超过0.7,符合要求,如表10所示。表10预选结果其次,资源调度模块利用式(28)对虚拟节点可提供的计算资源进行计算。虚拟节点vn4、vn5、vn6下一时刻可提供的计算资源g4(6)、g5(6)、g6(6)分别为,其计算过程如下然后,资源调度模块根据虚拟节点下一时刻可提供的资源情况和计算优先级,通过式(29)分别对虚拟节点vn4、vn5、vn6进行综合打分,计算过程如式(50)、(51)、(52)所示。资源调度模块采用熵权法计算式(29)的权值系数d1、d2分别为0.475、0.525。其计算结果与中间量如表11所示:表11权值系数d1、d2计算过程及结果最后,资源调度模块计算比较出虚拟节点vn5的s5(6)分值最高,将容器c1,2迁入至虚拟节点vn5中,完成计算资源的调度,缓解了边缘节点计算过载的情况。最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1