CN108052375B - 一种主机过载检测方法 - Google Patents
一种主机过载检测方法 Download PDFInfo
- Publication number
- CN108052375B CN108052375B CN201711488118.3A CN201711488118A CN108052375B CN 108052375 B CN108052375 B CN 108052375B CN 201711488118 A CN201711488118 A CN 201711488118A CN 108052375 B CN108052375 B CN 108052375B
- Authority
- CN
- China
- Prior art keywords
- cpu utilization
- host
- utilization rate
- value
- array
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及CPU利用率监测领域,具体涉及一种主机过载检测方法,是为了解决现有的过载主机检测算法的耗电量较高、用户的任务在执行上流畅度较低、算法在运行时需要关闭的主机数目过高、需要迁移的虚拟机的数目过高的缺点而提出的,包括:获取预定时间内的CPU利用率阈值并构造CPU利用率阈值构造数组y;获取一定时间内的CPU利用率数据并构造CPU利用率数组x;计算残差值ei;计算损失函数loss;判断损失函数loss的值是否小于给定的阈值,若是则结束迭代,若否则重新计算第一参数和第二参数,直至CPU利用率阈值数组y中的每个元素均被计算;获取在受测主机上运行的虚拟机的最大迁移时间并以此计算CPU利用率的预测值。本发明适用于云计算主机的CPU利用率监测。
Description
技术领域
本发明涉及CPU利用率监测领域,具体涉及一种主机过载检测方法。
背景技术
随着云计算时代的来临,云数据中心的高能消耗成为主要问题,而减少云数据中心的能源消耗的主要方法是优化虚拟机分配和调度,而过载主机检测是实现虚拟机迁移和调度分配的基础。过载主机检测方法的研究主要是根据主机以往的在一段时间内的CPU利用率,利用CPU利用率计算出CPU利用率在之后的阈值,如果大于该阈值则说明该主机上运行的虚拟机应用的负载量超出了该主机的负荷,则需要迁移其上的虚拟机到其他的主机上,以保证任务的实时性和有效性。
通过对主机CPU利用率情况的监测,可以实时的反映出该主机的负载情况,如果对于过度负载的主机上的虚拟机不加以管理,则会造成该主机上的虚拟机长时间获取不到CPU资源,而所运行应用的则需要较长的响应时间,这会导致用户的体验效果极差,同时云数据中心的能源消耗会急剧增加,导致云数据中心的经营受到打击。
已有的过载主机检测算法有Median Absolute Deviation(MAD),LinearRegression(LR),and Inter quartile Range(IQR)等算法,这些算法的耗电量较高,用户的任务在执行上流畅度较低、算法在运行时需要关闭的主机数目过高、需要迁移的虚拟机的数目过高。
发明目的
本发明的目的是为了解决现有的过载主机检测算法的耗电量较高、用户的任务在执行上流畅度较低、算法在运行时需要关闭的主机数目过高、需要迁移的虚拟机的数目过高的缺点,而提出一种主机过载检测方法。
一种主机过载检测方法,包括:
步骤一、获取预定时间内的CPU利用率阈值并构造CPU利用率阈值构造数组y;获取一定时间内的CPU利用率数据并构造CPU利用率数组x。
步骤二、将计数变量i初值设置为1,并执行如下计算:
ei←yi-β0+β1xi
其中β0为第一参数,其值为预设值;β1为第二参数,其值为预设值;yi为CPU利用率阈值数组中的第i个元素,xi为CPU利用率数组x中的第i个元素;ei为中间变量;符号“←”表示赋值运算。
步骤三、计算loss←0.5*i 2;其中loss表示损失函数。
步骤四、判断损失函数loss的值是否小于给定的阈值;若是,则跳转执行步骤七;若否,则使用如下公式重新计算第一参数β0和第二参数β1的值。
步骤五、将计算参数i的值加1,并重复执行步骤二至步骤四,直至CPU利用率阈值数组y中的每个元素均被计算。
步骤六、重复执行步骤二至五,直至达到预设的次数。
步骤七、获取在受测主机上运行的虚拟机的最大迁移时间maxinumMigrationTime。
步骤八、通过如下公式计算CPU利用率的预测值predictUtil。
predictUtil←β0+β1*(length+migrationIntervals)
本发明的有益效果为:1、本发明的方法在运行时电量消耗可以大约减少12.9%;2、本发明的服务质量等级(SLA Violation)参数比其他算法少19.8%,意味着用户的任务在执行上流畅度更高;3、本发明的方法主机关闭数目上显著减低,大约为其他算法的37.5%,且测试环境更贴近于真实的云数据中心环境;4、使用本发明的方法,需要迁移的虚拟机的数目相较于其他算法大约减少了33.3%。
附图说明
图1为本发明的主机过载检测方法的流程图;
图2为实施例中各种算法在运行时所消耗的能量对比图;纵坐标表示能量消耗值,横坐标为不同的算法,其中最左侧的GdMsu_1.85为本发明的方法;
图3为实施例中各种算法的服务质量等级对比图,纵坐标为服务质量等级百分比,数值越小表示越流畅;横坐标为各种不同的算法;
图4为实施例中各种算法在运行时主机总的关闭数目对比图,纵坐标表示主机关闭的数量,横坐标为各种不同的算法;最左侧的GdMums表示本发明的方法;
图5为实施例中各种算法在运行时虚拟机迁移数目的对比图,纵坐标表示虚拟机的迁移数目,横坐标为各种不同的算法。
具体实施方式
具体实施方式一:本实施方式的主机过载检测方法,如图1所示,包括:
步骤一、获取预定时间内的CPU利用率阈值并构造CPU利用率阈值构造数组y;获取一定时间内的CPU利用率数据并构造CPU利用率数组x。数组y和数组x均是能够从系统中直接获取的,数组中的每个元素是在不同时间点采样得到的相应数据,例如,假设数组y中一共有100个元素,预定时间具体是100分钟,那么在第1分钟采样得到的数据可以作为数组中的第一个元素,最近1分钟的数据可以作为数组中的最后一个元素,如果数组已经存满,则可以覆盖掉存在时间最久的元素。总而言之本步骤的主要目的在于采样和构造数组,具体如何实施有多种方法,只要能够满足这一目的即可。
步骤二、将计数变量i初值设置为1,并执行如下计算:
ei←yi-β0+β1xi
其中β0为第一参数,其值为预设值;β1为第二参数,其值为预设值;yi为CPU利用率阈值数组中的第i个元素,xi为CPU利用率数组x中的第i个元素;ei为中间变量;符号“←”表示赋值运算。
步骤三、计算loss←0.5*i 2;其中loss表示损失函数。
步骤四、判断损失函数loss的值是否小于给定的阈值;若是,则跳转执行步骤七;若否,则使用如下公式重新计算第一参数β0和第二参数β1的值。
步骤五、将计算参数i的值加1,并重复执行步骤二至步骤四,直至CPU利用率阈值数组y中的每个元素均被计算。
步骤六、重复执行步骤二至五,直至达到预设的次数。
步骤七、获取在受测主机上运行的虚拟机的最大迁移时间maxinumMigrationTime。
步骤八、通过如下公式计算CPU利用率的预测值predictUtil。
predictUtil←β0+β1*(length+migrationIntervals)
.其中length表示虚拟机的迁移周期长度。
具体实施方式二:本实施方式与具体实施方式一不同的是:主机过载检测方法还包括:
步骤九、计算predictUtil*s的值是否大于1,若是,则认为主机上运行的虚拟机应用的负载量超过了该主机的负荷;若否,则认为未出现过载现象;其中s为预设的表示安全系数的值。
其具体的实现伪代码如下所示:
其中第1行是根据局部回归的特性,定义了y[]和x[]的初始值,第2-8行是根据梯度下降算法计算出线性回归的参数值,第9-11行是根据计算出的参数值来确定预测的CPU利用率的阈值以及主机是否过载。
其它步骤及参数与具体实施方式一相同。
具体实施方式三:本实施方式与具体实施方式一或二不同的是:步骤六中,预设的次数为100次。
其它步骤及参数与具体实施方式一或二相同。
具体实施方式四:本实施方式与具体实施方式一至三之一不同的是:受测主机为用于进行云计算的主机。
其它步骤及参数与具体实施方式一至三之一相同。
<仿真实验及效果>
实验是基于CloudSim进行云数据中心的仿真实验
由于CPU的利用率很大程度影响了主机的处理器的能源消耗,而CPU的利用率又依赖于主机的工作量,它将根据主机的工作量做出改变,因此,CPU的利用率是一个根据时间变化的函数。
在云计算模拟实验中创建了800个不同的主机。
这里考虑用四种不同类型的主机:Fujitsu M1,Fujitsu M3,Hitachi TS10,andHitachi SS10。这些主机的特征如表1所示:
表1主机的特征
这些主机在不同工作量情况下所消耗的能量在表2展示:
表2在不同工作量水平下的电量消耗(瓦特)
主机的CPU时钟速度被映射为MIPS值,主机Fujitsu M1的每个核的MIPS值为2700,主机Fujitsu M3的每个核的MIPS值为3500,主机HitachiTS10的每个核的MIPS值为3500,主机HitachiSS10的每个核的MIPS值为3600。每个主机的带宽模拟为1GB/s。对应的支持Amazon EC2的虚拟机在表3显示:
表3 Amazon EC2虚拟机类型
模拟实验的关键是使用真实工作量的轨迹数据,并将其模拟成真实的云数据中心的环境。为此,本文使用了超过1000不同的虚拟机CPU利用率的数据在超过500不同的服务器上。这些数据的特征如4表所示:
表4工作量数据的特性
实验通过选择已有的过载主机检测算法(如Median Absolute Deviation(MAD),Linear Regression(LR),and Inter quartile Range(IQR))与梯度下降算法进行比较,主要选用四种参数进行衡量算法的优劣性:消耗的电量,服务等级协议的值,主机的关闭数量和虚拟机的迁移数量。
从图2中可以看出梯度下降算法无论与已有的选择算法Mmt,Mc和Mu结合,其能量消耗都比Mad,Lr或Iqr少。通过以图1分析可知,通过使用梯度下降算法,数据中心的能源消耗可以大约减少12.9%。
服务质量等级(SLA Violation)是用户与云数据中心协商的关于服务质量的一个参数,其表示为用户任务在运行时,其优先级的体现。在该部分,本文在过载主机上进行比较梯度下降算法,Mad,Lr或Iqr算法的优劣性,由于在主机过载时,SLA的数值变化较为明显,方便数据的比较。
每个算法的SLA的数值如图3所示。
从图3可以看出最小中位数二次回归算法在SLA violation方面较于其他算法也有良好的效果,通过分析得到,梯度下降算法大约比其他算法少19.8%,这就意味着用户的任务在执行上有更加流畅的过程。
本发明的梯度下降算法在运行时,所需要关闭的主机数以及虚拟机迁移的数目的数据都间接地表明了算法在运行时的能源消耗,以及算法在虚拟机调度方面,是否可以做到虚拟机全局最优化。
每个算法的主机关闭的数值如图4所示。
从上图可以看出梯度下降算法在主机关闭数目上显著减低,大约为其他算法的37.5%。由于本文使用的是800台不同的主机,所以实验环境更加贴合真实的云数据中心环境。
每个算法的虚拟机迁移的数值如图5所示。
由于虚拟机的迁移数目和数据中心执行的性能成正比,所以从图5可以得出,本发明的梯度下降算法对于用户和云提供商都是比较好的选择。因为梯度下降算法需要迁移的虚拟机的数目相较于其他算法大约减少了33.3%。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.一种主机过载检测方法,其特征在于,包括:
步骤一、获取预定时间内的CPU利用率阈值并构造CPU利用率阈值构造数组y;获取一定时间内的CPU利用率数据并构造CPU利用率数组x;
步骤二、将计数变量i初值设置为1,并执行如下计算:
ei←yi-β0+β1xi
其中β0为第一参数,其值为预设值;β1为第二参数,其值为预设值;yi为CPU利用率阈值数组中的第i个元素,xi为CPU利用率数组x中的第i个元素;ei为中间变量;符号“←”表示赋值运算;
步骤三、计算loss←0.5*ei 2;其中loss表示损失函数;
步骤四、判断损失函数loss的值是否小于给定的阈值;若是,则跳转执行步骤七;若否,则使用如下公式重新计算第一参数β0和第二参数β1的值:
步骤五、将计数变量i的值加1,并重复执行步骤二至步骤四,直至CPU利用率阈值数组y中的每个元素均被计算;
步骤六、重复执行步骤二至五,直至达到预设的次数;
步骤七、获取在受测主机上运行的虚拟机的最大迁移时间maxinumMigrationTime,并将maxinumMigrationTime赋值给migrationIntervals;
步骤八、通过如下公式计算CPU利用率的预测值predictUtil:
predictUtil←β0+β1*(length+migrationIntervals)
其中length表示虚拟机的迁移周期长度;
步骤九、计算predictUtil*s的值是否大于1,若是,则认为主机上运行的虚拟机应用的负载量超过了该主机的负荷;若否,则认为未出现过载现象;其中s为预设的表示安全系数的值。
2.根据权利要求1所述的主机过载检测方法,其特征在于,步骤六中,预设的次数为100次。
3.根据权利要求1所述的主机过载检测方法,其特征在于,所述受测主机为用于进行云计算的主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711488118.3A CN108052375B (zh) | 2017-12-29 | 2017-12-29 | 一种主机过载检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711488118.3A CN108052375B (zh) | 2017-12-29 | 2017-12-29 | 一种主机过载检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108052375A CN108052375A (zh) | 2018-05-18 |
CN108052375B true CN108052375B (zh) | 2021-06-29 |
Family
ID=62129812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711488118.3A Active CN108052375B (zh) | 2017-12-29 | 2017-12-29 | 一种主机过载检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108052375B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083201B (zh) * | 2019-11-25 | 2022-03-04 | 哈尔滨工业大学 | 一种工业物联网中数据驱动制造服务的节能资源分配方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019366A (zh) * | 2012-11-28 | 2013-04-03 | 国睿集团有限公司 | 基于cpu心跳幅度的物理主机负载检测方法 |
CN103345432A (zh) * | 2013-06-07 | 2013-10-09 | 深圳中兴网信科技有限公司 | 多核cpu过载检测装置和多核cpu过载检测方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9459929B2 (en) * | 2013-08-09 | 2016-10-04 | Hong Kong Applied Science and Technology Research Institute Company Limited | Configurable dynamic load shedding method in distributed stream computing system |
EP3221788A1 (en) * | 2014-11-21 | 2017-09-27 | Telefonaktiebolaget LM Ericsson (publ) | Monitoring of virtual machines in a data center |
-
2017
- 2017-12-29 CN CN201711488118.3A patent/CN108052375B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019366A (zh) * | 2012-11-28 | 2013-04-03 | 国睿集团有限公司 | 基于cpu心跳幅度的物理主机负载检测方法 |
CN103345432A (zh) * | 2013-06-07 | 2013-10-09 | 深圳中兴网信科技有限公司 | 多核cpu过载检测装置和多核cpu过载检测方法 |
Non-Patent Citations (2)
Title |
---|
"Dynamic resource management using virtual machine migrations";Mayank等;《IEEE Communications Magazine》;20120930;全文 * |
"云计算环境下资源部署与任务调度研究";郭力争;《中国博士学位论文全文数据库 信息科技辑》;20151115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108052375A (zh) | 2018-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beloglazov et al. | Optimal online deterministic algorithms and adaptive heuristics for energy and performance efficient dynamic consolidation of virtual machines in cloud data centers | |
Melhem et al. | Markov prediction model for host load detection and VM placement in live migration | |
US10255113B2 (en) | Workload interference estimation and performance optimization | |
Yadav et al. | Mums: Energy-aware vm selection scheme for cloud data center | |
EP3087503B1 (en) | Cloud compute scheduling using a heuristic contention model | |
US20180293110A1 (en) | Capacity and load analysis using storage attributes | |
US8180604B2 (en) | Optimizing a prediction of resource usage of multiple applications in a virtual environment | |
Roytman et al. | {PACMan}: Performance Aware Virtual Machine Consolidation | |
US20100082322A1 (en) | Optimizing a prediction of resource usage of an application in a virtual environment | |
KR20130011491A (ko) | 태스크 할당 장치, 태스크 할당 방법 및 컴퓨터로 읽을 수 있는 저장 매체 | |
JP5923627B2 (ja) | 仮想プラットフォーム上でi/oチャネルを調整する方法及び装置 | |
CN113168344A (zh) | 通过提高集群多样性实现的分布式资源管理 | |
Selim et al. | An efficient resource utilization technique for consolidation of virtual machines in cloud computing environments | |
CN114741160A (zh) | 一种基于平衡能耗与服务质量的动态虚拟机整合方法和系统 | |
CN108052375B (zh) | 一种主机过载检测方法 | |
Rojek et al. | Energy‐aware mechanism for stencil‐based MPDATA algorithm with constraints | |
Kumbhare et al. | Value based scheduling for oversubscribed power-constrained homogeneous HPC systems | |
Oikonomou et al. | Energy-aware management of virtual machines in cloud data centers | |
Melhem et al. | A Markov-based prediction model for host load detection in live VM migration | |
Netto et al. | Deciding when and how to move HPC jobs to the cloud | |
Lent | Evaluating the performance and power consumption of systems with virtual machines | |
Aldossary et al. | Energy-based cost model of virtual machines in a cloud environment | |
Salam et al. | Towards prediction of power consumption of virtual machines for varying loads | |
Sampaio et al. | Optimizing energy-efficiency in high-available scientific cloud environments | |
Zhang et al. | LVMCI: Efficient and effective VM live migration selection scheme in virtualized data centers |
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 |