论文部分内容阅读
作为虚拟化的个重要特性,检查点可以对虚拟机进行系统级的状态保存,并确保完成后虚拟机可以继续运行,目前已经广泛应用于集群和数据中心的系统维护、容错灾备及测试调试上。尽管全系统级检查点是种广泛使用且有效的状态保存策略,但由于它需要向磁盘写入大量的数据而导致检查点时间过长,进而影响虚拟机的服务质量及系统的可扩展性,而且随着虚拟机内存配置的增加,检查点时间随之线性增加。虚拟机检查点优化机制有效地解决了上述问题。该机制针对虚拟机在不同负载下的内存变化特征,首先分析脏页集随时间的变化情况,然后以字节为单位细粒度分析脏页面内脏数据的变化情况,从而代替传统方法中的页面粒度,并分析了脏字节在脏页面内的分布情况。根据上述分析结果,该机制采用脏页记录机制记录虚拟机运行过程中产生的脏页,通过脏页位图进行标记,采用Delta内存压缩方案无失真地提取出脏页面中的脏数据,减少了虚拟机状态中的冗余数据,并使用多线程技术加快了内存压缩。另外,该机制通过分析虚拟机的脏页分布特征,提出了种快速扫描虚拟机脏页位图的方法找到变脏页面,有效减少了虚拟机的检查点时间。实验表明,与Xen中原始的全系统检查点方法相比,在内存配置1GB时,该机制平均可减少70.54%的检查点时间,对于大内存的虚拟机还可以取得更好的性能;与Remus以页面为粒度的增量式检查点方法相比,该机制平均减少52.88%的检查点文件大小;与Xen中传统的脏页位图扫描方法相比,该机制的平均扫描时间减少了91.13%。