Designing a Lock-free Virtual Memory Management System

  • Jesper Puge Nielsen, Maxwell Walter, and Sven Karlsson. Designing a Lock-free Virtual Memory Management System. In Proceedings of the Swedish Workshop on Multicore Computing (MCC 2015), Copenhagen, DK, 2015.
    [BibTeX] [Abstract]

    Operating system developers must turn to new techniques to maintain scalability as the number of cores controlled by the operating system grows. Traditional lock based system design has proven to be easy to implement, but their performance fails to scale with the number of cores. In this paper we present the design of a virtual memory management system for a multi-core operating system. The system is designed without the use of locks. Instead, atomic operations are used to synchronize between threads. We discuss the challenges of designing a lock-free virtual memory management system, and present the solutions we have chosen. These includes a flat virtual address space design supporting lock-free concurrent modifications, and a new algorithm for sharing physical page frames between processes, without using locks to synchronize new physical page frame mappings and concurrent reclamation of physical page frames. We have implemented our design for the AMD64 architecture and evaluated it by comparing it to a lock based implementation.

    @InProceedings{2015-11-NIELSEN,
    title = {{Designing a Lock-free Virtual Memory Management System}},
    author = {Jesper Puge Nielsen and Maxwell Walter and Sven Karlsson},
    booktitle = {{Proceedings of the Swedish Workshop on Multicore Computing (MCC 2015)}},
    address = {Copenhagen, DK},
    date = {2015-11-25/2015-11-26},
    year = {2015},
    abstract = {Operating system developers must turn to new techniques to maintain scalability as the number of cores controlled by the operating system grows. Traditional lock based system design has proven to be easy to implement, but their performance fails to scale with the number of cores.
    In this paper we present the design of a virtual memory management system for a multi-core operating system. The system is designed without the use of locks. Instead, atomic operations are used to synchronize between threads. We discuss the challenges of designing a lock-free virtual memory management system, and present the solutions we have chosen. These includes a flat virtual address space design supporting lock-free concurrent modifications, and a new algorithm for sharing physical page frames between processes, without using locks to synchronize new physical page frame mappings and concurrent reclamation of physical page frames. We have implemented our design for the AMD64 architecture and evaluated it by comparing it to a lock based implementation.}
    }

This entry was posted in Dissemination. Bookmark the permalink.

Comments are closed.