约束条件下高校实验室建设的节能效应研究

来源:优秀文章 发布时间:2023-01-19 点击:

汪林云

(温州商学院,浙江 温州 325035)

国家教育发展战略指出,虚拟仿真实验教学信息技术在教育领域具有重要应用,是教育信息化的重要组成部分,虚拟仿真实验教学建设是高校实验教学改革的必然发展方向[1]。这一指导思想旨在解决当前高校实验室传统管理模式下普遍存在管理手段落后、管理效率低下,特别是实验室设备在其全生命周期内缺乏便捷、安全、高效的信息化管理的问题[2]。这一改革趋势有利于高校整合资源,实施产、教、研融合发展,也使得高校实验室以及信息化建设趋向于私有云、小型数据中心化发展。数据中心属于这类实验室建设中的“重资产”,是因为这类设备密集,围绕着其建设的服务及应用数量庞大。值得注意的是,这种集约化建设所带来的问题之一是能耗成本问题。虽然高校实验室及其数据中心的规模相对较小,但由于基数庞大,其总能耗仍然是巨大的[3]。国内2021 年数据中心设备的耗电量为2 100 亿千瓦时,这相当于80 个大型(500 兆瓦)燃煤电厂的年产量,占全社会总电能消耗的2.6%,花费高达200 亿美元[4]。此外,这些数据中心中的设备产生热量,需要冷却系统,费用每年高达600 万美元。

由于工程技术的限制,数据中心一旦建成,如果要对已有的硬件设置进行调整和升级,往往将花费高昂的成本。因此已有的研究中更侧重于从任务调度的优化角度出发来控制能耗,主要采用两类方法以降低这些数据中心的能耗成本:第一种方法是使用高效的放置算法来减少能量消耗。这些算法可以在单个数据中心内或跨数据中心运行,例如网络感知节能调度算法[5]、VMPlanner[6]、文献[7]的VM 整合算法等,通过派生更高效的路由算法以降低数据中心网络交换机的功耗;
第二种方法是将应用程序移动到那些位于能源成本相对较低的区域的数据中心。

虽然这类调度算法有可能节省能源消耗,但由于实际应用中还需要考虑可用性,而这将可能导致额外的开销,从而抵消调度优化算法所做出的努力。例如,如果单个服务器能够承担工作负载,则当前算法优先考虑将尽可能多的应用程序实例合并到该服务器,提高该服务器的工作效率,而其他闲置服务器则可以进入节能模式。

然而,更高的负载水平将增大该服务器出现故障的几率,这将威胁到对于企业来说至关重要的可用性。一旦故障发生,管理服务尝试将一个应用从失败的系统中恢复该任务,仅将故障点或整个任务转移到热备份系统来保证可用性。这样,集中了较多故障任务的服务器就需要花费更多的资源来尝试恢复这些任务,从而增加了系统的能耗。

因此,本文从高校实验室建设与实际应用需求角度出发,研究并设计了一种可用性优先的能量优化算法。其核心在于允许数据中心用户为应用程序指定冗余因子,在考虑节能的同时将应用程序部署在可能失效的区域上,同时存储每个应用程序的冗余因子。每个调度实际执行前,利用爬山算法[8]计算最低能耗成本。其中失效区域根据场景不同,可以是单个服务器、服务器机架、整个数据中心或其他硬件聚合。在仿真分析中,为有效验证能量-任务部署算法的有效性,每个数据中心都被建模为一个失效区域。

节能的数据中心算法主要分为两类:虚拟机(Virtual Machine,VM)放置算法,试图将虚拟机整合到最少数量的服务器上;
高效的网络路由算法,试图通过将网络流量整合到最少数量的链路上实现节能路由。VMPlanner 是一种结合VM 放置和网络路由的算法[7]。其基本思想是同时优化VM 放置和路由通信量,从而关闭尽可能多的不需要的单元以节约能源。然而,随着单个服务器/节点集中的应用越来越多,该服务器/节点出现故障概率也会随之增加。因此,在VMPlanner 的基础上,通过允许用户为具体应用指定一个冗余级别,以保证指定级别的可用性,从而在增强可用性的同时兼顾能耗。如图1 所示,基于实际的数据中心进行简化建模,建立了一个可用性模型。

