CBufs: efficient, system-wide memory management and sharing
Abstract
Modern systems are composed of many different protection domains separating privilege levels, subsystems, users, clients, and software of differing levels of assurance. System-wide memory management must consider not only allocation to single processes, but also efficient sharing of data across protection domains, and the allocation of memory based on the performance of applications that span multiple protection domains. This paper introduces the CBuf system for the global management of virtual and physical memory, including zero-copy sharing between protection domains. We present the design and implementation of both garbage collection techniques to enable efficient sharing, and policies that balance memory between protection domains specifically to satisfy system and application constraints such as quality of service. We show that a CBuf-enabled webserver achieves over a factor of 2.5 throughput speedup while using less processing time than Apache on Linux, and that the system can intentionally control system throughput through intelligent memory allocation.
Document Details
- Document Type
- Pub Defense Publication
- Publication Date
- Jun 14, 2016
- Source ID
- 10.1145/3241624.2926703
Entities
People
- Gabriel Parmer
- Gedare Bloom
- Teo Georgiev
- Yuxin Ren
Organizations
- George Washington University
- Howard University
- National Science Foundation
- Office of Naval Research