[发明专利]一种快速扫描全虚拟化虚拟机脏页位图的方法有效
申请号: | 201210417868.2 | 申请日: | 2012-10-26 |
公开(公告)号: | CN102981962A | 公开(公告)日: | 2013-03-20 |
发明(设计)人: | 吴松;石宜化;金海;杜云杰 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 扫描 虚拟 虚拟机 位图 方法 | ||
技术领域
本发明属于计算系统虚拟化领域,更具体地,涉及一种快速扫描全虚拟化虚拟机脏页位图的方法。
背景技术
系统虚拟化(System virtualization)是在单一的物理硬件上同时运行多个操作系统实例,这些操作系统实例共享底层的物理硬件资源,并且相互独立、互不干扰,实现物理资源的共享,从而使得物理资源得到充分有效的利用。虚拟机(Virtual machine,简称VM)的动态迁移(Live migration)作为系统虚拟化的一项重要特性,可以使得虚拟机在服务几乎不中断的情况下从一台物理计算机上迁移到另外一台物理计算机上,并且对虚拟机及用户透明,被广泛应用在数据中心的系统维护、负载均衡及容错灾备上。
然而在进行虚拟机迁移时,需要事先预知,然后再执行相应的操作。它是在计算系统(包括物理机和虚拟机)正常运转的前提下进行的,无法应对计算系统出现的突然性软硬件故障,对高可用(high availability,简称HA)系统来说具有很大的局限性。目前各大虚拟化厂商针对高可用问题相继推出自己的容错(Fault-tolerant)方案,如Vmware的HA、Xen的Remus等。Remus基于Pre-copy虚拟机动态迁移框架,在备份物理计算机上启动一个备份虚拟机,周期性(几十到几百毫秒)地同步主-从虚拟机状态,使得当主虚拟机发生故障时备份虚拟机能够实时接管并保证正确一致的运行状态,从而达到高可用的目的。
不管是对于虚拟机动态迁移还是对于基于虚拟机动态迁移框架的Remus HA系统来说,每次同步虚拟机内存状态前,一个不可或缺的过程就是扫描保存在Xen内存空间中的目标虚拟机脏页位图(dirty bitmap),找出上一个周期中变脏的页面,然后以页面(大小为4096B)为单位将变脏页面发送到目标物理机上,从而保证双方虚拟机的内存状态一致。但是该扫描过程是在暂停虚拟机运行的前提下进行的,通过逐位扫描脏页位图来获取变脏页面,造成扫描时间过长,进而影响虚拟机的计算性能和服务质量。另外,对于全虚拟化虚拟机来说,由于其对虚拟化平台Xen完全透明,因此在创建虚拟机时不管配置的是128MB还是1024MB的内存大小,Xen内核都为该虚拟机配置4GB的脏页位图空间,一共1048576(4GB/4KB)个脏页位。
如图1所示,以全虚拟化虚拟机内存配置大小512MB为例,在测试的317856个周期中,只有两个周期有脏页面分布在高3.5GB(pfn>131072)空间,其余所有周期的脏页面均分布在低512MB(pfn≤131072)空间。而用户空间的应用在扫描脏页位图时,仍要逐位扫描整个4GB(0≤pfn<1048576)内存空间的脏页位图,扫描时间需要十毫秒左右,而且几乎无脏页分布的高3.5GB空间的扫描时间要占到87.5%左右。如果虚拟机的内存配置得更小些,那么这种无效的扫描时间所占的比例会更高。值得强调的是,在扫描脏页位图的过程中虚拟机是处于暂停状态的,对于Remus这种高频地(2HZ~40HZ)进行虚拟机状态同步的应用来说,扫描脏页位图的时间开销对虚拟机的性能影响相当严重。
发明内容
针对现有技术的缺陷,本发明的目的在于针对全虚拟化虚拟机变脏页面号在脏页位图中的分布情况,提供一种快速扫描全虚拟化虚拟机脏页位图的方法,其能够在虚拟机动态迁移或者Remus HA系统中减少因扫描脏页位图而暂停虚拟机的时间,从而提高虚拟机的计算性能和服务质量。
为实现上述目的,本发明提供了一种快速扫描全虚拟化虚拟机脏页位图的方法,包括以下步骤:
(1)标志位初始化阶段:在Xen的地址空间中为全虚拟化虚拟机的4GB内存空间分配一级标志位和二级标志位,同时将一级标志位和二级标志位初始化为零,一级标志位的数量为4GB/128MB=32个,二级标志位的数量为1个;
(2)标志位设置阶段:读取Xen第二级页表项中的地址,并根据地址来设置一级标志位和二级标志位的值,具体包括以下子步骤:
(2-1)读取Xen第二级页表的第0个页表项;
(2-2)判断已读取页表项中的地址是否有效,若地址有效,则转入步骤(2-3),否则转入步骤(2-4);
(2-3)设置该地址相应的一级标志位为1,并根据地址获取相应的脏页位图页面,然后转入步骤(2-5);
(2-4)获取全零的脏页位图页面,然后转入步骤(2-7);
(2-5)判断该页表项是否为第4~31号页表项,如果是,则转入步骤(2-6),否则转入步骤(2-7);
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210417868.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:车辆控制装置和车辆控制方法
- 下一篇:半导体器件及其制造和封装方法