Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. EPFL thesis
  4. Rebooting Virtual Memory with Midgard
 
doctoral thesis

Rebooting Virtual Memory with Midgard

Gupta, Siddharth  
2023

Virtual Memory (VM) is a critical programming abstraction that is widely used in various modern computing platforms. With the rise of datacenter computing and birth of planet-scale online services, the semantic and capacity requirements from memory have evolved dramatically and pose various challenges for VM. The traditional VM implementations cannot scale with the increasing memory capacity present in modern datacenter servers, and the adoption of heterogeneous memory hierarchies stresses the synchronization mechanisms in VM implementations.

In this thesis, we aim to holistically reinvent the VM implementation using OS, architecture, and microarchitecture co-design, which can help towards solving the above challenges. Our redesign of VM is based on the following key insights: (i) we can use the existing abstraction of Virtual Memory Areas (VMAs) to optimize address translation while providing an easy adoption path for the OS developers and ensuring that the application programming model does not require any changes; (ii) we can divide the traditional address translation into a lightweight and heavyweight step where the lightweight step is required for all memory accesses and thus mandates specialized microarchitectural support, while the heavyweight step is invoked infrequently and can be supported using the existing resources present in the cache hierarchy without requiring significant additional silicon; and (iii) instead of encapsulating complicated functionalities completely in the microarchitecture, we can partly offload it to the OS using a simple OS + microarchitecture co-design, while helping the OS developers by providing formal specifications to ensure correctness.

We realize the above insights by introducing an intermediate address space called Midgard between the virtual and physical address spaces. The Midgard address space is used to address the cache hierarchy and coherence domain, while ensuring that the physical address space is only required when accessing the physical memory device. Introduction of the Midgard address space enables lean VMA-based virtual-to-Midgard address translation that provides fast access control and access to cache hierarchy and requires little microarchitectural support. The page-based Midgard-to-physical address translation is only required for capacity management when accessing physical memory, and can be performed using the resources already present in the cache hierarchy instead of requiring specialized microarchitectural support. To handle the exceptions generated by the delayed Midgard-to-physical address translation without requiring significant silicon resources, we introduce a novel OS + microarchitecture co-design to partly offload complicated microarchitectural functionality to be easily performed in the OS, and provide formalism to help the OS developers to ensure correct behavior. We evaluate the address translation in Midgard using full-system trace simulation and show that Midgard can eliminate address translation overhead by using incoming large-capacity cache hierarchies. We also build a full-system RISC-V prototype with Linux to model exception handling behavior for Midgard, and show that the resulting design is both performant and correct. Overall, Midgard reinvents the traditional VM implementation and allows it to scale with the increasing memory capacity requirements in modern datacenter servers.

  • Files
  • Details
  • Metrics
Type
doctoral thesis
DOI
10.5075/epfl-thesis-8864
Author(s)
Gupta, Siddharth  
Advisors
Falsafi, Babak  
•
Bhattacharjee, Abhishek  
Jury

Prof. Christoph Koch (président) ; Prof. Babak Falsafi, Abhishek Bhattacharjee (directeurs) ; Prof. Sanidhya Kashyap, Dr Gabriel Loh, Dr Jayneel Gandhi (rapporteurs)

Date Issued

2023

Publisher

EPFL

Publisher place

Lausanne

Public defense year

2023-08-22

Thesis number

8864

Total of pages

178

Subjects

datacenters

•

virtual memory

•

address translation

•

memory hierarchies

•

exception handling

EPFL units
PARSA  
Faculty
IC  
School
IINFCOM  
Doctoral School
EDIC  
Available on Infoscience
August 21, 2023
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/199992
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés