基于动态能量感知的云计算任务调度模型

2022-03-30 14:03潘继财
计算机测量与控制 2022年2期
关键词:资源分配能耗调度

潘继财

(中国科学技术信息研究所,北京 100038)

0 引言

在云计算技术的广泛应用背景下,网络资源的共享更加便利,也使得用户能够更方便地获取更加便利的网络服务。但随着云计算服务的普适化发展及网络用户数量的不断增加,产生了大量的云计算工作和能量消耗,在高数据负载压力下,资源分配服务器能耗大、工作状态不稳定,导致云计算任务调度系统无法正常工作,严重时可能导致系统瘫痪,无法为用户提供资源分配和任务调度服务[1-2]。

为此,国内的相关研究者对云计算环境下的任务调度进行了深入的研究,文献[3]提出基于异构云算法的云计算任务调度模型结合异构资源分配服务器组件高速资源分配网络,采用并行式和分布式算法构建云计算任务调度模型协调多个不同架构的服务器进行任务分配,有效提升了任务调度的准确率,但针对能耗方面的优化效果不明显,整体能力消耗大、服务器负载高,计算量大、任务调度效率较低,整体工作状态难以维持稳定状态。文献[4]提出基于动态优先级和调度决策的云计算任务调度模型应用TS-DPSD算法构建动态优先级模型,考虑任务的价值度和紧急度进行调度排序,保证了任务调度的公平性和高效率性,并参考萤火虫行为,利用萤火虫算法以时间为吸引度进行任务调度,再次提升了任务调度的效率,但缺点在于没有对整体的能耗进行考虑,导致资源分配不理性,任务调度缺乏精确性。

针对上述方法存在的问题,本文提出了基于动态能量感知的云计算任务调度模型。首先计算任务调度的耗时及资源分配产生的总能耗,基于动态能力感知,构建云计算任务调度模型,对资源属性及任务属性进行分配,利用虚拟技术对调度任务进行需求分析和分类,通过动态能量感知构建云计算任务调度模型,将任务调度资源映射到虚拟计算中进行任务调度,实现动态任务调度。

1 云计算任务节点分析

分析云计算任务节点,通过计算节点集群中资源分配服务器的个数,进行任务调度服务器选择,匹配适用于任务调度需求的云计算任务节点。通过将节点集群中的资源分配服务器投影到云计算任务节点投影空间,判断投影点是否集中在集群中的重心点附近,是则说明整个资源分配服务器处于稳定的工作状态,负载均衡。反之则则说明整体资源分配服务器的工作状态不稳定,负载较高。

云计算任务节点中的资源分配服务器工作状态可用b={b1,b2,…,bn}来表示。当云计算任务节点接收某一任务和任务调度指令时,资源分配服务器的工作状态发生改变,其对应的参数向量随之发生变化,在某种程度上,参数向量的变化程度反映了资源分配服务器工作状态的变化类型[5-6]。

对于一个运行良好的云计算任务调度系统,计算节点在云计算任务节点投影空间中的投影点应以空间重心点为中心进行聚集,越靠近重心点位置,投影点越密集[7-8]。

假设云计算节点集群中资源分配服务器的个数为q,资源分配服务器的参数个数为p。进行任务调度时参考各个资源分配服务器的各个参数向量进行服务器选择,针对不同任务的调度需求,p个参数的重要性各不相同。假设在进行某一任务调度时,各个参数的权重分别为h1,h2,…,hP,令h1+h2+…+hP=1,则节点在云计算任务节点投影空间中的投影点集L为:

L={l1P,l2P,…,lqP}

其中:l表示节点在云计算任务节点投影空间中对应的投影点。

则该云计算任务节点投影空间的重心点G=(k1,k2,k3)的位置计算公式如下:

(1)

(2)

(3)

式中,k1、k2、k3分别对应重心点在三维空间中的位置参数[9]。

重心点位置反映了整体资源分配服务器的总体工作状态,也是云计算任务调度重要参考指数,通过将节点集群中的资源分配服务器投射到云计算任务节点投影空间,使得服务器的工作状态更加直观明了。若投影点集中在聚集中重心点周围,则表示整体资源分配服务器的工作状态稳定,负载均衡。若投影点在空间中呈现出为中心式分散状态,则表示整体资源分配服务器的工作状态不稳定,负载较高[10-12]。

2 基于动态能量感知的云计算任务调度模型

