文章目录
  1. 1. Large Pages and Lightweight Memory Management in Virtualized Environments
    1. 1.1. 相关资料
    2. 1.2. 摘要
    3. 1.3. 介绍
    4. 1.4. 方法
    5. 1.5. 大页拆分的场景
      1. 1.5.1. 页面共享
      2. 1.5.2. NUMA
      3. 1.5.3. 工作集取样
      4. 1.5.4. Live的VM迁移
      5. 1.5.5. 有限的大页支持
    6. 1.6. 结论

Large Pages and Lightweight Memory Management in Virtualized Environments

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

相关资料

摘要

我们利用硬件来解决大页与小页之间的冲突,使用猜测技术将连续对齐的小页分组翻译,以便它们接近大页地址转换的性能。 Generalized Large-page Utilization Enhancements (GLUE)允许hypervisor拆分大页进行敏捷内存管理,同时几乎保留大页的TLB性能。

介绍

  • 大页的优点
  • 大页的缺点
  • 大页vs小页

方法

我们发现一个现象:通常拆分大页是为了实现更细粒度的内存管理,而不是从根本上改变虚拟或物理地址空间。 因此,绝大多数小页保留虚拟和物理地址空间中的原始邻接和对齐特性,从而允许它们被合并到大页中。

下图说明了GLUE的操作:

  • guest virtual pages (GVPs)
  • guest physical pages (GPPs)
  • system physical pages (SPPs)

    我们假设四个连续的PTE成为一个大页,因此客户机page table可以将GVP 0-3的PTE组合成一个大页(与GVP 4-7的PTE相同)。

大页拆分的场景

这部分内容总结的较好,讲述了在实际应用中拆分大页的场景,这些知识可以拓展自己的视野。

页面共享

在内存去重时,我们往往会将大页进行拆分。

NUMA

在NUMA系统中,大页会带来许多弊端,因此,需要拆分大页。

工作集取样

在hypervisor对工作集进行取样的时候,会拆分大页。

Live的VM迁移

在不断开客户端的情况下进行VM的迁移时,会以小页为单位进行迁移。

有限的大页支持

结论

我们使用TLB猜测的硬件技术来解决大页与小页之间的冲突,从而同时获得大页与小页的优势。

文章目录
  1. 1. Large Pages and Lightweight Memory Management in Virtualized Environments
    1. 1.1. 相关资料
    2. 1.2. 摘要
    3. 1.3. 介绍
    4. 1.4. 方法
    5. 1.5. 大页拆分的场景
      1. 1.5.1. 页面共享
      2. 1.5.2. NUMA
      3. 1.5.3. 工作集取样
      4. 1.5.4. Live的VM迁移
      5. 1.5.5. 有限的大页支持
    6. 1.6. 结论