Mitosis: A High Performance, Scalable Virtual Memory System
Cox, Alan; Navarro, Juan
DateMay 8, 2001
Many modern applications use virtual memory APIs introduced in the 1980's in unforeseen ways, stressing the underlying data structures and exposing the old designs to a variety of performance and scalability problems. The two-decade-old data structures show their age when, for instance, a Web server maps thousands of files or a garbage collector plays memory protection tricks. Observing how today's applications use the VM facilities, we came up with a set of requirements that any VM implementation should follow in order to efficiently support modern workloads. Current VM systems completely neglect one of these requirements, and only partially fulfill a second one. In this paper we propose a design that meet all of the requirements, and present preliminary performance results. We also describe the future second stage of this project: the use of persistent data structures, that is, structures that are shared on a copy-on-write way. Current VM systems use copy-on-write techniques on physical memory to reduce the overhead of forking, but the semantics of fork suggest amore aggressive approach: use copy-on-write to share the data structures as well. Persistence presents a number of advantages and solves in a uniform way additional problems that current systems have solved only partially and in an ad-hoc manner. We describe how we plan to extend our implementation to include persistence.