MostVM: Leveraging a user-land page table to efficiently use modern memory
Team work: Jana Toljaga presented "MostVM: Leveraging a user-land page table to efficiently use modern memory" at 1D19 the 29/9/2023 at 10h30.
Over the last few decades, memory technology has undergone significant evolution. Therefore, the complexity and diversity of memory architectures now play an important role in further improving modern data centers. Present trends are going towards creating memory systems that are highly heterogeneous, connecting different types of memory from different devices, and producing non-uniform access effects as a result.
Considerable efforts in the field of literature have been dedicated to the development of libraries and environments designed to make optimal use of available memory resources. Existing solutions typically fall into one of two categories: either they offer memory management at the process level or involve kernel modifications. First solutions often lack transparency or efficiency, as they can not directly access hardware resources. On the other hand, altering kernel code is generally discouraged due to its error-prone nature and potential to compromise system stability. Furthermore, the operating system can provide only general features, avoiding application-specific optimizations, which are usually insufficient to use the potential of modern memory.
We propose AutoVM, a solution able to take the best of both worlds, by exposing a page table directly in userland. AutoVM uses the idea proposed in Dune to create a process-like abstraction capable of accessing a page table, by utilizing existing virtualization hardware. We present the implementation of our work and demonstrate its practical application by integrating a persistent memory library within our virtual machine.