[发明专利]一种基于计数排序的虚拟机实时迁移方法及系统在审
申请号: | 201310451534.1 | 申请日: | 2013-09-27 |
公开(公告)号: | CN103473368A | 公开(公告)日: | 2013-12-25 |
发明(设计)人: | 云晓春;郝志宇;张永铮;邹庆欣;李伦;费海强;丁振全 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 杨立 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 计数 排序 虚拟机 实时 迁移 方法 系统 | ||
技术领域
本发明涉及一种基于计数排序的虚拟机实时迁移方法及系统,涉及虚拟化和云计算领域。
背景技术
在虚拟化领域,虚拟机实时迁移作为关键技术之一,被广泛应用于现代数据中心、集群、云计算方面的负载均衡、容错、和系统支持等。虚拟机是靠软件模拟的方式拥有全部硬件特征的计算机系统。在保证虚拟机上服务正常运行的情况下,虚拟机能够在不同的物理主机之间进行迁移,这被称为虚拟机实时迁移。
实时迁移是虚拟机技术的一个关键特征。在虚拟机实时迁移的过程中,当虚拟机的物理存储被共享时(例如SAN或者NFS服务),仅仅需要传输内存镜像和CPU相关信息。在这种情况下大部分时间被花费在内存镜像数据的传输上。针对内存镜像数据,pre-copy算法是最常用的虚拟机实时迁移方法。
对于使用pre-copy算法的虚拟机实时迁移来说,总迁移时间通常包含四个不同的时间段。首先要循环的传输变脏的内存页。然后虚拟机在源物理主机上被暂停。接下来传输最后一轮中变脏的内存页。在这之后虚拟机在目标主机上重新启动。迁移过程中的停机时间就由后面的三个时间段所组成,见图1。使用了pre-copy算法的虚拟机实时迁移迭代过程如图2所示。pre-copy算法试图最小化在最后一轮中传输的内存页,以保证停机时间尽可能短。在这个过程中物理内存镜像,通过网络被传输到新的目的主机,同时源物理主机持续运行。所以为了保持虚拟机内存状态在源和目标主机之间一致,一些发送到目标主机的内存页,在重新变脏后应该被再次发送到目标主机。因此pre-copy算法用一个迭代的机制来不时地检查变脏的内存页并重新传输这些内存页。在迭代过程的第一轮,所有内存页被标记为脏,接下来一些被重新修改的内存页也被标记为脏,而没有被修改过的内存页则被标记为干净的。当迭代过程中的某一轮中变脏的内存页数少于预先定义的阀值,或者迭代过程达到最大轮数时,迭代过程将被终止,虚拟机将被暂停并进入迭代的最后一轮。在最后一轮中变脏的内存页是不固定的,变脏的内存页数量直接决定了停机时间。
对一个内存页来说,如果我们用1表示变脏的状态,用0表示干净的状态。那么一个内存页在相邻两轮中的状态将如图3所示。由图3可见,对于一个内存页来说,在迭代过程的相邻两轮中,共有四种状态组合,分别是11,10,00,和01。组合10的意思是一个内存页在前一轮变脏了,而在后一轮中是干净的。仅仅对于10这种组合,我们应该发送这个内存页。因为这个内存页被修改过,在可见的将来它不能被再次修改。对于其他三种组合,我们不应该发送这个内存页。对于11组合来说,在可见的将来,这个内存页可能被再次改变,没有必要立刻传送这个内存页。对于00组合来说,这个内存页没有被修改过,我们并不需要传送它。对于组合01来说,这个内存页现在没有被修改过,在可见的将来,它有可能被修改,我们应该在下一轮的过程中,做进一步的判断。
Pre-copy算法将重复这个过程,直到一轮中变脏的内存页数小于一个预设的阀值,或者迭代过程达到最大轮数,这一轮迭代通常成为临界轮。在传输完临界轮的变脏页以后,虚拟机将要被暂停并进入最后一轮。现在我们看到:在pre-copy算法叠代的过程中,有许多内存页被重复的发送到目标主机。导致内存页数据传输量增加,总迁移时间和停机时间延长。
发明内容
本发明所要解决的技术问题是,针对pre-copy算法存在重复发送变脏的内存页问题,提供一种减少重传的内存页,节省迁移时间并减少迁移的数据量,从而提高迁移效率的基于计数排序的虚拟机实时迁移方法。
本发明解决上述技术问题的技术方案如下:一种基于计数排序的虚拟机实时迁移方法,具体包括以下步骤:
步骤1:存储每个内存页变脏的次数到一个存储数组中;
步骤2:将内存页按照变脏次数由低到高进行排序;
步骤3:将排序后的内存页按顺序从源主机传输至目标主机。
本发明的有益效果是:本发明所述方法能够尽可能将变脏次数多的内存页置于每轮最后阶段进行传输判定,就能够尽可能的减少同一页面由于频繁变脏而被多次传输的情况,从而尽可能延迟变脏概率高的页面被传输的时间,以降低页面被频繁重传的可能;实现节省迁移时间并减少迁移的数据量,从而提高迁移效率。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述步骤2中的排序采用计数排序方法。
进一步,所述一次性发送内存页的个数可定义为批次大小,当使用计数排序的方法时,批次大小也是一个影响因素;减小批次大小,实现减少重复传输的内存页。
进一步,所述步骤2具体包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310451534.1/2.html,转载请声明来源钻瓜专利网。