背景技术
随着云计算不断普及,数据中心的体量和业务量也逐渐增加。服务提供商与用户之间的服务级别协议(SLA)规定了对任务延迟的保证。服务提供商必须根据用户需求来提供资源,在保障任务完成的同时满足用户的SLA。这带来以下几方面的挑战。
首先,数据中心运营过程出现的大量突发性工作负载如何进行有效处理已成为一个难题。面临突发负载时,服务供应商通常采用增加服务器的数量来或将超过处理阈值的任务进行等待直到有空闲资源再进行处理等方法应对。但增加服务器需要一定的时间,在这段时间内,数据中心一直处在过载的状态下运行,这将导致数据中心的响应延迟提高,进而影响到对用户的服务质量。
其次,在云数据中心中,用户和服务提供商签署服务级别协议(Service-LevelAgreement,SLA)后,用户有权获得满足其指定服务级别的高质量服务,如何保证用户的服务质量亦是一个颇具挑战性的问题。在突发负载的情况下,服务提供商通常优先执行优先级别较高的任务,但这容易导致一部分优先级较低的任务长时间无法得到执行,陷入“长尾效应”。因此,如何在保障大部分任务的服务质量的情况下,消除“长尾效应”,已成为关键问题。
并且,数据中心业务量的增加导致能源消耗增加以及更多的碳排放量。为了减少数据中心的能耗,一种常见的方法是利用虚拟机放置策略来减少物理资源的使用以降低能耗。但是,大多数放置算法致力于优化物理资源的利用率(例如带宽资源,CPU使用率,网络资源,内存使用率等)来减少服务器能耗,忽略了数据中心日常使用的制冷能耗。为了解决上述问题,目前亟待提出了一种有效的虚拟机节能放置策略SABA-S,通过目前研究至少发现该策略能在突发负载时保证用户的服务质量,并综合考虑了制冷系统的热循环模型和服务器能耗模型来减少数据中心日常使用能耗。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种云数据中心面对突发负载的能耗控制方法,该方法利用数据中心气流组织分布方式和任务队列的拆分重组应对数据中心突发负载,改善当今数据中心在遇到突发负载时,数据中心运行不稳定,耗能过高、热点频发等问题,通过对数据中心服务器排列以及气流组织分布方式进行建模,对到来的任务队列进行拆分重组,并利用模拟退火算法计算虚拟机放置的最佳方案,提高服务器的运行的稳定性和效率,并减少热点故障产生的可能性。
本发明的目的可以通过采取如下技术方案达到:
一种云数据中心面对突发负载的能耗控制方法,所述能耗控制方法包括以下步骤:
S1、对云数据中心到来的任务进行判断,若判定为突发负载,则对任务队列进行拆分重组,形成新的具备一定优先级规则的任务队列,其中,对任务队列进行拆分重组过程如下:首先将到来的任务进行分类,按是否为关键任务分为关键任务和普通任务两类,再按任务耗费时间分为长时任务、中时任务和短时任务三类,共形成六类任务;在面临突发负载时,对任务队列进行拆分重组优先保障关键任务的服务质量,同时分出一定量的服务器资源来运行普通任务,防止普通任务的延时过高;在关键任务执行之后,将对普通任务中占比较大的部分优先执行,以满足大部分用户的需求;同时,对任务队列进行拆分重组时还监测任务响应比,通过以下公式来确定任务的运行顺序:
其中,Z代表任务的优先权,Z值越大,表示该任务优先级越高,w表示用户递交任务时的期望完成时间,∑T表示该任务已等待时间的总和;
S2、建立气流组织模型,结合数据中心气流组织分布方式及数据中心机架排列特点及各机架上服务器数量对数据中心服务器进行建模,输出数据中心气流组织模型,过程如下:
S201、确定每个服务器所能支持的最大虚拟机数量m,数据中心服务器总数为n,假设总任务需要的虚拟机数量为C
tot,分配在每个服务器i上的虚拟机数量为c
i,则如下限制条件应被满足:
且c
i≤m;
S202、将虚拟机放置及调度方案用向量
表示,服务器的基本能耗用向量
表示,放置m台虚拟机后服务器的当前能耗用向量
表示,服务器需要的入口温度为t
node,D为考虑热循环的数据中心节点热矩阵,由如下公式计算:
其中A
T表示交叉干扰系数矩阵A的转置矩阵,交叉干扰系数矩阵A由实际数据中心基本功耗
节点出口温度
及制冷系统供应温度T
sup依据公式:
推导得出,其中K为热力学常数值,K=ρf
iC
p,C
p表示气流的比热容,ρ表示气流密度,f
i表示节点i的气流流速,则制冷系统实时输出温度t
sup可由如下公式计算:
S3、对中心气流组织模型进行求解,运用改进的模拟退火算法对目标函数maximize tsup求最优解,使制冷系统输出温度tsup在满足服务器入口温度阈值的前提下调高,其中,改进的模拟退火算法流程如下:
S301、在求目标函数maximize tsup最优解的初始阶段生成一个初始解,该初始解会为机架顶部位置分配80%的虚拟机,与模拟退火算法相比,改进的模拟退火算法生成了初始值,该初始值将加速获得最终的最优解;
S302、生成新的解决方案逼近最优解,在生成新解决方案过程中,如果在转换策略之后新解决方案分配给机架顶部位置的虚拟机数量小于机架其他位置的虚拟机数量,则将不会执行转换,若新解决方案分配较多虚拟机给机架顶部附近的位置,则进行解的替换,即改进的模拟退火算法可防止当前解的方向发生变化,不会向不利于获得全局最优解的方向变化;
S303、用公式
求出新解的t
sup后,将新解的t
sup和设定的阈值进行比较,该阈值通过人为设定得到,若新解大于设定的阈值,则执行新解的分配方案并结束改进的模拟退火算法,若不大于设定的阈值,则重复步骤S302。
进一步地,在求解目标函数maximize tsup的过程中,如果发现CPU的利用率低于50%,则仅启动50%的节点来调度虚拟机,此项措施能确保任务完成的同时提高节点的利用率。
进一步地,由于考虑到热循环的作用,不同数据中心的服务器之间热循环存在差异,建立的中心气流组织模型时对不同位置的服务器进行区分,将导致不同数据中心的数据中心节点热矩阵D会有所差异。
进一步地,所述运用改进的模拟退火算法对目标函数maximize tsup求最优解过程中,为了控制算法运行时间,设置最大迭代次数,改进的模拟退火算法输出的最优解为当前迭代次数获得的最优解。
进一步地,所述对任务队列进行拆分重组获得的任务队列由任务调度器将任务队列分配到虚拟机中,运用改进的模拟退火算法对目标函数maximize tsup求最优解后应将所得虚拟机放置方案交由虚拟机调度器进行执行。
进一步地,所述服务器入口温度阈值设定为25℃,即服务器需要的入口温度tnode=25℃。
进一步地,所述对任务队列进行拆分重组中,对任务队列进行分析,判定当然任务队列中任务的关键程度和耗时长短。
进一步地,所述对任务队列进行拆分重组中,通过任务调度器对虚拟机任务进行拆分重组,关键程度更高的任务首先得到分配执行,设置重组后的任务队列
将一段时间内到来的虚拟机任务按关键程度由高到低,并设置耗时由长到短作为次级选项进行排列,再按需执行分配,优先保证关键程度较高的任务的服务质量。
本发明相对于现有技术具有如下的优点及效果:
1、对于目前已经投入使用的数据中心,无需对其制冷系统及制冷方式进行改造,而是采用不同的拆分重组和虚拟机放置方案,提高数据中心面对突发负载的稳定性、降低数据中心的整体能耗、优化气流组织并减少局部热点的产生。
2、对于尚未建成的数据中心,本发明无需耗费过多开销用于设立独立的分布式制冷系统,能降低数据中心建设初期的投入花销,并降低后期的运营维护花销。
3、本发明公开的利用数据中心气流组织分布方式和任务队列的拆分重组应对数据中心突发负载的方法在数据中心运营过程中自动且智能的执行,减少后期运营维护的开销,并能达到一次投入,终身使用的效果。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
本实施例公开了一种云数据中心面对突发负载的能耗控制方法,该方法结合气流组织分布方式和实时到来的任务量进行数据中心虚拟机放置。
将虚拟机任务通过一个向量
表述,
其中节点的集合c
1,c
2…c
i…c
n对应虚拟机需求,n是整个任务所需要的虚拟机的数目。在云计算的环境下,每个虚拟机任务都可以通过将虚拟机放置及调度于不同的服务器来实现,即任务c
i应放置于相关的服务器s
i上,
其中m表示服务器数量。一个虚拟机任务的放置或调度方案可以用一组映射来表示,即
虚拟机调度的目标是,找到一种调度模式,使得能耗P最低,即使得t
sup值最高,其中
使这些虚拟机任务能在数据中心面临突发负载时满足服务质量的约束限制的条件下,安排到相应的服务器中执行,使得能耗的指标能够降低,满足数据中心节能,降低PUE的需求(PUE是能源效率,Power Usage Effectiveness的简写,是数据中心消耗的所有能源与IT负载使用的能源之比,PUE值越接近于1,表示一个数据中心的绿色化程度越高)。
为了便于分析本发明,以下结合本发明的架构图和实时到来的任务量进行数据中心虚拟机放置的工作流程图(图1);本发明拆分重组的流程图(图2);本发明的架构图(图3),再作详细分析。
一、对数据中心气流组织建模的具体步骤:
(1)、确定每个服务器所能支持的最大虚拟机数量m;
(2)、确定数据中心服务器总数为n,假设总任务需要的虚拟机数量为C
tot,分配在每个服务器上的虚拟机数量为c
i,则如下限制条件应被满足:
且c
i≤m;
(3)、将虚拟机放置及调度方案用向量
表示,
表示服务器的基本能耗,
表示放置m台虚拟机后服务器的当前能耗,服务器需要的入口温度为t
node,D为考虑热循环的数据中心节点热矩阵,则制冷系统输出温度可建模表示为:
基于这种建模方式,本发明所采用的模型就能够充分地考虑虚拟机任务所要求的资源特性及服务器所能承担的虚拟机任务数量。值得注意的是,在模型中,当且仅当放置及调度方案对所有的虚拟机任务都满足所需要的执行时间均能够满足阈值上限Deadline,则该方案是可行的。对于所述气流组织建模应对不同位置的服务器进行区分,服务器间的相互影响参数应有所区别,即不同数据中心的D矩阵应有所差异。
二、本实施例的架构模型如图3所示,数据中心接受任务请求,若到来的任务量超过数据中心的当前处理阈值,则判定为突发负载,由本实施例提出的对任务队列进行拆分重组策略对其进行处理。该策略分为两步,首先将到来的任务拆分分类,按照标签分为普通任务和关键任务,再将任务拆分细化到按耗时分级,分为长时任务、中时任务和短时任务(3,2,1个单位时间任务)。将任务分类之后,按照对任务队列进行拆分重组策略中定义的规则,优先执行关键任务,但为了防止普通任务累积过多,导致长尾效应,本实施例采用了监听任务响应比来提高长时间未执行任务的优先级和分配固定比例的资源去执行普通任务两个方法解决这个问题。由于短时任务的用户往往对延迟敏感度较高,因此对于普通任务,策略将优先分配资源给短时任务。将到来的任务拆分重组成新的队列后,将综合考虑制冷系统能耗和服务器能耗来对虚拟机的放置时的能源消耗进行优化。模拟退火算法(SA)在数据中心虚拟机放置的问题上有着良好的表现,本实施例针对SA的缺点进行了改进,使其能在较短的时间内获得最优解。
当出现突发负载时,数据中心无法保障所有任务的服务质量,不及时进行处理甚至将影响整个数据中心的性能。对任务队列进行拆分重组过程中不仅对任务的关键程度进行划分后,还考虑到了任务的运行时长,运行时长较短的任务往往用户对延迟的敏感度较高,所以在保障关键任务的服务质量的基础上,尽可能地去保障普通任务中运行时长较短的服务质量。
三、拆分重组算法和模型求解算法的具体执行步骤:
在数据中心运行过程中,当出现突发负载时,对任务队列进行拆分重组,过程如下:
(1)、读取任务的标签,将普通任务和关键任务分为两个队列,并优先执行关键任务队列;
(2)、根据算法判定任务大致的执行耗时,将关键任务和普通任务队列再次细分为1/2/3个单位执行时间队列,有限执行耗时较长的队列;
(3)、判断关键任务数量是否超出数据中心执行阈值,若是超过,则优先选取高耗时的任务执行,若是不超过,则挑选普通任务中高耗时的任务执行。
拆分重组算法的流程图如图2所示。
四、对模型使用改进的模拟退火算法进行求解,其中,目标函数是maximize tsup,即使制冷系统输出温度tsup在满足服务器入口温度阈值的前提下尽量调高,以达到节能的目的。本发明对模拟退火算法进行改进,开发了一种新颖的算法,基于模拟退火的启发式算法,它综合考虑了虚拟机放置过程中的服务器能耗模型和制冷系统的热循环模型。与模拟退火算法相比,本发明提出的策略通过以下改进有效地减少了模拟退火算法的迭代次数和运行时间:
1、在求maximize tsup最优解的初始阶段,改进的模拟退火算法会生成一个初始解,该初始解会为机架顶部位置分配一个较大的值,与模拟退火算法相比,改进的模拟退火算法生成了初始值,该初始值将加速获得最终的最优解;
2、在生成初始解之后,改进的模拟退火算法会生成新的解决方案来逼近最优解,在生成新解决方案过程中,如果在转换策略之后新解决方案将较少的值分配给顶部机架附近的位置,则将不会执行转换,若新解决方案分配较大的值给机架顶部附近的位置,则进行解的替换,即改进的模拟退火算法可防止当前解的方向发生变化,不会向不利于获得全局最优解的方向变化;
3、将新解的tsup和设定的阈值进行比较,该阈值通过人为设定得到,若新解满足设定的阈值,则执行新解的分配方案,若不满足设定的阈值,则重复执行上一步骤,即生成新的解决方案逼近最优解;
4、与模拟退火算法相比,如果CPU利用率不高,则改进的模拟退火算法将启动较少的节点来调度虚拟机,这能确保任务完成的同时提高了节点的利用率。
启发式算法求解后应将所得虚拟机放置与调度方案交由虚拟机调度器进行执行。同时,数据中心环境阈值温度应进行设置,常用阈值温度为25℃,即tnode=25℃。
将本发明提出的拆分重组方法与PLSC(Peak Load Scheduling Control,峰值负载调度控制)和FCFS(First Come Fisrt Serve,先来先服务)算法进行比较。对阿里数据中心的数据集进行分析整合,截取了一段60小时的负载情况作为实验数据。由于实验数据中,普通任务中1个单位时间的任务占据66%的比例,并且短时间的任务用户对延时较为敏感,因此优先保障短时的普通任务。在本实施例的实验中,本发明策略拆分重组算法在短时普通任务上延时是FCFS的48%,是PLSC的18%,确保了短时任务的服务质量,在关键任务上延时仅为FCFS的11%。本发明在保障关键任务的服务质量的同时,分出一部分资源给普通任务,在关键任务的延时可接受范围内,减少了普通任务的延时。
综上所述,本实施例提出了一种数据中心面对突发负载的能耗控制策略。该策略的目标是在保障数据中心面临突发负载时正常运行并满足用户的延时要求的前提下,对虚拟机的放置方法进行优化以降低数据中心的能耗。该策略将虚拟机放置与当前数据中心到来的任务量进行结合,保障数据中心运行性能,优化虚拟机放置方案,降低数据中心的运行能耗,大幅减少局部热点的产生,提高数据中心的运行可靠性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。