云计算任务调度模型是基于动态能量感知技术,对云计算的资源属性和任务属性进行任务调度。云计算任务调度模型的能耗一般由动态能耗、CMOS电路短路能耗和漏电能耗3部分组成,其中,模型的动态能耗是主要的能耗方式[13],基于此,针对动态能耗的感知,本文利用动态能量感知技术构建云计算任务调度模型,该模型使用成熟的虚拟计算将任务调度资源映射到虚拟层进行任务调度。其中,提供物理资源的服务器采用N:1横向虚拟整合法,实现任务调度。并对云计算任务调度模型的任务调度时间与任务调度能耗进行相关分析,引入基于动态能量感知的能耗时间转换因子,计算完成任务调度所需的能量消耗及时间消耗。

2.1 任务调度问题

分析云计算任务调度问题,是为了研究云计算任务调度的所需时间及任务调度过程中产生的动态能量消耗。考虑动态能量消耗的情况下,任务调度问题可以定义为[14]:存在具有同一类任务调度需求(包含调度带宽需求、调度距离需求、可信度需求等)的n个不具相互联系的独立性任务X={x1,x2,…,xn},以及满足以上任务调度需求的相应服务器中m个分配资源Y={y1,y2,…,ym},目标调度任务需同时满足最短时间跨度条件和最优总能耗条件,旨在最大限度地提升任务调度的效率,避免系统超负载的同时降低运行成本。

所有任务调度的最短时间跨度Tdmin的计算方式为:

Tdmin=Uj-Ri

(4)

式中,Uj表示任务xj完成调度的总时间;Ri表示完成分配资源yi资源分配的总时间。

分配资源yi的空闲分配时间Tfree为:

Tfree=Tdmin-Ri

(5)

其中:满足以最短时间跨度Tdmin完成资源分配的服务器资源,Tfree值为0。

所有资源分配产生的总能耗E计算方式如下:

(6)

其中:Ei表示分配资源yi进行资源分配时产生的动态能量消耗。

2.2 云计算任务调度模型

云计算任务调度模型主要解决云计算任务调度中的资源分配问题及任务调度过程中的工作负载问题。本文基于动态能力感知为基础采用S={X,Y}二元组表示云计算任务调度模型[15],其中X元组和Y元组的具体含义如下:

1)Y={y1,y2,…,ym}表示m个分配资源的集合,yi表示第i个分配资源。

资源属性:资源分配满足虚拟映射原则,基于动态能量感知算法,考虑服务器电路的能耗,通过调整服务器的工作电压和资源分配频率改变整体能量消耗,其中的联系为,当服务器的工作电压增大或资源分配频率增大时,整体的能量消耗减小[16]。

云计算任务调度模型如图1所示。

图1 云计算任务调度模型

描述资源属性,采用yi={cci,vi}二元组定义分配资源yi,其中cci表示分配资源yi在单位时间内的资源分配能力,在某种程度上,反映了资源yi在单位时间内的可分配次数;vi表示了分配资源yi的服务器工作电压策略,不同策略对应不同的服务器工作电压和资源分配频率,其中,资源分配频率的变化范围为[0,2]。

2)X={x1,x2,…,xn}表示n个不具相互联系的独立性任务的集合,xj表示第j个任务。

