Conference Paper
SOSP 25
CM SIGOPS 31st Symposium on Operating Systems Principles (SOSP 25)

CortenMM: Efficient Memory Management with Strong Correctness Guarantees

Junyang Zhang Xiangcan Xu Yonghao Zou Zhe Tang Xinyi Wan Kang Hu Siyuan Wang Wenbo Xu Di Wang Hao Chen Lin Huang Shoumeng Yan Yuval Tamir Yingwei Luo Xiaolin Wang Huashan Yu Zhenlin Wang Hongliang Tian Diyu Zhou

Abstract

Modern memory management systems suffer from poor performance and subtle concurrency bugs, slowing down applications while introducing security vulnerabilities. We observe that both issues stem from the conventional design omemory management systems with two levels of abstraction: a software-level abstraction (e.g., VMA trees in Linux) and a hardware-level abstraction (typically, page tables). This design increases portability but requires correctly and efficiently synchronizing two drastically different and complex data structures, which is generally challenging. We present CortenMM, a memory management system with a clean-slate design to achieve both high performance and synchronization correctness. Our key insight is that most OSes no longer need the software-level abstraction, since mainstream ISAs use nearly identical hardware MMU formats. Therefore, departing from prior designs, CortenMM eliminates the software-level abstraction to achieve sweeping simplicity. Exploiting this simplicity, CortenMM proposes a transactional interface with scalable locking protocols to program the MMU, achieving high performance by avoiding the extra contention in the software-level abstraction. The one-level design further enables us to formally verify the correctness of concurrent code operating on the MMU (correctness of basic operations and locking protocols), thereby offering strong correctness guarantees. Our evaluation shows that the formally verified CortenMM outperforms Linux by 1.2x to 26x on real-world applications.

BibTeX Citation

Loading...