故障区域:也称为失效区域。如图1 所示的服务器、网络和存储等硬件,甚至整个数据中心都可以被看作是不同级别的故障区域。

应用程序(APP):由服务器类型的集合组成,例如Web 服务器、数据库服务器。应用程序由用户(User)拥有,并且为了进行资源调度,对于每个应用程序需要设定如下参数:

1)每个服务器类型需要的资源主要有:CPU、存储器、通信成本;

2)每种服务器类型的服务器数量;

3)冗余因子:服务器需要分布的失效区域的数量。

如图1 所示,该模型包含三个数据中心,这样每个数据中心都可以被看作是一个失败区域。考虑每个应用程序的实例总数为冗余因子的倍数。这里有3 个用户,每个用户1 个应用。其中:用户1 指定了3 个冗余因子,即在3 个不同的数据中心中有该应用程序的3 个副本;
用户2 指定了冗余因子为1,即在1 个数据中心上只有该应用程序的1 个副本;
用户3 指定了2 个冗余因子,即在2 个不同的数据中心上有该应用程序的2 个副本。

对于应用程序在故障区域上的任何分派都存在分配成本。那么,可以利用爬山算法(从局部最优的角度)找到一个使总成本最小的分派方案

2.1 成本模型

总成本有两个组成部分:能量成本和空闲成本。其中能量成本包括计算成本和通信成本两部分。考虑到故障区域可能分布于全球不同的地方,因此可以以该地区的电力成本来计算能量成本。显然,一些区域如澳大利亚(22 cents/kW·h)电力价格要远低于德国[9](34 cents/kW·h)。但需要注意的是,向这些电力价格低廉的区域传送数据会产生额外的通信成本。

除能量成本外,在每个故障区域内还存在因必须提供冗余硬件以处理故障而产生的空闲成本。例如,如果有3 个故障区域A1,A2 和A3,则在A2 和A3 中必须有冗余硬件处理来自A1 的故障。虽然可以关闭该硬件以减少能源成本,但仍然不能避免硬件本身的成本,例如服务器在使用寿命期间的花费年平均[10]超过2 000 美元。

2.2 成本方程

设Ce表示CPU 资源的能量成本和网络传输的能量成本,Ci表示空闲硬件的成本,则与应用程序耗时t相关的总成本Ct可表示为Ct=Ce+Ci。

如图1 所示,如果将数据中心整体看作是一个故障区域。那么数据中心的成本Cd同时由服务器数量、分配给数据中心的VM 数量、数据中心所在地的电力成本构成。因此,拥有n个数据中的系统的总能耗公式Ct可表示为:

2.3 算法设计

假设有n个故障区域,每个故障区域有m个服务器、U个用户。每个用户Ui都需要Ai个应用程序。一个应用程序a 可能需要Ka个不同类型的实例(例如Web 服务和数据库服务)。每个应用程序a 都有在Za故障区域(例如,4 个Web 服务器实例分布在2 个故障区域)展开应用程序实例请求。

然后利用爬山算法找到一个局部最优值(能耗成本最低)。具体验证中,从当前任务池中选择一个应用程序a,将其分配(Rand_allocation(*))给一个可用的数据中心,就可以计算本次分配的成本(Calc_cost(*)),此时就得到初始最优值。然后将a 分配给一个新的候选数据中心(以前没有分配过的,即未计算过成本的分配方案),重新计算成本,如果这次变更分配导致当前成本低于当前最优成本,则认为新的分配是当前的最佳分配。通过反复这一“重分配-成本计算”过程可以得到局部最优值,即局部最低能耗调度方案。显然,爬山算法的局部性最优会导致在计算次数较少时陷入局部性问题中,即局部最优值可能比全局最优值差很多。为了避免该问题,寻找局部最优方案的过程需要被重复多次。

可用性约束下的爬山算法以计算全局最优能耗分配方案如算法1 所示。

算法1:可用性约束下的爬山算法以计算全局最优能耗分配方案

