Perforated Page: Supporting Fragmented Memory Allocation for Large Pages
Chang Hyun Park, Sanghoon Cha, Bokyeong Kim, Youngjin Kwon, David Black-Schaffer, Jaehyuk Huh
摘要
The availability of large pages has dramatically improved the efficiency of address translation for applications that use large contiguous regions of memory. However, large pages can be difficult to allocate due to fragmented memory, non-movable pages, or the need to split a large page into regular pages when part of the large page is forced to have a different permission status from the rest of the page. Furthermore, they can also be expensive due to memory bloating caused by sparse accesses to application data. In this work, we enable the allocation of large 2MB pages even in the presence of fragmented physical memory via perforated pages. Perforated pages permit the OS to punch 4KB page-sized holes in the physical address range allocated to a large page and re-map them to other addresses as needed. This not only enables the system to benefit from large pages in the presence of fragmentation, but also allows for different permissions to exist within a large page, enhancing sharing flexibility. In addition, it allows unused parts of a large page to be used elsewhere, mitigating memory bloating. To minimize changes to the system, perforated pages reuse the 4KBlevel page table entries to store the hole locations and translates holes into regular 4KB pages. For performance, the proposed technique caches the translations for hole pages in the TLBs and track holes via cached bitmaps in the L2 TLB.
By enabling large pages in the presence of physical memory fragmentation, perforated pages increase the applicability and resulting benefits of large pages with only minor changes to the hardware and OS. In this work, we evaluate the effectiveness of perforated pages with timing simulations under diverse and realistic fragmentation scenarios. Our results show that even with fragmented memory, perforated pages accomplish 93.2% to 99.9% of the performance achievable by ideal memory allocation, and 2.0% to 11.5% better performance over the conventional system running with fragmented memory.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper23
- Enhancing and Exploiting Contiguity for Fast Memory VirtualizationChloe Alverti, Stratos Psomadakis, Vasileios Karakostas, Jayneel Gandhi 等ISCA 2020 · 被引用 41 次
- Every walk's a hit: making page walks single-access cache hitsChang Hyun Park, Ilias Vougioukas, Andreas Sandberg, David Black-SchafferASPLOS 2022 · 被引用 34 次
- Trident: Harnessing Architectural Resources for All Page Sizes in x86 ProcessorsVenkat Sri Sai Ram, Ashish Panwar, Arkaprava BasuMICRO 2021 · 被引用 27 次
- Mosaic Pages: Big TLB Reach with Small PagesKrishnan Gosakan, Jaehyun Han, William Kuszmaul, Ibrahim N. Mubarek 等ASPLOS 2023 · 被引用 21 次
- Victima: Drastically Increasing Address Translation Reach by Leveraging Underutilized Cache ResourcesKonstantinos Kanellopoulos, Hong Chul Nam, Nisa Bostanci, Rahul Bera 等MICRO 2023 · 被引用 16 次
它引用的顶会 Paper1
相关 Paper
- Tailored Page SizesFaruk Guvenilir, Yale N. PattISCA 2020 · 被引用 22 次
- Elastic Translations: Fast Virtual Memory with Multiple Translation SizesStratos Psomadakis, Chloe Alverti, Vasileios Karakostas, Christos Katsakioris 等MICRO 2024 · 被引用 4 次
- PTEMagnet: fine-grained physical memory reservation for faster page walks in public cloudsArtemiy Margaritov, Dmitrii Ustiugov, Amna Shahab, Boris GrotASPLOS 2021 · 被引用 19 次
- Making Dynamic Page Coalescing Effective on Virtualized CloudsWeiwei Jia, Jiyuan Zhang, Jianchen Shan, Xiaoning DingEuroSys 2023 · 被引用 8 次
- Revelator: Rapid Data Fetching Via System-Software-Guided Hash-Based Speculative Address TranslationKonstantinos Kanellopoulos, Konstantinos Sgouras, Harsh Songara, Andreas Kosmas Kakolyris 等ISCA 2026
