基于数据中心的虚拟机放置优化节能策略研究

2024-07-07 04:54杨中旭杨晓李训潮刘俊峰
大众科学 2024年3期
关键词:数据中心

杨中旭 杨晓 李训潮 刘俊峰

摘 要: 近年来,随着5G、人工智能等新兴技术的发展,算力为千行百业的数字化转型注入强心剂。社会各行各业对算力需求的增长日益明显,运营商数据中心的服务器为保证高可用性,数据中心的高能耗俨然成为制约数据中心发展的一大阻碍,“节能增效”是数据中心的刚需。由于大量资源碎片造成的资源利用率低下和能源浪费问题。为了解决这个问题,提出了一种基于线性整数规划结合装箱的多目标优化算法。旨在通过优化虚拟机放置,进行虚拟机的二次调度,提高资源利用率,腾挪出更多的空闲主机,执行物理机下电等绿色节能操作,以达到“节能增效”目的。

关键词: 数据中心 资源碎片 虚拟机放置 线性整数规划 多目标寻优算法

中图分类号: TP302文献标识码: A文章编号: 1679-3567(2024)03-0106-04

Research on Energy-Saving Strategies for Optimizing the Placement of Virtual Machines Based on Data Centers

YANG Zhongxu YANG Xiao LI Xunchao LIU Junfeng

Shandong Co., Ltd., China Mobile Communications Group, Jinan, Shandong Province, 250001 China

Abstract: In recent years, with the development of 5G, artificial intelligence and other emerging technologies, computing power has injected a boost into the digital transformation of thousands of industries. The demand of computing power from all walks of life is increasingly obvious. In order to ensure the high availability of servers in operators data centers, the high energy consumption of data centers has become a bottleneck restricting the devel‐opment of data centers, and "energy coservation and efficiency improvement" is the rigid need of data centers. The main goal of this paper is to address the problems of low resource utilization and energy waste caused by large amounts of resource fragmentation in data centers. To solve this problem, this paper proposes a multi-objective optimization algorithm based on the combination of linear integer programming and binning, aiming to carry out the secondary scheduling of virtual machines by optimizing their placement, improve resource utilization, and free up more idle hosts to perform green energy-saving operations such as powering off physical machines, so as to achieve the purpose of "energy conservation and efficiency improvement".

Key Words: Data center; Resource fragmentation; Virtual machine placement; Linear integer programming; Multitarget optimization algorithm

在过去的10年里,我国的数据中心行业被广泛认为是高能耗行业。数据显示,我国数据中心整体用电量以每年超过10%的速度递增,其耗电量在2020年突破2 000亿kWh,约占全社会用电量的2.71%[1]。大量的服务器、存储设备、交换机以及千亿级别的芯片在运行过程中消耗大量能源。单个物理机在开机状态下,如果没有负载或者只有低负载,其能耗通常只达到物理机满负载峰值能耗的60%~70%。因此,关闭空闲的物理机是改善数据中心高能耗问题的一种方法[2]。此外,数据中心能效低的另一个关键因素是存在大量的资源碎片。资源碎片指的是虚拟机在创建和放置过程中没有考虑最优的位置,导致无法充分利用资源容量,从而降低了资源的使用效率。

当前在数据中心日常运维过程中常用算法是装箱优化算法(FF/FFD、BF/BFD、NF/NFD等),该算法无法通过全局化视角进行调度,无法确保全局最优解,调度效果不理想。此外调度计划是通过人工确定热迁移目标和路径进行制订,无法进行多批次的复杂调度方案规划,风险较大。除此之外,业界较为成熟的算法是基于改进的GA、MIP和TSA算法,该类型优化算法容易陷入局部最优。因此,提出了一种基于线性整数规划结合装箱的多目标寻优的算法。通过将线性规划和装箱算法相结合,以全局的视角求解物理机虚拟资源利用率的最大值的虚拟机放置方式,能够有效避免陷入局部最优解。

1 模型设计

1.1 虚拟机放置问题定义

虚拟机放置问题实际上是一个二维装箱问题,该问题被证明是NP-hard问题。在数据中心中,假设有m台物理机和n台虚拟机,虚拟机放置问题的目标是在满足一定约束条件的前提下,通过合理的调度策略将这n台虚拟机放置在m台物理机中。这个问题的复杂性源于需要考虑多个因素,如物理机的资源容量、虚拟机的资源需求、性能约束以及亲和特性等。具体问题定义如下。

