The Cost of Software-Based Memory Management Without Virtual Memory
Drew Zagieboylo, G. Edward Suh, Andrew C. Myers

TL;DR
This paper investigates the performance and energy implications of building applications and operating systems without hardware virtual memory support, finding surprisingly small overheads and potential performance improvements.
Contribution
It demonstrates that removing hardware address translation can reduce complexity and energy use with minimal performance costs, challenging traditional reliance on virtual memory.
Findings
Overhead of removing address translation is small for real programs.
Performance can improve when address translation is avoided.
Reducing reliance on virtual memory decreases complexity and energy consumption.
Abstract
Virtual memory has been a standard hardware feature for more than three decades. At the price of increased hardware complexity, it has simplified software and promised strong isolation among colocated processes. In modern computing systems, however, the costs of virtual memory have increased significantly. With large memory workloads, virtualized environments, data center computing, and chips with multiple DMA devices, virtual memory can degrade performance and increase power usage. We therefore explore the implications of building applications and operating systems without relying on hardware support for address translation. Primarily, we investigate the implications of removing the abstraction of large contiguous memory segments. Our experiments show that the overhead to remove this reliance is surprisingly small for real programs. We expect this small overhead to be worth the benefit…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSecurity and Verification in Computing · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
