Page overlays: An enhanced virtual memory framework to enable fine-grained memory management

Page overlays: An enhanced virtual memory framework to enable fine-grained memory management
复制标题

页面覆盖:增强的虚拟内存框架,可实现细粒度的内存管理

DOI:
10.1145/2749469.2750379
复制
发表时间:
2015
期刊:
2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA)
影响因子:
--
通讯作者:
Trishul M. Chilimbi
Trishul M. Chilimbi
中科院分区:
--
文献类型:
--
作者:
Vivek Seshadri;Gennady Pekhimenko;Olatunji Ruwase;O. Mutlu;Phillip B. Gibbons;M. Kozuch;T. Mowry;Trishul M. Chilimbi

文献摘要

被引文献

相似文献

最近的许多工作提出了以细粒度(例如,高速缓存线)管理内存的潜在优势的机制,例如,细粒度的重复数据删除和细粒度的内存保护。不幸的是,现有的虚拟存储器系统以更大的粒度(例如,4KB页)跟踪存储器,从而抑制了此类技术的有效实现。简单地减小页面大小会导致页表开销和TLB压力的不可接受的增加。我们提出了一种新的虚拟内存框架,它可以有效地实现各种细粒度的内存管理技术。在我们的框架中,除了常规的物理页面之外,每个虚拟页面都可以映射到称为页面覆盖的结构。覆盖包含来自虚拟页的高速缓存线的子集。从那里访问存在于覆盖中的高速缓存线,并且从常规物理页访问所有其他高速缓存线。我们的页面覆盖框架支持高速缓存线粒度的内存管理,而不会显著改变现有的虚拟内存框架或引入高开销。我们展示了我们的框架可以简单而高效地实现七种内存管理技术,每一种技术都具有广泛的应用。我们定量地评估了其中两种技术的潜在优势:写入时覆盖和稀疏数据结构计算。我们的评估表明,与传统的写入时复制相比,覆盖写入时可以将性能提高15%,并将存储容量需求平均减少53%。对于稀疏数据计算,我们的框架可以在许多现实世界的稀疏矩阵上优于最先进的基于软件的稀疏表示法。我们的框架是通用、强大和有效的,能够以较低的成本实现细粒度的内存管理。
Many recent works propose mechanisms demonstrating the potential advantages of managing memory at a fine (e.g., cache line) granularity-e.g., fine-grained de-duplication and fine-grained memory protection. Unfortunately, existing virtual memory systems track memory at a larger granularity (e.g., 4 KB pages), inhibiting efficient implementation of such techniques. Simply reducing the page size results in an unacceptable increase in page table overhead and TLB pressure. We propose a new virtual memory framework that enables efficient implementation of a variety of fine-grained memory management techniques. In our framework, each virtual page can be mapped to a structure called a page overlay, in addition to a regular physical page. An overlay contains a subset of cache lines from the virtual page. Cache lines that are present in the overlay are accessed from there and all other cache lines are accessed from the regular physical page. Our page-overlay framework enables cache-line-granularity memory management without significantly altering the existing virtual memory framework or introducing high overheads. We show that our framework can enable simple and efficient implementations of seven memory management techniques, each of which has a wide variety of applications. We quantitatively evaluate the potential benefits of two of these techniques: overlay-on-write and sparse-data-structure computation. Our evaluations show that overlay-on-write, when applied to fork, can improve performance by 15% and reduce memory capacity requirements by 53% on average compared to traditional copy-on-write. For sparse data computation, our framework can outperform a state-of-the-art software-based sparse representation on a number of real-world sparse matrices. Our framework is general, powerful, and effective in enabling fine-grained memory management at low cost.