An Empirical Study of Memory Sharing in Virtual Machines

此论文是ATC’12上的一篇文章,今天特意总结一下,希望对读者会有所帮助。

相关资料

姓名 主页 谷歌学术 dblp
Sean Barker Sean Barker Sean Barker Sean Barker
Timothy Wood Timothy Wood Timothy Wood Timothy Wood
Prashant Shenoy Prashant Shenoy Prashant Shenoy Prashant Shenoy
Ramesh Sitaraman Ramesh Sitaraman Ramesh Sitaraman

概念

我们将内存重删分为两个基本类别:Self-sharing和Inter-VM sharing。

  • Self-sharing: 单个虚拟机内部的内存重删
  • Inter-VM sharing: 多个虚拟机之间的内存重删
  • 现实系统内存重删:内存重删往往考虑的场景是在虚拟化环境下,重删的内存也是虚拟机占用的内存,现实系统考虑的是整个系统内存的重删,而不单单局限于虚拟机的内存。

摘要

  1. 我们观察到绝对重删效果(不包括零页)通常保持在15%以下,而以前的工作经常宣称可以节省30%以上内存。
  2. 在一组虚拟机中,Self-sharing往往会占据大部分的重删,而Inter-VM sharing对重删的贡献则较小。而且,机器之间的差异也大大降低了机器间重删的可能性。
  3. 我们发现操作系统功能,如地址空间布局随机化,可以进一步降低去重效果。

总结

  • 在大多数情况下,主要的去重效果归因于单个虚拟机机中的冗余(Self-sharing),而不是在多台机器之间(Inter-VM sharing)。 这表明:

    • 可以在单个虚拟机而不是Hypervisor级别上有效地利用重删
    • 重删完全不需要限制在虚拟化系统中
  • 操作系统同质性是Inter-VM sharing最重要的因素,应用程序,体系结构和版本的同质性对Inter-VM sharing重要性则小一些(但仍然很重要)。特别地,我们看到,不同的平台之间,例如Windows和Linux系统之间没有Inter-VM sharing。通过更改基本系统的版本, Inter-VM sharing仍然存在,但大大减少。

  • 我们在Linux系统中进行Self-sharing的研究,发现GUI应用程序和相关系统库是Self-sharing最重要的来源。

  • 我们探讨地址空间布局随机化对去重效果的影响,发现在所有系统中,这一特征对去重效果具有一定的负面影响。