CortenMM: Efficient Memory Management with Strong Correctness Guarantees

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.

Publication
In CM SIGOPS 31st Symposium on Operating Systems Principles (SOSP ‘25)
Junyang Zhang
Junyang Zhang
Ph.D Student
Xiangcan Xu
Xiangcan Xu
Ph.D Student
Yonghao Zou
Yonghao Zou
Ph.D Student
Zhe Tang
Zhe Tang
Ph.D Student
Kang Hu
Kang Hu
Ph.D Student
Yingwei Luo
Yingwei Luo
Professor
Xiaolin Wang
Xiaolin Wang
Professor
Zhenlin Wang
Zhenlin Wang
Professor
Diyu Zhou
Diyu Zhou
Professor