Proceedings of the 42nd Annual International Symposium on Computer Architecture - ISCA '15
Many recent works propose mechanisms demonstrating the potential advantages of managing memory at a ne (e.g., cache line) granularity-e.g., ne-grained deduplication and ne-grained memory protection. Unfortunately, existing virtual memory systems track memory at a larger granularity (e.g., 4 KB pages), inhibiting e cient 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
... virtual memory framework that enables e cient implementation of a variety of ne-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 signi cantly altering the existing virtual memory framework or introducing high overheads. We show that our framework can enable simple and efcient implementations of seven memory management techniques, each of which has a wide variety of applications. We quantitatively evaluate the potential bene ts 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 e ective in enabling ne-grained memory management at low cost.