定义:

I[a]是应用程序a 的实例数,Res[a]为应用程序a 所需的资源,R[a]表示冗余系数D,[d]是数据中心d的硬件资源,Alloc[a]是分配给应用程序a的数据中心,DC[d]是数据中心d的能源成本。

Alloc=Rand_allocation(I,R,Res,D) //执行随机任务分派

// 在D 中分配虚拟机,以得到“当前”最小化成本

Random_cost = Calc_cost(Alloc,Res,D,DC)

Min_cost = Random_cost

//第一次计算,初始化当前最小化成本

//多次迭代以查找全局最小化成本

for j<0 to no_itr

// 执行重随机分派过程,以改变分派给应用的数据中心

Alloc2=Random_change(Alloc,I,R,Res,D)

New_cost=calc_cost(Alloc2,Res,D,DC)//计算新的能耗成本

//如果新分派方案产生的能耗高于已有的方案则不更新

if New_cost >= Min_cost break

else //否则需要更新分派方案

Min_cost = New_cost

Alloc = Alloc2

End for

为了验证本文提出的算法,建立了如图1 所示的测试环境,结合VMPlanner 进行算法测试。为了更为准确地评估算法的准确性,本文选用了两个数据中心负载日志,包括各VM 的CPU 利用率和各应用的故障率数据。PlantLab 工作负载[11]的日志记录频率为5 min/次;
用户数量为20,50 和100,分别对应低负载、中等负载和高负载水平;
每个数据中心的主机数量在25~40 之间。在计算CPU 的能源成本时,考虑了不同地点每千瓦时的电力成本。Google 负载[12]由一组任务组成,其中每个任务在一台机器上运行,任务消耗内存和一个或多个核心。每个任务都属于单个作业,而一个作业可能有多个任务。

由于数据中心和服务器的数量直接影响可能分配的数量。在测试中,假定用户数和VM 的数量是不变的,模拟测试环境配置数据如表1 所示。

表1 模拟测试环境数据

表2 展示了某服务器的基准数据,其中评价指标ssj_ops 采 用SPECpower_ssj2008[13]。

表2 某服务器的基准测试结果

性能测试结果如表3 所示。

表3 算法性能测试结果

可以看到,在PlantLab 工作负载下,随机算法的成本比使用本文算法的成本高17%~45%。在Google 工作负载下,随机算法的成本比使用本文算法的成本高80%~130%。

由于很多应用在大部分时间都需要上线运行,对于这些应用程序,可用性是一个主要的标准。本文提出了将故障区域作为可用性问题的解决方案。由于发生故障时往往需要冗余的硬件资源来恢复故障,而这又会增加闲置硬件和能耗双重开销。因此,需要一种高效的算法来有效地配置VM 中各应用的分派,从而控制整个系统的成本和能耗。本文研究并设计了一种基于爬山算法的优化任务配置方法,测试表明该算法在总能耗和成本方面的表现明显优于随机分配方法,从而在可用性、能耗与成本之间取得了平衡。

猜你喜欢 可用性应用程序能耗 120t转炉降低工序能耗生产实践昆钢科技(2022年2期)2022-07-08核电站DCS可用性测试应用研究仪器仪表用户(2022年6期)2022-06-06能耗双控下,涨价潮再度来袭!当代水产(2021年10期)2022-01-12面向移动应用的软件可用性研究综述现代计算机(2021年14期)2021-11-20探讨如何设计零能耗住宅建材发展导向(2021年23期)2021-03-08机构知识库网站可用性评价指标的计量学分析中国科技纵横(2020年24期)2020-11-28删除Win10中自带的应用程序电脑报(2019年12期)2019-09-10谷歌禁止加密货币应用程序中国计算机报(2018年30期)2018-11-12日本先进的“零能耗住宅”华人时刊(2018年15期)2018-11-10关于数字图书馆网站的可用性框架研究科技传播(2015年15期)2015-12-13推荐访问:条件下 约束 效应
上一篇:基于混沌工程的自动化故障实验系统
下一篇:我国基础教育中人工智能课程研究现状的可视化分析

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有