在数据中心中部署n台虚拟机,每个虚拟机vmi(i= 1,2,3,…,n)具有属性{rcpui,rrami,rbandwidthi},其中rcpui表示虚拟机所需的CPU核心数量,rrami表示虚拟机所需的内存大小,rbandwidthi表示虚拟机所需的带宽大小。同时,数据中心中有m个物理机,每个物理机pmj(j=1,2,3,…,m)具有属性{cpuj,ramj,bandwidthj},其中cpuj、ramj和bandwidthj分别表示物理机pmj的CPU资源剩余量、内存资源剩余量和带宽资源剩余量。

式(1)中:1≤i≤n,1≤j≤m,i,j∈N;xij是一个二元变量,表示虚拟机(i)是否放置在物理机(j)上。式(2)(3)(4)中:xij*ri表示虚拟机(i)在物理机(j)上的资源消耗;cpuj/ramj/bandwidthj表示物理机(j)的资源上限。

1.2 碎片模型定义

根据实际需求,可以预设一个虚机规格标准以及碎片主机数阈值。当资源池中存在物理机的所剩资源(不包括空闲主机)大于所设置标准的虚机规格时,即可认为当前资源池存在资源碎片。当资源池内满足上述条件的物理机数占资源池所有物理机数的比例超过碎片主机阈值时,系统会自动上报“建议进行资源池虚机资源整理”提示,提醒用户进行资源池的资源整合,降低资源池的碎片化率。

例1 资源池有12台物理机,除空闲主机之外有7台主机剩余的vCPU超过4U(预设的虚机标准vCPU规格),碎片主机占比58%,高于预设的碎片主机占比阈值(10%),需要进行资源池虚机资源整理。

例2 资源池同样有12台物理机,除空闲主机之外有4台主机剩余的RAM超过32 G(预设的虚机标准RAM规格),碎片主机占比30%,高于预设的碎片主机占比阈值(10%),需要进行资源池虚机资源整理。

由上述例子可见,只要有一类资源不符合预设参数条件,就会提醒用户进行资源池的资源整合。

2 基于线性整数规划结合装箱的多目标寻优的虚拟机放置方法

虚拟机放置问题是一个离散型问题,无法直接使用一般的数学方法进行求解[3]。通常情况下,采用启发式算法来解决虚拟机放置问题,如人工蜂群算法[4]和蚁群算法[5]等。这类算法在求解此类复杂问题具有一定优势,但是也存在收敛过快或者局部最优解这些不足。

线性整数规划结合装箱的多目标寻优模型依靠多个独立的步骤来计算最优VM-PM映射,具体见图1。m对应于数据中心的物理机数量和n对应于数据中心托管的虚拟机数。编号为j的PM,记为pmj,(1≤j≤m)。对于每个物理机pmj(j=1,2,3,…,m)具有属性{cpuj,ramj,bandwidthj},其中cpuj、ramj和bandwidthj分别表示物理机pmj的CPU资源剩余量、内存资源剩余量和带宽资源剩余量。对每个虚拟机vmi(i=1,2,3,…,n)都有属性{rcpui,rrami,rbandwidthi},其中rcpui、rrami、rbandwidthi分别表示第i台虚拟机所需CPU核心数量、内存大小和带宽大小。xij是一个二元变量,表示第i台虚拟机是否放置在第j台物理机上。二元变量φj,φj=1表示pmj上至少有一台虚拟机,φj=0则表示pmj为空闲物理机。二元变量λi,λi=1表示vmi进行过迁移,λi=0则表示vmi保持原有物理地址不变。

利用前面的符号,在图1中给出具体的算法步骤。步骤1,以资源利用率最大化(δmax)为优化目标,在解空间中搜索每台主机资源利用率最大的一组解,并将该组解作为下一步的输入继续寻优。步骤2,以迁移成本最小化(θmin)为优化目标,在前步骤的解空间中进一步搜索迁移次数最小的一组解,并将该组解作为下一步的输入继续寻优。步骤3,结合物理机柜位置,以物理机柜均匀散列部署(ωmin)为目标,在前步骤的解空间中搜索活跃物理机的物理机柜位置最为均匀散列的一组解,并将该组解作为下一步的输入继续寻优,最终在最后的解空间中筛选出符合约束条件的最终解。

对于相同数量的VM请求,可能存在多个VM-PM映射方案。步骤2选择了其中一个资源利用率最大化δmax的解。图1中的式(10)保证了当前的VM-PM映射方案必须比步骤1计算的δmax更大;式(11)定义了ωmin变量,保证ωmin变量是基于pm的物理位置散列均匀。

