CN103150215B - 虚拟环境下细粒度的cpu资源使用预测方法 - Google Patents
虚拟环境下细粒度的cpu资源使用预测方法 Download PDFInfo
- Publication number
- CN103150215B CN103150215B CN201310043423.7A CN201310043423A CN103150215B CN 103150215 B CN103150215 B CN 103150215B CN 201310043423 A CN201310043423 A CN 201310043423A CN 103150215 B CN103150215 B CN 103150215B
- Authority
- CN
- China
- Prior art keywords
- cpu
- formula
- busy percentage
- grained
- fine
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了虚拟环境下细粒度的CPU资源使用预测方法,该方法基于Xenmon与Sar两种系统性能监控工具收集的CPU利用率的差值,采用统计学习方法,提出虚拟机管理器调度的额外CPU消耗预测模型。在此基础上,针对突发性和非突发性两种不同负载特征提出相应的CPU使用概率密度函数预测方法。这种细粒度的CPU资源使用预测方法为系统资源优化配置提供了良好的基础。
Description
技术领域
本发明涉及虚拟环境下细粒度的CPU资源使用预测方法。
背景技术
随着计算规模的不断扩大,许多企业和数据中心都出现了服务器蔓延(serversprawl)的现象,即服务器数量不断增加,但资源平均利用率过低。相关调查表明,大多数企业和数据中心服务器的资源利用率仅在5%到20%之间。而云计算可以利用虚拟化技术,通过虚拟机迁移(migration)和整合(consolidation),关闭部分闲置服务器,从而解决服务器蔓延的问题。为了实现这种计算资源的按需分配,必须提供准确的系统资源分析与预测方法。
系统资源分析与预测主要是指在特定系统配置情况下,根据负载强度预测系统对各个软硬件资源的需求。常用的系统资源分析与预测方法包括排队网络模型,机器学习和统计学习方法等。虽然排队网络模型可以直观的描述各类系统,但是很多复杂模型的求解难度较大。因此,排队网络模型不适合用于云计算等这类复杂系统的性能分析。而近年来基于机器学习或统计学习的性能预测方法则得到了更加广泛的关注。
对于云计算系统而言,现有的资源分析与预测方法主要存在以下几个不足之处:
1)忽略负载特征对性能的影响。负载突发性强度的不同,会对系统性能产生不同的影响。相关研究还发现突发性负载可能导致经典的负载均衡算法失效。
2)只计算资源利用率的平均值(即粗粒度)。而一些研究指出,在服务器整合时,需要考虑资源利用率的概率分布情况(细粒度),从而减小整合可能带来的风险,如资源竞争导致的性能恶化等。
3)没有考虑虚拟化技术产生的资源消耗。一般性能分析与预测模型只在负载与资源利用率之间的建立映射关系。但是,在云环境中,虚拟技术的使用需要消耗额外的资源。相关研究发现虚拟机(VM)之间的竞争将导致额外CPU消耗,更高的二级缓存失效率和指令中断。
发明内容
针对上述技术缺陷,本发明提出虚拟环境下细粒度的CPU资源使用预测方法。
为了解决上述技术问题,本发明的技术方案如下:
虚拟环境下细粒度的CPU资源使用预测方法,包括如下步骤:
11)虚拟机管理器调度的额外CPU消耗预测步骤:使用两个不同层次的性能监控工具Sar和Xenmon收集CPU使用数据,所述性能监控工具Sar收集Uos和Uapp两个部分,所述Xenmon记录各个虚拟机的资源使用情况,利用Xenmon与Sar的差值,采用统计学习的方法预测Uvm,具体预测函数如下:
Uvm=aU2+bU+c.公式(a)
所述U为CPU利用率,由应用系统Uapp、操作系统Uos和虚拟机管理器调度Uvm三部分组成:
U=Uapp+Uos+Uvm.公式(b)
其中,Uapp由应用系统的负载决定,Uos视为常量;
12)针对非突发性负载,细粒度的CPU使用预测步骤:
对于非饱和系统,可通过实验的方式,进行有限的取样,然后使用以下公式预测CPU利用率的概率密度函数:
其中,σ2是正态分布g(x)的方差;
对于半饱和和全饱和系统,首选采用公式(c)进行预测,得到正态分布g(x),采用同等面积的梯形S1来替代S2,即CPU利用率的概率分布由S1,S3和S4组成,其中,τ为一个自定义的临界值,即CPU利用率大于此值时系统饱和,CPU利用率的概率分布函数可以表达为:
公式(d)
其中,h可通过求解以下方程组得到:
1-S4=S1+S3
其中,S1,S2,S3和S4分别为正态分布g(x)中各个部分的面积。
13)将突发性负载产生的CPU使用情况看作是两个状态下CPU概率密度函数的叠加步骤:采用以下公式进行预测:
f(x)=Ffb(x)+(1-F)fn(x).公式(e)
其中,F是突发负载发生频率,fb(x)为突发状态下CPU概率密度函数,而fn(x)为非突发状态下CPU概率密度函数。
本发明的有益效果在于:该方法基于Xenmon与Sar两种系统性能监控工具收集的CPU利用率的差值,采用统计学习方法,提出虚拟机管理器调度的额外CPU消耗预测模型。在此基础上,针对突发性和非突发性两种不同负载特征提出相应的CPU使用概率密度函数预测方法。这种细粒度的CPU资源使用预测方法为系统资源优化配置提供了良好的基础。
附图说明
图1为本发明的总体步骤;
图2(a)为每秒虚拟机执行次数;
图2(b)为虚拟机调度的CPU消耗;
图3为虚拟机调度的CPU消耗与总体CPU利用率的关系;
图4(a)为非饱和系统非突发性负载生成的CPU使用概率质量函数;
图4(b)为非饱和系统非突发性负载生成的CPU使用概率质量函数;
图4(c)为半饱和和全饱和系统非突发性负载生成的CPU使用概率质量函数;
图4(d)为半饱和和全饱和系统非突发性负载生成的CPU使用概率质量函数;
图5为CPU利用率方差与CPU平均利用率的关系;
图6为半饱和状态下的CPU使用概率密度函数预测;
图7(a)为状态1突发性负载生成的CPU使用概率质量函数;
图7(b)为状态2突发性负载生成的CPU使用概率质量函数。
具体实施方式
下面将结合附图和具体实施例对本发明做进一步的说明。
本发明的总体实现步骤如图1所示,包括虚拟机管理器调度的额外CPU消耗预测、针对非突发性负载的CPU使用概率密度函数预测方法和针对突发性负载的CPU使用概率密度函数预测方法三个步骤,具体描述如下:
第1步,考虑虚拟机管理器调度的额外CPU消耗预测。虚拟环境下,每个虚拟机的CPU利用率U由应用系统Uapp、操作系统Uos和虚拟机管理器(VMM)调度Uvm三部分组成:
U=Uapp+Uos+Uvm.公式(1)
其中,Uapp由应用系统的负载决定,Uos可以视为常量,而Uvm则与VMM的调度机制相关。对于Uapp的预测已经由许多成熟的方法,本发明主要关注对Uvm的预测。
本发明使用两个不同层次的性能监控工具Sar和Xenmon收集CPU使用数据。其中,Sar是一个经典的Linux系统性能监控工具,可以有效地记录系统的各个资源使用情况。但是,Sar只能安装在虚拟机之上的操作系统中,其收集的CPU利用率仅包含Uos和Uapp两个部分。而Xenmon是运行在Xen虚拟机的驱动域Domain0中,可以记录各个虚拟机的资源使用情况。将Xenmon与Sar的差值和相同配置下的虚拟机每秒执行次数(即每秒VMM在不同虚拟机之间的切换次数)相比较如图2,可发现Xenmon与Sar的差值变化趋势与VMM调度消耗Uvm的变化趋势非常吻合。因此,可以利用Xenmon与Sar的差值,采用统计学习的方法预测Uvm,具体预测函数如下:
Uvm=aU2+bU+c.公式(2)
结合公式(1)和(2),可以实现虑虚拟环境下CPU利用率平均值的预测如图3。
第2步,针对非突发性负载,提出细粒度的CPU使用(即CPU利用率的概率密度函数)预测方法通过实验方法。图4是不同负载强度下的CPU使用概率质量函数。对于非饱和系统见图4(a)和(b),其概率质量函数接近正态分布。因此,本发明使用以下公式预测CPU利用率的概率密度函数:
其中,σ2是方差,其与U的关系如图5所示,近似二次曲线关系,同样可以用统计学习方法对σ2进行预测。
对于半饱和和全饱和系统见图4(c)和(d),如果直接采用公式(3)进行预测,则可得到图6所示的一个正态分布g(x),由S2,S3和S4组成。其中S2是大于100%的部分,S3是近似方法与g(x)叠加部分,但是,由于CPU利用率不能大于100%,本发明采用同等面积的梯形S1来替代S2,即CPU利用率的概率分布由S1,S3和S4组成。其中,τ为一个自定义的临界值(如99%),即CPU利用率大于此值时系统饱和。于是,CPU利用率的概率分布函数可以表达为:
公式(4)
其中,h可通过求解以下方程组得到:
1-S4=S1+S3
其中,S1,S2,S3和S4分别表示图6中各个部分的面积。
第3步,将突发性负载产生的CPU使用情况看作是两个状态下CPU概率密度函数的叠加如图7所示。因此,本发明采用以下公式进行预测:
f(x)=Ffb(x)+(1-F)fn(x).公式(5)
其中,F是突发负载发生频率,fb(x)为突发状态下CPU概率密度函数,而fn(x)为非突发状态下CPU概率密度函数。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明构思的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明保护范围内。
Claims (1)
1.虚拟环境下细粒度的CPU资源使用预测方法,其特征在于,包括如下步骤:11)虚拟机管理器调度的额外CPU消耗预测步骤:使用两个不同层次的性能监控工具Sar和Xenmon收集CPU使用数据,所述性能监控工具Sar收集Uos和Uapp两个部分,所述Xenmon记录各个虚拟机的资源使用情况,利用Xenmon与Sar的差值,采用统计学习的方法预测Uvm,具体预测函数如下:
Uvm=aU2+bU+c公式(a)
所述U为CPU利用率,由应用系统Uapp、操作系统Uos和虚拟机管理器调度Uvm三部分组成:
U=Uapp+Uos+Uvm公式(b)
其中,Uapp由应用系统的负载决定,Uos视为常量;
12)针对非突发性负载,细粒度的CPU使用预测步骤:
对于非饱和系统,可通过实验的方式,进行有限的取样,然后使用以下公式预测CPU利用率的概率密度函数:
其中,σ2是方差正态分布g(x)的方差;
对于半饱和和全饱和系统,首选采用公式(c)进行预测,得到正态分布g(x),采用同等面积的梯形S1来替代CPU利用率大于100%的S2,即CPU利用率的概率分布由S1,S3和S4组成,其中,τ为一个自定义的临界值,即CPU利用率大于此值时系统饱和,CPU利用率的概率分布函数可以表达为:
公式(d)
其中,h可通过求解以下方程组得到:
1-S4=S1+S3
其中,S1,S2,S3和S4分别为正态分布g(x)中各个部分的面积。
13)将突发性负载产生的CPU使用情况看作是两个状态下CPU概率密度函数的叠加步骤:采用以下公式进行预测:
f(x)=Ffb(x)+(1-F)fn(x)公式(e)
其中,F是突发负载发生频率,fb(x)为突发状态下CPU概率密度函数,而fn(x)为非突发状态下CPU概率密度函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310043423.7A CN103150215B (zh) | 2013-02-04 | 2013-02-04 | 虚拟环境下细粒度的cpu资源使用预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310043423.7A CN103150215B (zh) | 2013-02-04 | 2013-02-04 | 虚拟环境下细粒度的cpu资源使用预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150215A CN103150215A (zh) | 2013-06-12 |
CN103150215B true CN103150215B (zh) | 2016-03-02 |
Family
ID=48548313
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310043423.7A Active CN103150215B (zh) | 2013-02-04 | 2013-02-04 | 虚拟环境下细粒度的cpu资源使用预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150215B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279392B (zh) * | 2013-06-14 | 2016-06-29 | 浙江大学 | 一种云计算环境下虚拟机上运行的负载分类方法 |
CN103617146B (zh) * | 2013-12-06 | 2017-10-13 | 北京奇虎科技有限公司 | 一种基于硬件资源消耗的机器学习方法及装置 |
CN104809052A (zh) * | 2014-01-29 | 2015-07-29 | 西门子公司 | 用于对系统资源利用率进行预测的方法和装置 |
CN107515663B (zh) * | 2016-06-15 | 2021-01-26 | 北京京东尚科信息技术有限公司 | 调整中央处理器内核运行频率的方法和装置 |
US20180316626A1 (en) * | 2017-04-28 | 2018-11-01 | Futurewei Technologies, Inc. | Guided Optimistic Resource Scheduling |
CN107832265A (zh) * | 2017-10-17 | 2018-03-23 | 上海交通大学 | 基于状态感知的desktop的CPU负载预测方法 |
CN109005052B (zh) * | 2018-07-04 | 2021-12-31 | 中国人民解放军国防科技大学 | 网络任务预测方法和装置 |
CN109005130B (zh) * | 2018-07-04 | 2022-05-10 | 中国人民解放军国防科技大学 | 网络资源配置调度方法和装置 |
CN110868330B (zh) * | 2018-08-28 | 2021-09-07 | 中国移动通信集团浙江有限公司 | 云平台可划分cpu资源的评估方法、装置及评估系统 |
KR20200101210A (ko) | 2019-02-19 | 2020-08-27 | 삼성전자주식회사 | 전자 장치 및 프로세서의 동작 주파수를 결정하는 방법 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
US8180604B2 (en) * | 2008-09-30 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Optimizing a prediction of resource usage of multiple applications in a virtual environment |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7739532B2 (en) * | 2004-06-07 | 2010-06-15 | Intel Corporation | Method, apparatus and system for enhanced CPU frequency governers |
-
2013
- 2013-02-04 CN CN201310043423.7A patent/CN103150215B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013387A (zh) * | 2007-02-09 | 2007-08-08 | 华中科技大学 | 基于对象存储设备的负载平衡方法 |
US8180604B2 (en) * | 2008-09-30 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Optimizing a prediction of resource usage of multiple applications in a virtual environment |
Non-Patent Citations (1)
Title |
---|
一种多层架构中基于统计学习的性能预测方法;朱显杰等;《计算机应用与软件》;20110531;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103150215A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150215B (zh) | 虚拟环境下细粒度的cpu资源使用预测方法 | |
EP3333668B1 (en) | Virtual machine power consumption measurement and management | |
CA2741088C (en) | Methods of achieving cognizant power management | |
US9037880B2 (en) | Method and system for automated application layer power management solution for serverside applications | |
CN103324525B (zh) | 一种云计算环境下的任务调度方法 | |
US9632836B2 (en) | Scheduling applications in a clustered computer system | |
Niu et al. | Cost-effective cloud HPC resource provisioning by building semi-elastic virtual clusters | |
CN103605567A (zh) | 面向实时性需求变化的云计算任务调度方法 | |
CN104516784A (zh) | 一种预测任务资源等待时间的方法及系统 | |
Paul | Real-time power management for embedded M2M using intelligent learning methods | |
CN104902001B (zh) | 基于操作系统虚拟化的Web请求负载均衡方法 | |
CN102223419A (zh) | 面向网络化操作系统的虚拟资源动态反馈均衡分配机制 | |
CN102279771A (zh) | 一种虚拟化环境中自适应按需资源分配的方法及系统 | |
Quarati et al. | Hybrid clouds brokering: business opportunities, QoS and energy-saving issues | |
JP2012506597A5 (zh) | ||
CN104216782A (zh) | 高性能计算和云计算混合环境中的动态资源管理方法 | |
Mahmud et al. | Online capacity provisioning for carbon-neutral data center with demand-responsive electricity prices | |
Okamura et al. | Dynamic software rejuvenation policies in a transaction-based system under Markovian arrival processes | |
CN103559089A (zh) | 一种基于服务等级协议约束的虚拟机需求预测实现方法 | |
CN104765642A (zh) | 云环境下基于动态预测模型的虚拟机部署方法及系统 | |
Zuo et al. | Dynamically weighted load evaluation method based on self-adaptive threshold in cloud computing | |
CN102081555A (zh) | 调整时钟中断周期的方法和装置 | |
CN107624181B (zh) | 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备 | |
Li et al. | Cost-aware automatic scaling and workload-aware replica management for edge-cloud environment | |
CN102932264A (zh) | 流量溢出的判断方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20130612 Assignee: Xinhua three Technology Co., Ltd. Assignor: Zhejiang University Contract record no.: 2018330000036 Denomination of invention: CPU (Central Processing Unit) resource utilization forecasting method of fine grit under virtual environment Granted publication date: 20160302 License type: Common License Record date: 20180417 |
|
EE01 | Entry into force of recordation of patent licensing contract |