Mitosis: Transparently Self-Replicating Page-Tables for Large-Memory Machines

Authors

Reto Achermann, Ashish Panwar, Abhishek Bhattacharjee, Timothy Roscoe and Jayneel Gandhi

Venue

Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'20)

Links

[ .doi ] [ .pdf ] [ .bib ]

Abstract

Multi-socket machines with 1-100 TBs of physical memory are becoming prevalent. Applications running on such multi-socket machines suffer non-uniform bandwidth and latency when accessing physical memory. Decades of research have focused on data allocation and placement policies in NUMA settings, but there have been no studies on the question of how to place page-tables amongst sockets. We make the case for explicit page-table allocation policies and show that page-table placement is becoming crucial to overall performance. We propose Mitosis to mitigate NUMA effects on page-table walks by transparently replicating and migrating page-tables across sockets without application changes. This reduces the frequency of accesses to remote NUMA nodes when performing page-table walks. Mitosis uses two components: (i) a mechanism to efficiently enable and (ii) policies to effectively control -- page-table replication and migration. We implement Mitosis in Linux and evaluate its benefits on real hardware. Mitosis improves performance for large-scale multi-socket workloads by up to 1.34x by replicating page-tables across sockets. Moreover, it improves performance by up to 3.24x in cases when the OS migrates a process across sockets by enabling cross-socket page-table migration.

Bibtex

@inproceedings{Achermann:2020:MTS,
 author = {Achermann, Reto and Panwar, Ashish and Bhattacharjee, Abhishek and Roscoe, Timothy and Gandhi, Jayneel},
 booktitle = {Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems},
 doi = {10.1145/3373376.3378468},
 id = {Achermann:2020:MTS},
 isbn = {9781450371025},
 location = {Lausanne, Switzerland},
 pages = {283–300},
 publisher = {Association for Computing Machinery},
 series = {ASPLOS'20},
 title = {Mitosis: Transparently Self-Replicating Page-Tables for Large-Memory Machines},
 url = {https://doi.org/10.1145/3373376.3378468},
 year = {2020}
}

Contact

The University of British Columbia
Department of Computer Science
2366 Main Mall
ICICS Building, Office 341
Vancouver, BC V6T 1Z4
Canada

achreto [at] cs.ubc.ca
+1 604 827 2446