CN108595301B - 一种基于机器学习的服务器能耗预测方法和系统 - Google Patents

一种基于机器学习的服务器能耗预测方法和系统 Download PDF

Info

Publication number
CN108595301B
CN108595301B CN201810252229.2A CN201810252229A CN108595301B CN 108595301 B CN108595301 B CN 108595301B CN 201810252229 A CN201810252229 A CN 201810252229A CN 108595301 B CN108595301 B CN 108595301B
Authority
CN
China
Prior art keywords
load
server
energy consumption
utilization rate
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810252229.2A
Other languages
English (en)
Other versions
CN108595301A (zh
Inventor
牛逸翔
孙毓忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Flux Technology Co ltd
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201810252229.2A priority Critical patent/CN108595301B/zh
Publication of CN108595301A publication Critical patent/CN108595301A/zh
Application granted granted Critical
Publication of CN108595301B publication Critical patent/CN108595301B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于机器学习的服务器能耗预测方法和系统,包括:分别采集服务器在零负载、低负载和高负载状态下的系统资源利用率和实时能耗,作为零负载训练集、低负载训练集和高负载训练集;分别将零负载训练集、低负载训练集和高负载训练集输入机器学习模型进行训练,生成零负载能耗模型、低负载能耗模型和高负载能耗模型;根据服务器的待预测系统资源利用率,选择零负载能耗模型,或低负载能耗模型,或高负载能耗模型,以预测服务器的能耗值,系统资源利用率包括:内存利用率、网络带宽利用率、磁盘利用率和CPU利用率,由此本发明通过扩充采集的系统资源利用率参数和分段训练模型,提高了预测精度和实用性。

Description

一种基于机器学习的服务器能耗预测方法和系统
技术领域
本发明涉及机器学习领域,特别涉及一种基于机器学习的服务器能耗预测方法和系统。
背景技术
随着大数据和云计算技术的普及以及业务量和数据量的增大,服务器集群的规模与日俱增,产生的能耗也是随之增加,这样就导致在能耗方面成本上升,所以一个云操作系统或者一个数据中心的服务器能耗的优化在现在的技术环境下成为了一个更加重要的问题。传统的测量功率的方式都是通过电仪器直接对服务器进行电参数的测量得到服务器的实际功率,但是这种物理测量方式只能够得到准确的实际功率,无法从这些数据中分析出是什么导致了功率的上升、下降或者是功率的突变。由于服务器功率的变化必然伴随着系统资源使用情况的变化,所以我们就需要设计出能够精确预测服务器能耗并且反映出系统资源利用率与服务器能耗间关系的预测模型。以分析资源利用率对能耗的影响,辅助设计人员在建设服务器时控制能源消耗。
在能耗的预测方面,很多专家学者从各个领域以及各种技术角度出发,产生了大量的优秀成果。专利CN201520972712.X公开了一种数据机房热环境的动态预测控制系统,包括:架空的地板、放置服务器的多个服务器机柜、空调、与所述空调连接的控制器、分别安装在地板、服务器机柜和空调上的多个传感器、与传感器信号连接的热环境模拟器、以及与热环境模拟器连接的能耗分析器。动态预测控制系统通过传感器实时采集数据机房各个位置的温度和速度并将采集的数据上传到热环境模拟器,热环境模拟器根据实测的数据计算出整个数据机房的气流分布,对数据机房的热环境进行实时的准确预测。
专利CN201410240301.1公开了一种服务器温度预测方法、装置及系统,在该方案中,硬件设备的第一使用率是在当前时刻之前的,且与当前时刻相距第一指定时长内的各采样时间点,分别采集得到的,考虑了过去的一段时间内的硬件设备的第一使用率对预测的温度的影响,因此,提高了预测得到的温度的准确度。但服务器的温度过高会导致服务器出现故障的概率增加,而温度过低会导致数据中心的能量消耗增加。所以该方法是通过监测服务器的温度进而进行温度的控制进而保证服务器的正常工作的节能。但是这种方法是对服务器外部环境的监测并以此为根据进行预测,其使用的温度这一外部环境因素所能反应服务器性能和能耗的准确性是远不如服务器内部性能参数的。
在设计服务器能耗模型的时候主要有两种设计思路,第一是基于程序计数器或系统使用率的建模,还有一种是通过温度来预测服务器功率。分别的方式是采集处理器的程序计数器参数、采集系统CPU利用率和内存利用率等资源利用率参数或者采集被测服务器实时温度进行模型的构建。目前最常使用的建模算法是选取多元线性回归和非线性回归。将选取的参数以及实测的功率值作为模型的训练集输入数据对模型进行训练,得到符合要求的能耗模型,并且使用测试集进行测试以验证模型的有效性和准确性。
发明内容
为了解决上述技术问题,本发明目的在于提供一种基于机器学习的服务器能耗预测方法,其中包括:
步骤1、根据预设的总CPU利用率阈值,将服务器的工作状态划分为零负载状态、低负载状态和高负载状态,分别采集该服务器在该零负载状态、该低负载状态和该高负载状态下的系统资源利用率和实时能耗,作为零负载训练集、低负载训练集和高负载训练集;
步骤2、分别将该零负载训练集、该低负载训练集和该高负载训练集输入机器学习模型进行训练,生成零负载能耗模型、低负载能耗模型和高负载能耗模型;
步骤3、根据该服务器的待预测系统资源利用率,选择该零负载能耗模型,或该低负载能耗模型,或该高负载能耗模型,以预测该服务器的能耗值。
其中步骤1中该系统资源利用率包括:该服务器的内存利用率、网络带宽利用率、磁盘利用率和该服务器中每个CPU的CPU利用率。
该基于机器学习的服务器能耗预测方法,其中将该服务器的总CPU利用率小于3%时的工作状态作为该零负载状态;
将该服务器的总CPU利用大于等于3%且小于50%的工作状态作为该低负载状态;
将该服务器的总CPU利用大于等于50%且小于等于100%的工作状态作为该高负载状态。
该基于机器学习的服务器能耗预测方法,其中步骤2中该机器学习模型具体为支持向量机回归模型。
该基于机器学习的服务器能耗预测方法,其中该步骤1还包括:利用服务器集群性能监测工具,采集该系统资源利用率。
该基于机器学习的服务器能耗预测方法,其中该步骤1还包括:通过功率测量仪获得该实时能耗。
本发明还提供了一种基于机器学习的服务器能耗预测方系统,其中包括:
训练集采集模块,用于根据预设的总CPU利用率阈值,将服务器的工作状态划分为零负载状态、低负载状态和高负载状态,分别采集该服务器在该零负载状态、该低负载状态和该高负载状态下的系统资源利用率和实时能耗,作为零负载训练集、低负载训练集和高负载训练集;
学习训练模块,用于分别将该零负载训练集、该低负载训练集和该高负载训练集输入机器学习模型进行训练,生成零负载能耗模型、低负载能耗模型和高负载能耗模型;
预测模块,用于根据该服务器的待预测系统资源利用率,选择该零负载能耗模型,或该低负载能耗模型,或该高负载能耗模型,以预测该服务器的能耗值。
其中训练集采集模块中该系统资源利用率包括:该服务器的内存利用率、网络带宽利用率、磁盘利用率和该服务器中每个CPU的CPU利用率。
该基于机器学习的服务器能耗预测系统,其中将该服务器的总CPU利用率小于3%时的工作状态作为该零负载状态;
将该服务器的总CPU利用大于等于3%且小于50%的工作状态作为该低负载状态;
将该服务器的总CPU利用大于等于50%且小于等于100%的工作状态作为该高负载状态。
该基于机器学习的服务器能耗预测系统,其中学习训练模块中该机器学习模型具体为支持向量机回归模型。
该基于机器学习的服务器能耗预测系统,其中该训练集采集模块还包括:利用服务器集群性能监测工具,采集该系统资源利用率。
该基于机器学习的服务器能耗预测系统,其中该训练集采集模块还包括:通过功率测量仪获得该实时能耗。
由此本发明通过以下三点提高了服务器能耗预测精度:
1、以系统资源利用率为输入参数,并且扩充采集的系统资源利用率参数的个数;
2、使用机器学习算法的方法进行建模;
3、提出分段训练及预测的模型构建方法,以提高预测精度并提高实用性。
附图说明
图1为服务器功率采集的方法描述图;
图2为构建能耗模型的总体框图。
具体实施方式
对于目前的主流能耗预测建模方法存在一些导致模型误差的潜在因素,本发明基于这些因素进行了针对性的改进和优化,主要从以下几个方面展开。
首先考虑选取的系统参数指标,无论是程序计数器或者是CPU利用率和内存利用率的组合,它们的变化都能够导致服务器功率发生改变,但是这些参数并不是唯一可以导致服务器功率发生改变的因素,现在的研究结果只能表明这些参数与服务器实际功率的相关性是很高的,但是无论是内部系统资源模块或者是外部的物理硬件环境都有可能对实时的功率造成影响。所以本发明以系统资源利用率为输入参数,并且扩充采集的系统资源利用率参数的个数,包括但不限于CPU利用率、内存利用率、网络带宽利用率、磁盘利用率等。
其次,本发明构建预测模型使用的输入数据种类数较多,属于多维数据,并且对精度要求较高,所以使用了机器学习算法的方法进行建模,机器学习算法例如支持向量机模型svm中的支持向量机回归模型svr为例但不限于此。其中多维数据的多维体现在其涉及多个种类,通过将数据转化成为向量进而进行模型的训练和预测,而对向量的一个重要的描述就是它的维度数,每一维代表着不同的信息,多以多种数据就称为多维数据。本发明是4类数据:1、CPU利用率、2内存利用率、3网络带宽利用率、4磁盘利用率。实测功率是在进行模型训练时使用的。
最后,针对能耗预测模型的应用场景以及很多机器学习算法存在的有效区间或时效性的问题,本发明提出了分段训练及预测的模型构建方法,以提高预测精度并提高实用性。
在数据采集方面,传统能耗预测方法一般是通过仪器或者是服务器的系统文件进行数据采集,这些采集方法操作复杂,效率不高,会影响数据的实时性。所以本发明使用了服务器集群性能监测工具,在对服务器集群进行性能监控的同时,可以通过该工具向外提供的数据接口将实时的监控数据提取出来作为能耗模型的训练集数据。
本发明是在现有的服务器功耗预测方法的基础上,提出增加用于建模的参数个数,考虑到实际应用时的具体场景分析可能对服务器功率产生明显影响的系统资源的使用。算法方面使用机器学习算法,本文以svm(支持向量机)模型中的svr(支持向量机回归)模型为例但不限于此。
为了实现上述目的,本发明采用的步骤以及具体技术方案如下:
步骤1.根据预设的总CPU利用率阈值,将服务器的工作状态划分为零负载状态、低负载状态和高负载状态,分别采集该服务器在该零负载状态、该低负载状态和该高负载状态下的系统资源利用率和实时能耗,作为零负载训练集、低负载训练集和高负载训练集。步骤1中该系统资源利用率包括:训练时的该服务器的内存利用率、网络带宽利用率、磁盘利用率和该服务器中每个CPU的CPU利用率。
获取服务器的系统资源利用率。系统资源利用率包括CPU利用率、内存利用率、网络带宽利用率、磁盘利用率等系统资源参数(包含但不限于这四个参数)。传统的能耗预测一般会选择CPU利用率和内存利用率作为参数进行使用,但是在一个云操作系统或者大型数据中心当中,一般会存在着数量巨大的服务器集群,并且会有着数据量庞大的分布式应用运行在这些服务器上,在这种生产环境下,不仅仅是CPU和内存的消耗很大,分布式应用节点间的通信和数据传输,单台服务器对大量数据的收发和存储,都会给服务器的网络带宽以及磁盘增加很大的负载,这些资源的消耗也有可能会相应的导致服务器功率的上升。所以对于预测模型参数的选取需要更加的丰富,更能够完整的反映出服务器实际功率的改变。同时,一般服务器一般有多个CPU,以往的参数采集方式基本是通过系统文件获取系统总的CPU使用率,但是这种方式忽略了每个CPU对服务器能耗产生的独立的影响。综上所述,本发明进一步增加了参数的数量,采集了服务器的内存利用率、网络带宽利用率、磁盘利用率和每个CPU的CPU利用率等系统资源利用率参数。
步骤11.获取CPU利用率。
以下给出了linux系统中CPU相关的参数。
参数解释:
user:从系统启动开始累计到当前时刻,用户态的CPU时间,不包含nice值为负进程,用户态的CPU时间具体为linux系统执行用户指令所用的时间。
nice:从系统启动开始累计到当前时刻,nice值为负的进程所占用的CPU时间,Linux的进程调度并未使用直接均分时间片的方式,而是对优先级进行了改进。nice值,范围是-20到+19,越大的nice值意味着更低的优先级,低nice值的进程会获得更多的处理器时间。
system:从系统启动开始累计到当前时刻,核心时间。
idle:从系统启动开始累计到当前时刻,除硬盘IO等待时间以外其它等待时间。
iowait:从系统启动开始累计到当前时刻,硬盘IO等待时间irq:从系统启动开始累计到当前时刻,硬中断时间。
softirq:从系统启动开始累计到当前时刻,软中断时间。
根据前文所述,此步骤采集服务器中每个CPU的利用率参数。
CPU利用率的计算方法:通过计算系统CPU的等待时间以及包括等待时间内的总时间即可得到CPU的闲置率,进一步可得到CPU利用率。
步骤12.获取内存利用率。内存相关的指数有MemTotal、MemFree、Buffers、Caches等等,先获取总的内存,再获取空闲内存数,即可计算出内存的利用率。
步骤13.获取网络带宽利用率。统计每个时刻网络数据传输接收Receive和发送Tramsmit的bytes数的变化,即可获得网口传输速率,再除以网口的带宽就得到网络带宽利用率。
步骤14.获取磁盘读写I/O利用率。统计每个单位时间磁盘进行读和写操作的数据总量,再获取单位时间磁盘的最大吞吐量,通过这两个参数即可得到磁盘的利用率,在本实施例中单位时间可例如是1秒。
获取服务器的实时功率作为该服务器的实时能耗。
步骤15.通过功率测量仪连接要进行测试的物理服务器,对其包括功率在内的各种电参数进行实时的测量,这一过程是与步骤1中获取服务器资源利用率同步进行的。
步骤16.读取上一步骤15中测量的服务器功率值并且保存到本地,与之前步骤1获取的系统资源利用率通过时间戳一一对应,合并成一个完整的用于模型构建的数据集。
步骤17.服务器模拟负载。人为的给服务器增加负载,模拟实际业务环境下服务器集群在运行项目时对各种系统资源的使用情况。调整给服务器的负载,多次采集每个负载情况下的系统资源利用率和实时能耗,作为训练集,保证训练集数据的完备性。
步骤2.分别将该零负载训练集、该低负载训练集和该高负载训练集输入机器学习模型进行训练,生成零负载能耗模型、低负载能耗模型和高负载能耗模型。
训练svm模型。构建预测模型需要先对模型进行训练,本算法模型的训练集由实时采集的系统资源利用率和实时能耗组成,将构建好的训练集数据作为机器学习模型(svm算法训练模块)的输入进行训练,能够得到一个能耗预测模型。在整个构建能耗预测模型的实验阶段,通过每次对数据的分析,发现了如下现象:在零负载阶段,实际功率值会在系统资源利用率稳定的情,况下出现跳变,导致部分零负载阶段的功率值与增加负载后的功率值近似,误导模型的训练,进一步影响预测精确度;随着负载的增加,系统资源利用率以及功率的增长幅度越来越小,而且高负载情况下的功率值还有经过缓慢增长而后稳定下来的预热现象,这些因素使得不同负载阶段之间的界限变得模糊;由于服务器的负载是与其运行的作业密切相关的,而在实际应用中的业务的多样性会导致出现各种不同的负载组合,这样的多样性会导致能耗模型预测的难度大大增加。并且即使是使用了机器学习算法,这些算法都存在着有效区间或者时效性的问题。所以本发明提出了分段训练的方法以解决上述问题,由于4种系统资源利用率参数中总CPU利用率与服务器实际功率的相关性最高,所以以总CPU利用率为模型分段依据,将整体的服务器负载分为零负载、低负载、高负载三个阶段,分别在这三种负载情况下采集训练集的数据,不同负载阶段的数据分开进行训练,最后得到分段式能耗模型,包括3个能耗模型,分别为零负载能耗模型、低负载能耗模型和高负载能耗模型。其中本设计的负载的等级是以总CPU利用率进行划分的。零负载是指除了系统进程外,没有别的进程和应用在服务器上运行,此时CPU利用率不一定为0,但是会很低接近于0,在本实施例中将服务器CPU利用率小于3%时的工作状态定义为零负载。低负载就是指此时服务器上运行的业务较少,负载较低的状态,在本实施例中将服务器CPU利用率大于等于3%且小于50%的工作状态定义为低负载。高负载是指服务器上运行的业务较多,负载较高的状态,在本实施例中将服务器CPU利用率大于等于50%且小于等于100%的工作状态定义为高负载。这个划分方式是经过多次的实验验证得到的相对准确的划分方式。
步骤21.对训练出的分段式能耗模型进行测试。以前四个步骤相同的方式采集数据,作为测试集,将构建好的测试集数据作为机器学习算法预测模块的输入进行测试,对比输出的实际功率值和预测功率值,评估模型的准确性和可用性。
步骤22.分析测试结果,评估模型性能。若能耗预测模型的测试结果与实际功率值的变化趋势一致,并且误差在允许范围内,即可将其用于实际的服务器功率预测的工作中,执行步骤3。若模型性能不如预期,则在原来训练集数据基础上追加数据,扩大数据的负载范围,保证训练集数据的多样性和完备性,对模型进行进一步的训练。
步骤3.根据该服务器的待预测系统资源利用率,选择该零负载能耗模型,或该低负载能耗模型,或该高负载能耗模型,以预测该服务器的能耗值。步骤3中该待预测系统资源利用率包括:待预测时的该服务器的内存利用率、网络带宽利用率、磁盘利用率和该服务器中每个CPU的CPU利用率。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
下面更加具体的描述本发明具体实施方式,本发明的目标是构建一个基于机器学习算法(本文以svm(支持向量机)算法中的svr(支持向量机回归)算法为例但不限于此)的服务器能耗预测模型,该模型的预测准确度更为优秀,并且模型适应性强,可以满足不同系统负载下的使用需求。具体的实施步骤包括:获取服务器系统资源利用率;获取服务器实时能耗;服务器模拟负载;训练能耗预测模型;对训练出的能耗预测模型进行测试;分析测试结果,评估模型性能。
获取服务器的系统资源利用率,使用linux服务器集群性能监测工具ganglia实时的监控并通过数据接口采集服务器实时的CPU利用率、内存利用率、网络带宽利用率、磁盘利用率等系统资源利用率参数(包含但不限于这四个参数)。
获取服务器所有CPU的利用率,利用上述服务器集群性能监测工具获取每个CPU参数Idle:从系统启动开始累计到当前时刻,除IO等待时间以外的其它等待时间iowait从系统启动开始累计到当前时刻,IO等待时间。利用以下公式计算CPU使用率。
CPU利用率=1-idle/(user+nice+system+idle)
获取内存利用率。
获取内存利用率,通过上述服务器集群性能监测工具获取内存参数used、buff、cache和free,利用以下公式计算内存使用率。
内存使用率=1-free/(used+buff+cache)
获取网络带宽利用率。
获取网络带宽利用率,利用上述工服务器集群性能监测具获取网络参数recv和send,这两个参数分别统计一段时间内网络数据传输接受和传输的bytes数的变化,即可获得网口传输速率,再除以网口的带宽就得到带宽的使用率。
获取磁盘利用率。
获取磁盘利用率,利用上述服务器集群性能监测工具获取磁盘参数read和write,分别代表每秒钟磁盘读写数据的总量,再通过磁盘型号获取磁盘的最大吞吐量MBPS,通过以下公式计算磁盘使用率:
磁盘利用率=(read+write)/MBPS
获取服务器的实时能耗。
获取服务器的实时能耗需要一台功率测量仪,一台数据接收服务器还有要进行测量的服务器,采集方式图1所示。
使用与B1中功率测量仪配套的串口读取软件读取上一步骤中测量的服务器功率值并且保存到本地,与之前获取的系统资源利用率通过时间戳一一对应,合并成一个完整的用于模型构建的数据集。
服务器模拟负载,模拟实际业务环境下服务器集群在运行项目时对各种系统资源的使用情况。本发明使用了linux服务器负载压力测试工具stress,同时结合编写的自动测试脚本,自动生成各种系统资源利用率随机组合的负载情况。系统资源利用率和实时能耗就在不同的负载情况下进行长时间采集,通过时间跨度和不同的数据组合来保证训练集数据的完备性。
构建一个预测模型需要先对模型进行训练,本算法模型的训练集由实时采集的系统资源利用率和实时能耗组成,每一条训练集数据的结构均为前四个参数分别是:CPU利用率、内存利用率、网络带宽利用率和磁盘利用率,后面根据时间戳增加实时的功率。根据前面对分段模型的论述,以CPU利用率为模型分段依据,将整体的服务器负载分为零负载、低负载、高负载三个阶段,分别在这三种负载情况下采集训练集数据,不同负载阶段的数据分开进行训练,最后得到3个能耗模型,分别为零负载能耗模型、低负载能耗模型和高负载能耗模型。
测试集数据的采集不需要进行分段,利用自动测试脚本随机模拟服务器负载,进行系统利用率参数和实时能耗的采集。使用代码编写测试模块时,需要增加判断语句,根据即将进行预测的数据的总CPU利用率来选择步骤4中构建出的对应阶段的能耗模型进行预测。
收集测试结果数据,绘制实际功率与预测功率的功率对比曲线以及误差曲线,计算平均误差、平均平方差、平方根误差、最大误差、最小误差。若功率对比曲线中能耗预测模型的测试结果与实际功率值的变化趋势一致,并且计算出的各个误差评估值在制定的标准内,即可将其用于实际的服务器功率预测的工作中。
以上训练模型,测试模型,模型评估均体现在图2中。投入使用时,训练模型的评估对象可以是进行训练时所用的服务器,同时可适用于与该训练用服务同配置的服务器的能耗预测。
以下为与上述方法实施例对应的系统实施例,本实施系统可与上述实施方式互相配合实施。上述施方式中提到的相关技术细节在本实施系统中依然有效,为了减少重复,这里不再赘述。相应地,本实施系统中提到的相关技术细节也可应用在上述实施方式中。
本发明还提供了一种基于机器学习的服务器能耗预测方系统,其中包括:
训练集采集模块,用于根据预设的总CPU利用率阈值,将服务器的工作状态划分为零负载状态、低负载状态和高负载状态,分别采集该服务器在该零负载状态、该低负载状态和该高负载状态下的系统资源利用率和实时能耗,作为零负载训练集、低负载训练集和高负载训练集;
学习训练模块,用于分别将该零负载训练集、该低负载训练集和该高负载训练集输入机器学习模型进行训练,生成零负载能耗模型、低负载能耗模型和高负载能耗模型;
预测模块,用于根据该服务器的待预测系统资源利用率,选择该零负载能耗模型,或该低负载能耗模型,或该高负载能耗模型,以预测该服务器的能耗值。
其中训练集采集模块中该系统资源利用率包括:该服务器的内存利用率、网络带宽利用率、磁盘利用率和该服务器中每个CPU的CPU利用率。
该基于机器学习的服务器能耗预测系统,其中将该服务器的总CPU利用率小于3%时的工作状态作为该零负载状态;
将该服务器的总CPU利用大于等于3%且小于50%的工作状态作为该低负载状态;
将该服务器的总CPU利用大于等于50%且小于等于100%的工作状态作为该高负载状态。
该基于机器学习的服务器能耗预测系统,其中学习训练模块中该机器学习模型具体为支持向量机回归模型。
该基于机器学习的服务器能耗预测系统,其中该训练集采集模块还包括:利用服务器集群性能监测工具,采集该系统资源利用率。
该基于机器学习的服务器能耗预测系统,其中该训练集采集模块还包括:通过功率测量仪获得该实时能耗。
虽然本发明以上述实施例公开,但具体实施例仅用以解释本发明,并不用于限定本发明,任何本技术领域技术人员,在不脱离本发明的构思和范围内,可作一些的变更和完善,故本发明的权利保护范围以权利要求书为准。

Claims (8)

1.一种基于机器学习的服务器能耗预测方法,其特征在于,包括:
步骤1、根据预设的总CPU利用率阈值,将服务器的工作状态划分为零负载状态、低负载状态和高负载状态,分别采集该服务器在该零负载状态、该低负载状态和该高负载状态下的系统资源利用率和实时能耗,作为零负载训练集、低负载训练集和高负载训练集;
步骤2、分别将该零负载训练集、该低负载训练集和该高负载训练集输入机器学习模型进行训练,生成零负载能耗模型、低负载能耗模型和高负载能耗模型;
步骤3、根据该服务器的待预测系统资源利用率,选择该零负载能耗模型,或该低负载能耗模型,或该高负载能耗模型,以预测该服务器的能耗值;
其中步骤1中该系统资源利用率包括:该服务器的内存利用率、网络带宽利用率、磁盘利用率和该服务器中每个CPU的CPU利用率;
将该服务器的总CPU利用率小于3%时的工作状态作为该零负载状态;
将该服务器的总CPU利用大于等于3%且小于50%的工作状态作为该低负载状态;
将该服务器的总CPU利用大于等于50%且小于等于100%的工作状态作为该高负载状态。
2.如权利要求1所述的基于机器学习的服务器能耗预测方法,其特征在于,步骤2中该机器学习模型具体为支持向量机回归模型。
3.如权利要求1所述的基于机器学习的服务器能耗预测方法,其特征在于,该步骤1还包括:利用服务器集群性能监测工具,采集该系统资源利用率。
4.如权利要求1所述的基于机器学习的服务器能耗预测方法,其特征在于,该步骤1还包括:通过功率测量仪获得该实时能耗。
5.一种基于机器学习的服务器能耗预测系统,其特征在于,包括:
训练集采集模块,用于根据预设的总CPU利用率阈值,将服务器的工作状态划分为零负载状态、低负载状态和高负载状态,分别采集该服务器在该零负载状态、该低负载状态和该高负载状态下的系统资源利用率和实时能耗,作为零负载训练集、低负载训练集和高负载训练集;
学习训练模块,用于分别将该零负载训练集、该低负载训练集和该高负载训练集输入机器学习模型进行训练,生成零负载能耗模型、低负载能耗模型和高负载能耗模型;
预测模块,用于根据该服务器的待预测系统资源利用率,选择该零负载能耗模型,或该低负载能耗模型,或该高负载能耗模型,以预测该服务器的能耗值;
其中该系统资源利用率包括:该服务器的内存利用率、网络带宽利用率、磁盘利用率和该服务器中每个CPU的CPU利用率;
将该服务器的总CPU利用率小于3%时的工作状态作为该零负载状态;
将该服务器的总CPU利用大于等于3%且小于50%的工作状态作为该低负载状态;
将该服务器的总CPU利用大于等于50%且小于等于100%的工作状态作为该高负载状态。
6.如权利要求5所述的基于机器学习的服务器能耗预测系统,其特征在于,该机器学习模型具体为支持向量机回归模型。
7.如权利要求5所述的基于机器学习的服务器能耗预测系统,其特征在于,利用服务器集群性能监测工具,采集该系统资源利用率。
8.如权利要求5所述的基于机器学习的服务器能耗预测系统,其特征在于,通过功率测量仪获得该实时能耗。
CN201810252229.2A 2018-03-26 2018-03-26 一种基于机器学习的服务器能耗预测方法和系统 Active CN108595301B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810252229.2A CN108595301B (zh) 2018-03-26 2018-03-26 一种基于机器学习的服务器能耗预测方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810252229.2A CN108595301B (zh) 2018-03-26 2018-03-26 一种基于机器学习的服务器能耗预测方法和系统

Publications (2)

Publication Number Publication Date
CN108595301A CN108595301A (zh) 2018-09-28
CN108595301B true CN108595301B (zh) 2021-03-26

Family

ID=63623690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810252229.2A Active CN108595301B (zh) 2018-03-26 2018-03-26 一种基于机器学习的服务器能耗预测方法和系统

Country Status (1)

Country Link
CN (1) CN108595301B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581174A (zh) * 2019-02-18 2020-08-25 北京搜狗科技发展有限公司 基于分布式集群系统的资源管理方法及装置
CN109992473B (zh) * 2019-02-27 2022-07-15 平安科技(深圳)有限公司 应用系统的监控方法、装置、设备及存储介质
CN110659721B (zh) * 2019-08-02 2022-07-22 杭州未名信科科技有限公司 一种目标检测网络的构建方法和系统
CN113748398B (zh) * 2019-09-06 2023-01-17 阿里云计算有限公司 数据处理与任务调度方法、设备、系统及存储介质
CN111158974B (zh) * 2019-12-06 2021-10-22 华南理工大学 一种面向云服务器的硬件感知cpu能耗测算方法
CN111737078B (zh) * 2020-05-12 2021-11-23 华南理工大学 基于负载类型的自适应云服务器能耗测算方法、系统及设备
CN112346860B (zh) * 2020-10-27 2022-02-08 四川长虹电器股份有限公司 基于机器学习的弹性部署服务的方法及系统
CN112799817A (zh) * 2021-02-02 2021-05-14 中国科学院计算技术研究所 一种微服务资源调度系统和方法
CN114064282B (zh) * 2021-11-23 2023-07-25 北京百度网讯科技有限公司 资源挖掘方法、装置及电子设备
CN114216248B (zh) * 2022-02-22 2022-05-17 深圳雪芽创新科技有限公司 一种应用于数据中心机房的智能降温方法
CN114721835A (zh) * 2022-06-10 2022-07-08 湖南工商大学 边缘数据中心服务器能耗预测方法、系统、设备及介质
CN115220900B (zh) * 2022-09-19 2022-12-13 山东省计算中心(国家超级计算济南中心) 一种基于作业功耗预测的节能调度方法及系统
CN115495702B (zh) * 2022-11-16 2023-04-07 浪潮电子信息产业股份有限公司 一种模型训练能耗计算方法、装置、系统及可读存储介质
CN116127840B (zh) * 2023-01-05 2023-09-22 无锡钊源电力电子有限公司 一种基于数据驱动的数据中心负荷预测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103365727B (zh) * 2013-07-09 2017-02-15 南京大学 一种云计算环境中的主机负载预测方法
CN103544544B (zh) * 2013-10-29 2016-08-17 广东工业大学 一种能源消耗预测方法及装置
CN105046355A (zh) * 2015-07-13 2015-11-11 国家电网公司 一种基于改进思维进化算法的系统能耗建模方法

Also Published As

Publication number Publication date
CN108595301A (zh) 2018-09-28

Similar Documents

Publication Publication Date Title
CN108595301B (zh) 一种基于机器学习的服务器能耗预测方法和系统
US10552761B2 (en) Non-intrusive fine-grained power monitoring of datacenters
Meisner et al. Bighouse: A simulation infrastructure for data center systems
US9389668B2 (en) Power optimization for distributed computing system
CN102123061B (zh) 一种确定Web服务器性能的方法
CN106991504B (zh) 基于分项计量时间序列的建筑能耗预测方法、系统及建筑物
CN111737078B (zh) 基于负载类型的自适应云服务器能耗测算方法、系统及设备
Lee et al. PowerTrain: A learning-based calibration of McPAT power models
CN103455132A (zh) 基于硬件性能计数器的嵌入式系统功耗估算方法
Jarus et al. Runtime power usage estimation of HPC servers for various classes of real-life applications
Shoukourian et al. Using machine learning for data center cooling infrastructure efficiency prediction
CN112070353A (zh) 一种精确检测数据中心能效的方法及系统
CN115269108A (zh) 一种数据处理方法、装置及设备
CN117556331B (zh) 基于ai增强的空压机维护决策方法及系统
CN108694472B (zh) 预测误差极值分析方法、装置、计算机设备和存储介质
CN116610458B (zh) 一种优化功耗损失的数据处理方法及系统
CN116975567B (zh) 服务器辐射抗干扰度测试方法、系统、设备及存储介质
CN116682479A (zh) 一种企业级固态硬盘时延指标的测试方法及测试系统
CN113574510A (zh) 用于计算密度效率测量的数据中心管理系统和方法
CN111158974A (zh) 一种面向云服务器的硬件感知cpu能耗测算方法
CN117632378B (zh) 一种虚拟化cpu的性能测试管理方法及系统
Povoa et al. A model for estimating energy consumption based on resources utilization
CN117574081A (zh) 一种配电变压器状态估计方法、系统、计算机设备及介质
Llopis et al. Analyzing power consumption of i/o operations in hpc applications
CN117435451A (zh) 移动边缘计算中虚拟计算单元的功耗和性能模型建立方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240320

Address after: Room 711C, Floor 7, Building A, Yard 19, Ronghua Middle Road, Daxing District, Beijing Economic-Technological Development Area, 100176

Patentee after: Beijing Zhongke Flux Technology Co.,Ltd.

Country or region after: China

Address before: 100190 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

Country or region before: China