CN102609347A - 一种虚拟化环境下负载热点检测的方法 - Google Patents
一种虚拟化环境下负载热点检测的方法 Download PDFInfo
- Publication number
- CN102609347A CN102609347A CN2012100361301A CN201210036130A CN102609347A CN 102609347 A CN102609347 A CN 102609347A CN 2012100361301 A CN2012100361301 A CN 2012100361301A CN 201210036130 A CN201210036130 A CN 201210036130A CN 102609347 A CN102609347 A CN 102609347A
- Authority
- CN
- China
- Prior art keywords
- load
- node
- virtual machine
- page
- focus
- 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.)
- Granted
Links
Images
Abstract
一种虚拟化环境下负载热点检测方法,属于计算机操作系统与虚拟化技术领域。先将资源监控程序部署在物理节点上作为Xen的一个工具来使用,资源监控程序利用操作系统管理内存的机制来周期性的检测各物理节点和虚拟机节点的资源使用情况。负载热点检测器基于MapReduce编程模型来实现,mapper读取沉淀文件中的监控数据,然后用特定的负载计算模型来计算各个物理节点和其上的虚拟机节点的负载情况,并作为mapper的输出结果和reducer的输入信息,reducer在读取负载信息后,便开始进行热点的检测,识别出热点。本方法提高了虚拟化环境下负载热点检测的效率、灵活性和可扩展性。
Description
技术领域
本发明涉及一种热点检测方法,尤其是在虚拟化环境下对物理节点和虚拟机节点的热点检测,属于计算机操作系统与虚拟化技术领域。
背景技术
负载热点检测通常的步骤包括:资源使用情况监控及收集,负载量建模和计算,热点检测。
在资源使用情况监控阶段,不管是针对物理节点还是物理节点之上的虚拟机节点,需要监控的重要度量尺度有CPU使用情况、最大内存、内存使用情况、网络流量。尽管在某些场合我们需要实时收集这些资源的使用情况,但通常来说,周期性地收集这些监控数据,然后提交给热点检测器这就足够了。在第二步骤,利用提交的监控数据,负载热点检测器利用某种负载计算模型计算出各物理节点和其上的虚拟机节点的负载量。在最后一个步骤,负载热点检测器分析这些负载量,然后识别出热点,以供将来进一步处理用。
资源使用情况的监控数据对衡量负载量非常重要。然而相对于监控物理节点的资源使用情况来说,监控虚拟机的资源使用情况更为困难,尤其是对于虚拟机内存使用情况的监控。原因是物理节点的各资源使用情况能很容易被安装在其上的监控程序所获取,只要该监控程序有合法权限执行、访问。不幸的是,对于虚拟机来说并不是这样。这是因为一旦虚拟机管理程序(VM hypervisor)如Xen创建了一个虚拟机,安装在该虚拟机之上的客户操作系统将会接管分配给该虚拟机的所有物理资源。为了解决这个问题,一个方法就是在虚拟机内部安装一个监控程序,用来监控各资源的使用情况,就像一个特洛伊木马程序一样,然后该监控程序将收集到的监控信息发送给一个如安装在该虚拟机外部的物理机上的特定的收集程序。然而,这种机制非常不灵活,因为现在有许多不同的操作系统,同一种操作系统又有着不同的版本,这会导致为不同版本的操作系统开发不同的监控程序。
实际的负载热点检测也面临一个挑战性问题,因为一般来说,大型数据中心都部署上千台物理节点,所以很容易产生大量的监控数据。如果用传统的单节点处理这些数据将出现性能瓶颈,甚至造成机器崩溃。所以,如何高效地存储且处理这些大量的监控数据是个挑战性问题。
发明内容
本发明目的在于,提出一种应用于虚拟化环境下的负载热点检测方法,可以克服传统基于单机方式处理的性能瓶颈,以微小的开销来获得更精确更灵活地衡量负载量。
本发明先进行资源监控,再进行负载热点检测,所述的热点指在于一段时间序列里,当节点的负载超过阈值,且其次数达到预设的次数时的节点为热点。
所述资源监控是:在各物理节点上分别部署资源监控模块,各资源监控模块通过Xen Domain 0得到每个虚拟机的全局页目录基址地址,各资源监控模块利用虚拟机的全局页目录基址地址遍历虚拟机的地址空间,从而周期性地检测各物理节点和虚拟机节点的资源使用情况。
本发明首先将资源监控程序部署在物理节点上作为Xen的一个工具来使用,资源监控程序利用物理机上的宿主操作系统的管理内存的机制来周期性的监听各物理节点和虚拟机节点的资源使用情况。负载热点检测器利用MapReduce编程模型来检测,mapper读取沉淀文件中的监控数据,然后用特定的数学负载计算模型来计算各个物理节点和其上的虚拟机节点的负载情况,并作为mapper的输出结果和reducer的输入信息,reducer在读取负载信息后,便开始进行热点的检测,并识别出热点。
利用本发明的虚拟化环境下负载热点检测方法,通过在虚拟机管理程序级别上来扫描每个虚拟机的页表和MapReduce编程模型来有效地监控虚拟机的内存使用率和有效地处理大量的监控数据,进而提高了虚拟化环境下负载热点检测的灵活性、可扩展性、高效性。
本发明资源监控模块包括步骤如下:
1)获取CR3,虚拟机的页目录基址寄存器;
2)通过CR3和虚拟机内的线性地址的目录地址部分获得指示了页表基址地址的相应页目录项;
3)将所述页目录项结合线性地址的页地址部分,得到相应的页表项;
4)检查页表项的存在位;当存在位为真,则表示该页面已经被装入内存;当存在位不为真,则表示该页面未被装入内存。
本发明在所述步骤4)后,还包括:
步骤5)所述资源监控模块不断检测位于该虚拟机内的线性地址空间,直到到达线性地址空间的末尾;
步骤6)所述资源监控模块用存在页面的计数乘以页面大小便可得出虚拟机所使用内存的大小。
在所述资源监控模块中还包括页面计算器。
负载热点检测包括衡量多维度的负载的检测、热点检测和基于MapReduce的检测,其中:
所述衡量多维度的负载的检测包括CPU使用情况、最大内存、已使用的内存和网络流量的度量尺度;度量尺度的综合度量尺度,即负载量为Vol:
所述热点检测为在一段时间序列里,各物理节点或虚拟机节点的负载量超过了预设的阈值φ;
所述基于MapReduce检测是:计算出每个物理节点和虚拟机节点的负载量,然后根据这些负载量识别出重负载,即热点;包括如下步骤:
A、映射阶段,读取每个节点在各个监控时期的实际资源使用情况,根据负载模型分别计算出负载量;
B、负载量即为每个节点在各个监控时期的对应负载量,存储在不同的中间文件;
C、规约阶段,以这些负载量作为输入,然后根据热点检测算法,识别出每个节点是否是真正热点。
存储在沉淀文件中的监控数据作为每个mapper的输入文件,其中的map操作一行行地读取文件中的内容,对于每一行,它将对其内容进行切分,然后提取出cpu,mem,network三个度量尺度,然后用改进的负载数学模型计算出负载。
规约阶段时,收集每个节点的ID和各个时期的负载信息,保存到中间文件中,作为规约操作的输入文件;读取由map操作生成的中间文件,然后对给定物理节点或虚拟机节点的各个时期的负载量进行求和,并统计每个节点的负载超过预先设置的阈值的次数k_vol,及总的负载量的个数counter_iter;利用通过判断每个节点的负载超过预先设置的阈值的次数k_vol,识别出哪些节点是热点,然后收集这些信息进行输出。
附图说明
图1本发明的框架示意图。
图2物理页到机器页的映射示意图。
图3两级页表结构示意图。
图4 MapReduce并行编程模型示意图。
具体实施方式
如图1所示,是本发明实例所提供的技术框架100,包括两个层次的内容。第一层是资源监控模块,部署在各物理节点上,并于Xen Domain 0内部,作为Xen的一个工具来使用,用于周期性的监听各物理节点和虚拟机节点的资源使用情况,第二层是负载热点检测器,用于计算每个物理节点和其上的虚拟机节点的负载量,进而检测出潜在的热点。
资源监控程序101监控的内容包括CPU使用情况、最大内存、已使用的内存、网络流量等,所述的模块主要致力于监控虚拟机的内存使用情况,其他的资源使用情况可以简单地利用已经有的工具如Linux/Unix中的top,Xen中的XenMon。
本发明的物理页到机器页的映射示意图,如图2所示。
如图3所示,基于X86 CPU的体系结构只有两级的页表信息的情况,资源监控模块mond采用如下的方法:首先获取CR3301,虚拟机的页目录基址寄存器,然后通过CR3和虚拟机内的线性地址302的目录地址303部分,就可以获得相应的页目录项304,该页目录项指示了页表基址地址305,然后结合线性地址的页地址部分306,便可得到相应的页表项307。检查页表项的存在位308,如果存在位为真,则表示该页面已经被装入内存。因此利用这种方法,增加存在页面的计数器。我们不断检测位于该虚拟机内的线性地址空间,直到到达线性地址空间的末尾。最后利用存在页面的计数乘以页面大小便可得出虚拟机所使用内存的大小。
负载热点检测器102提出了一个新的模型来横量各度量尺度的负载量:
在一段时间序列里,当物理机节点或虚拟机节点的负载超过了预设的阈值φ,且其次数达到预设的次数后,那么该节点就很可能是热点。
如图4所示,热点检测算法利用MapReduce并行编程模型来处理大量的监控数据。首先计算出每个物理节点和虚拟机节点的负载量,然后根据这些负载量识别出重负载,即热点。
热点指在于一段时间序列里,当节点的负载超过阈值,且其次数达到预设的次数后,才认为该节点是稳定的热点。
MapReduce检测方法主要做两件事:计算出每个物理节点和虚拟机节点的负载量,然后根据这些负载量识别出重负载,即热点;该方法包括如下步骤:
A、映射阶段,读取每个节点在各个监控时期的实际资源使用情况,根据负载模型分别计算出负载量;
B、负载量即为每个节点在各个监控时期的对应负载量,存储在不同的中间文件;
C、规约阶段,以这些负载量作为输入,然后根据热点检测算法,识别出每个节点是否是真正热点。
用存储在沉淀文件中的监控数据作为每个mapper的输入文件401,其中的map操作一行行地读取文件中的内容,步骤402对于每一行,它将对其内容进行切分,然后提取出cpu,mem,network三个度量尺度,然后用改进的负载数学模型计算出负载,收集每个节点的ID和各个时期的负载信息,保存到中间文件403中,作为规约操作的输入文件404,读取由map操作生成的中间文件,然后进行处理,对给定物理节点或虚拟机节点的各个时期的负载量进行求和,然后步骤405统计每个节点的负载超过预先设置的阈值的次数k_vol,及总的负载量的个数counter_iter。
判断每个节点的负载超过预先设置的阈值的次数k_vol,识别出哪些节点是热点,然后收集这些信息进行输出406。
Claims (8)
1.一种虚拟化环境下负载热点检测方法,其特征在于先进行资源监控,再进行负载热点检测,所述的热点指在于一段时间序列里,当节点的负载超过阈值,且其次数达到预设的次数时的节点为热点。
2.根据权利要求1所述虚拟化环境下负载热点检测方法,其特征在于所述资源监控是:在各物理节点上分别部署资源监控模块,各资源监控模块通过Xen Domain 0得到每个虚拟机的全局页目录基址地址,各资源监控模块利用虚拟机的全局页目录基址地址遍历虚拟机的地址空间,从而周期性地检测各物理节点和虚拟机节点的资源使用情况。
3.根据权利要求2所述虚拟化环境下负载热点检测方法,其特征在于资源监控模块包括步骤如下:
1)获取CR3,虚拟机的页目录基址寄存器;
2)通过CR3和虚拟机内的线性地址的目录地址部分获得指示了页表基址地址的相应页目录项;
3)将所述页目录项结合线性地址的页地址部分,得到相应的页表项;
4)检查页表项的存在位;当存在位为真,则表示该页面已经被装入内存;当存在位不为真,则表示该页面未被装入内存。
4.根据权利要求3所述虚拟化环境下负载热点检测方法,其特征在于在所述步骤4)后,还包括步骤5)所述资源监控模块不断检测位于该虚拟机内的线性地址空间,直到到达线性地址空间的末尾;步骤6)所述资源监控模块用存在页面的计数乘以页面大小便可得出虚拟机所使用内存的大小。
5.根据权利要求2或3所述虚拟化环境下负载热点检测方法,其特征在于在所述资源监控模块中还包括页面计算器。
6.根据权利要求1所述虚拟化环境下负载热点检测方法,其特征在于负载热点检测包括衡量多维度的负载的检测、热点检测和基于MapReduce的检测,其中:
所述热点检测为在一段时间序列里,各物理节点或虚拟机节点的负载量超过了预设的阈值φ;
所述基于MapReduce检测是:计算出每个物理节点和虚拟机节点的负载量,然后根据这些负载量识别出重负载,即热点;包括如下步骤:
A、映射阶段,读取每个节点在各个监控时期的实际资源使用情况,根据负载模型分别计算出负载量;
B、负载量即为每个节点在各个监控时期的对应负载量,存储在不同的中间文件;
C、规约阶段,以这些负载量作为输入,然后根据热点检测算法,识别出每个节点是否是真正热点。
7.根据权利要求1所述虚拟化环境下负载热点检测方法,其特征在于存储在沉淀文件中的监控数据作为每个mapper的输入文件,其中的map操作一行行地读取文件中的内容,对于每一行,它将对其内容进行切分,然后提取出cpu,mem,network三个度量尺度,然后用改进的负载数学模型计算出负载。
8.根据权利要求6或7所述虚拟化环境下负载热点检测方法,其特征在于规约阶段时,收集每个节点的ID和各个时期的负载信息,保存到中间文件中,作为规约操作的输入文件;读取由map操作生成的中间文件,然后对给定物理节点或虚拟机节点的各个时期的负载量进行求和,并统计每个节点的负载超过预先设置的阈值的次数k_vol,及总的负载量的个数counter_iter;利用通过判断每个节点的负载超过预先设置的阈值的次数k_vol,识别出哪些节点是热点,然后收集这些信息进行输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210036130.1A CN102609347B (zh) | 2012-02-17 | 2012-02-17 | 一种虚拟化环境下负载热点检测的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210036130.1A CN102609347B (zh) | 2012-02-17 | 2012-02-17 | 一种虚拟化环境下负载热点检测的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102609347A true CN102609347A (zh) | 2012-07-25 |
CN102609347B CN102609347B (zh) | 2015-09-30 |
Family
ID=46526737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210036130.1A Active CN102609347B (zh) | 2012-02-17 | 2012-02-17 | 一种虚拟化环境下负载热点检测的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102609347B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984137A (zh) * | 2012-11-14 | 2013-03-20 | 江苏南开之星软件技术有限公司 | 一种基于多目标遗传算法下的多目标服务器调度方法 |
CN103281367A (zh) * | 2013-05-22 | 2013-09-04 | 北京蓝汛通信技术有限责任公司 | 一种负载均衡方法及装置 |
CN105450537A (zh) * | 2014-09-02 | 2016-03-30 | 阿尔卡特朗讯 | 确定节点负载信息及据此进行负载均衡和过载控制 |
CN106997303A (zh) * | 2017-04-10 | 2017-08-01 | 中国人民解放军国防科学技术大学 | 基于MapReduce的大数据近似处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263407A1 (en) * | 2007-04-19 | 2008-10-23 | Mitsuo Yamamoto | Virtual computer system |
CN101425021A (zh) * | 2007-10-31 | 2009-05-06 | 卢玉英 | 基于虚拟机技术的个人计算机可迁移应用模式 |
CN101984631A (zh) * | 2010-11-05 | 2011-03-09 | 北京世纪互联工程技术服务有限公司 | 一种Xen虚拟机安全动态迁移方法 |
-
2012
- 2012-02-17 CN CN201210036130.1A patent/CN102609347B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080263407A1 (en) * | 2007-04-19 | 2008-10-23 | Mitsuo Yamamoto | Virtual computer system |
CN101425021A (zh) * | 2007-10-31 | 2009-05-06 | 卢玉英 | 基于虚拟机技术的个人计算机可迁移应用模式 |
CN101984631A (zh) * | 2010-11-05 | 2011-03-09 | 北京世纪互联工程技术服务有限公司 | 一种Xen虚拟机安全动态迁移方法 |
Non-Patent Citations (2)
Title |
---|
张井昆: "基于Xen的虚拟机动态迁移技术研究及应用", 《中国优秀硕士学位论文全文数据库》 * |
温研等: "基于本地虚拟化技术的隐藏进程检测", 《计算机应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984137A (zh) * | 2012-11-14 | 2013-03-20 | 江苏南开之星软件技术有限公司 | 一种基于多目标遗传算法下的多目标服务器调度方法 |
CN103281367A (zh) * | 2013-05-22 | 2013-09-04 | 北京蓝汛通信技术有限责任公司 | 一种负载均衡方法及装置 |
CN103281367B (zh) * | 2013-05-22 | 2016-03-02 | 北京蓝汛通信技术有限责任公司 | 一种负载均衡方法及装置 |
CN105450537A (zh) * | 2014-09-02 | 2016-03-30 | 阿尔卡特朗讯 | 确定节点负载信息及据此进行负载均衡和过载控制 |
CN106997303A (zh) * | 2017-04-10 | 2017-08-01 | 中国人民解放军国防科学技术大学 | 基于MapReduce的大数据近似处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102609347B (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9870270B2 (en) | Realizing graph processing based on the mapreduce architecture | |
Hu et al. | A time-series based precopy approach for live migration of virtual machines | |
Kavulya et al. | An analysis of traces from a production mapreduce cluster | |
US9952891B2 (en) | Anomalous usage of resources by a process in a software defined data center | |
WO2018099299A1 (zh) | 一种图数据处理的方法、装置及系统 | |
US20130198370A1 (en) | Method for visualizing server reliability, computer system, and management server | |
US8843422B2 (en) | Cloud anomaly detection using normalization, binning and entropy determination | |
CN106713396B (zh) | 服务器调度方法和系统 | |
US20130197863A1 (en) | Performance and capacity analysis of computing systems | |
JP2012525641A5 (zh) | ||
CN106293881B (zh) | 一种基于非一致性i/o访问构架的性能监控器及其监控方法 | |
CN101986280A (zh) | 虚拟计算系统的自动化测试平台 | |
US9471383B2 (en) | Task allocation in a computing environment | |
CN103559077A (zh) | 一种优化的虚拟机自动迁移方法和系统 | |
CN103778050A (zh) | 一种数据库服务器高可用性能检测系统 | |
CN102609347B (zh) | 一种虚拟化环境下负载热点检测的方法 | |
Cao et al. | Evaluation and analysis of in-memory key-value systems | |
EP4231602A1 (en) | Method and apparatus for acquiring private cloud container cluster gene information | |
Yan et al. | Using memory in the right way to accelerate Big Data processing | |
Khan | Hadoop performance modeling and job optimization for big data analytics | |
Khandual | Performance monitoring in linux kvm cloud environment | |
Uta et al. | Elasticity in graph analytics? a benchmarking framework for elastic graph processing | |
Switzer et al. | Renée: New life for old phones | |
Bao | Performance evaluation for traditional virtual machine placement algorithms in the cloud | |
Hu et al. | DDC: distributed data collection framework for failure prediction in Tianhe supercomputers |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: A method of load hotspot detection in virtualized environment Effective date of registration: 20211123 Granted publication date: 20150930 Pledgee: Yangzhou Guangling Branch of Bank of China Ltd. Pledgor: JIANGSU NKSTAR SOFTWARE TECHNOLOGY Co.,Ltd. Registration number: Y2021320000350 |