任务属性:O={oj,1

2.3 任务调度时间分析

由于任务调度时间与任务调度能量消耗存在一定联系[18],因此为便于时间分析,本文以动态能量感知为基础引入能量消耗时间转换因子,将完成任务调度所需的能量消耗参数统一转换为时间参数,能量消耗时间转换因子的定义矩阵如下:

a=[a1,a2,…,,am],ai

(7)

其中:ai表示完成分配资源yi的分配时产生的能量消耗与时间的转换因子[19]。

则完成yi分配资源的分配所产生的能量消耗转化成的时间参数EXi可表示为:

EXi=ai×Ei

(8)

完成参数转换后,定义EXC=[EXC[i,j]]n×m表示任务调度时间矩阵,其中,EXC[(i,j]表示完成xj任务调度在进行分配资源yi所需的执行时间。

任务调度时间序列如图2所示。

图2 任务调度时间序列

参考任务调度的计算量和分配资源的分配能力,完成xj任务调度在进行分配资源yi所需的执行时间EXC[(i,j]为:

(9)

参考任务调度时间随着服务器工作电压和资源分配频率的降低而增大的关系[20-22],则任务xj在服务器工作电压策略为vi的分配资源yi上执行的任务调度时间矩阵为:

(10)

采用替换EXC矩阵中的,则完成xj任务调度在进行分配资源yi所需的执行时间为:

EXC[i,j]=[ETC′[i,j]]

(11)

3 实验研究

为验证本文提出的基于动态能量感知的云计算任务调度模型的有效性,与文献[3]提出的基于异构云算法的云计算任务调度模型、文献[4]提出的基于动态优先级和调度决策的云计算任务调度模型进行实验对比。设定实验环境参数如下:Cloudsim Toolkit、操作工具Ant、云计算节点50个、工作电压200 V、工作电流150 A、操作系统Windows10。在上述实验环境下开展云计算任务调度实验。

为了保证实验的真实性,分别对小数据集和大数据集进行任务调度,分析不同调度模型的调度时间和调度能耗。

3.1 小数据集实验结果

小数据集下调度模型执行时间实验结果如图3所示。

图3 小数据集下调度模型执行时间结果

观察图3可知,在任务集为800时,基于动态能量感知的云计算任务调度模型任务调度耗时为160 s,异构云算法调度模型任务调度耗时为250 s,动态优先级和调度决策的调度模型任务调度耗时为360 s。在对小数据集进行任务调度时,本文提出的任务调度模型耗时较少。基于动态能量感知的云计算任务调度模型在调度过程中采用顺序执行策略。所以的云计算任务依次执行,因此任务调度数据集与任务调度时间基本呈现线性关系。基于异构云算法的云计算任务调度模型在调度过程中在前期调度过程相对平稳,调度时间较少,但是随着任务的增加,调度模型的调度结果出现波动,花费的调度时间也不断增加。本文提出的调度模型虽然也引入了顺序排序,但是在调度过程中充分分析了任务长度,利用处理器提高调度速度,因此花费的调度时间更短。

调度能耗实验结果如图4所示。

图4 小数据集下调度能耗实验结果

根据图4可知,在任务集为800时,基于动态能量感知的云计算任务调度模型能耗为175 kW/h,异构云算法调度模型能耗为260 kW/h,动态优先级和调度决策的调度模型能耗为290 kW/h。可以看出本文提出的调度模型任务调度能耗相对较少,传统调度模型采用的调度方法为顺序执行调度方法,因此当调度数据集到达一定水平后任务调度模型会启动虚拟机,每一个调度任务对应一台虚拟机,因此调度能耗过多。而本文提出的调度模型利用动态能量感知对虚拟机进行优化,确保一个虚拟机可以与多个调度任务协调,有效减少调度能耗。

3.2 大数据集实验结果

本文提出的大数据集共有3类,分别是DAS2-fs4、LINL-T3D和KTH-SP2,得到的调度模型调度时间如图5所示。

图5 大数据集调度模型调度时间实验结果

在对3种调度数据集进行调度时,本文提出的调度模型花费的调度时间最短,随着能量感知的不同,调度模型花费的时间也有所不同,但总体上,本文研究的调度模型处理优势更加明显。

调度能耗实验结果如图6所示。

图6 大数据集调度模型调度能耗实验结果

由图6可知,基于动态能量感知的云计算任务调度模型对DAS2-fs4数据集调度能耗略高于异构云算法调度模型,能耗为4 000 kW/h。对LINL-T3D和KTH-SP2数据集进行调度时的调度能耗均为3种方法的最低值。本文提出的调度模型调度能耗在对DAS2-fs4数据集调度能耗要低于传统的异构云算法调度模型,但是对LINL-T3D和KTH-SP2数据集进行调度时,花费的调度能耗更少,更适合实际应用中。

综上所述,无论是对大数据集还是小数据集,本文提出的基于动态能量感知的云计算任务调度模型在对任务进行调度时,花费的时间都最短,调度能耗都最低,因此调度能力更强,调度效果更好。

4 结束语

本文提出基于动态能量感知的云计算任务调度模型,实现了高效率、低能耗的资源分配和任务调度,通过实验验证了本文研究的云计算任务调度模型的性能较好,对维护网络资源分配服务器的稳定运行、保证高效率的网络资源共享和应用具有重要意义,同时能够促进动态能量感知技术的云计算技术的进一步发展和应用。

受网络环境的影响,本文所设计的云计算任务调度模型可能在某些网络不稳定或无网络地区的适应性不强,其资源分配和任务调度的稳定性还需进行进一步的研究和探索。

猜你喜欢
资源分配能耗调度
基于半划分调度的Linux 实时调度算法改进*
水资源平衡调度在农田水利工程中的应用
严寒区太阳能资源分区与集装箱房供暖期能耗
公共建筑年能耗强度影响因素交互作用
水下飞起滑翔机
日本先进的“零能耗住宅”
基于动态规划理论的特种设备检验资源分配研究
基于动态规划理论的特种设备检验资源分配研究
云环境下公平性优化的资源分配方法
TDMA无线网络中视频动态传输方法