Copying values v.s. references for memory page compaction in virtualized systems

Naoki Aoyama, Hiroshi Yamada · Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing · 2022

Copying values or references is historically studied for managing memory objects, especially on distributed systems. In this paper, we are exploring a new field of copying values v.s. references: memory page compaction on virtualized systems. Memory page compaction moves target physical pages to a contiguous memory region at the operating system kernel level to create huge pages. Memory virtualization gives us an opportunity to perform memory page compaction by copying the references of the physical pages. Instead of copying pages' values, we can move guest physical pages by changing maps of guest-physical to machine-physical pages. The goal of this paper is a quantitative comparison between value- and reference-based memory page compaction. To do so, we develop a software mechanism that achieves memory page compaction by appropriately updating the references of guest-physical pages. We prototyped our software mechanism on Linux 4.19.29 and experimental results show that the page compaction of our prototype is up to 78% faster.

Read the paper · More papers on PaperTik