3 仿真实验与分析

3.1 实验环境

为了验证本文所提算法的有效性,使用Python语言开发了一个虚拟机放置二次调度平台作为实验仿真平台,该平台包含以下功能。

(1)虚拟机资源数据的读取和处理:平台可以读取和处理虚拟机的资源数据,包括CPU、内存、存储等信息。(2)物理机资源数据的读取和处理:平台可以读取和处理物理机的资源数据,包括CPU、内存、存储等信息。(3)虚拟机热迁移批次生成及任务下发:平台可以生成虚拟机热迁移的批次,并将任务下发给相应的物理机进行执行。(4)虚拟机物理位置统计:平台可以统计虚拟机在物理机上的位置信息,包括虚拟机所在的物理机编号、机架号、机柜号等。(5)虚拟机迁移结束过程中各性能指标统计:平台可以在虚拟机迁移结束后,统计各种性能指标,如迁移时间、网络延迟、资源利用率等。实验机环境配置参数(CPU/Intel Core i7-9750H@ 2.60 HZ、内存/16 GB、硬盘/500 GB SSD、操作系统/64位Windows10、Python版本/3.7、PyCharm版本/2023.2)。

待优化的目标资源池环境物理机总数为193台,虚拟机总数为421台。预设参数阈值虚拟机标准vCPU规格为8U,标准内存RAM规格为32 G,预设的碎片主机占比阈值为10%。初始化目标资源池中物理机剩余vCPU超过10%时,主动触发资源池虚拟机迁移优化。环境预设阈值参数(CPU/8U、内存/32 GB、带宽/ 50 GB/s、碎片主机占比/10%)。

实验通过对冗余空闲物理机的数量统计,来对比资源优化调度前后的差异。并通过估算的方式(服务器节省费用/台×年=电费270 W×24 h×365 d/1 000×0.8元/度+机房冷却费135 W×24 h×365 d/1 000×0.8元/度+硬件维护费30%×1 167元/CPU×52),来预估对空闲主机进行下电操作后,资源池电力成本的节省费用,将此作为衡量“节能增效”效果的重要衡量指标。

3.2 实验结果分析

在迁移结果进行量化分析,资源池的空闲主机数在算法优化调度后有明显增加。下面针对优化迁移前后的CPU和内存两个维度的资源进行详细分析。通过算法进行虚机腾挪后资源池中新增26%的物理机空闲,资源池能更好地支撑网元扩容或者是物理机下电等绿色节能操作。根据节点成本计算公式(服务器节省费用/台×年=电费270 W×24 h×365 d/1 000×0.8元/度+机房冷却费135 W×24 h×365 d/1 000×0.8元/度+硬件维护费30%×1 167元/CPU×52),当前调度算法执行后环境中所有空闲主机执行下电后,将节省电力成本费用62.87万元。

4 结语

本文使用自研的虚拟机放置平台利用线性整数规划结合装箱的多目标寻优算法进行模拟测试,通过对比优化前后空闲虚机数量变化,测试算法所实现的节能增效效果。实验结果所示,在使用算法后,空闲主机数量增长20%~30%,可支持节能下电操作的主机大幅度增加,电力成本控制相当可观,这对于数据中心节能增效具有重大意义。

参考文献

[1]张文佺,王晓烨,乔军晶,等.中国数据中心能耗与可再生能源使用潜力研究[R].工业和信息化部电子技术标准化研究院:华北电力大学,2023.

[2]张从越,付雄,乔磊.云计算环境下基于多目标优化的虚拟机放置研究[J].计算机应用与软件,2021,38(3): 32-38.

[3]王辉,张洪瑜,吕书林.云数据中心考虑虚拟机关联性的虚拟机放置策略[J].计算机应用与软件,2021,38(2):58-64.

[4]张常乐.面向资源碎片优化的虚拟机放置方法研究[D].桂林:桂林电子科技大学,2021.

[5]刘耀鸿.基于改进蚁狮算法的虚拟机放置方法[D].桂林:桂林电子科技大学,2021.

猜你喜欢
数据中心
酒泉云计算大数据中心
数据中心ECC设计方案研究
关于建立“格萨尔文献数据中心”的初步构想
数据中心制冷节能技术及应用
民航绿色云数据中心PUE控制
大唐电信数据中心产品解决方案
基于VMware vSphere的高校数据中心建设
10kV油机在大型数据中心的并机控制与切换方案探讨
浅谈云计算数据中心在沪宁高速公路中的应用
基于云计算的交通运输数据中心实现与应用