Comprehensive Framework for Virtual Memory Research - Virtuoso

Slide Note
Embed
Share

Virtuoso is an open-source, modular simulation framework designed for virtual memory research. The framework aims to address performance overheads caused by virtual memory by proposing solutions like improving the TLB subsystem, employing large pages, leveraging contiguity, rethinking page tables, reducing page fault latency, and employing better address mappings. Effective evaluation of virtual memory techniques is crucial and requires flexibility in modeling various schemes and considering interactions between VM components. The framework also focuses on evaluating different VM schemes based on comparison points such as TLB prefetching vs. virtual caching and transparent huge pages. Specific examples highlight the impact of VM techniques on the system, including memory allocator influence on TLB performance and main memory interference due to new page table implementations.


Uploaded on Oct 10, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. Virtuoso An Open-Source, Comprehensive and Modular Simulation Framework for Virtual Memory Research https://github.com/CMU-SAFARI/Virtuoso Konstantinos Kanellopoulos Konstantinos Sgouras Onur Mutlu

  2. Improving Virtual Memory Virtual memory causes high performance overheads Various academic and industrial solutions were proposed to reduce these overheads 2

  3. Virtual Memory (VM) Solutions Improving the TLB Subsystem Employing Large Pages Leveraging Contiguity Rethinking Page Tables Reducing Page Fault Latency Employing Better Address Mappings 3

  4. Evaluating VM Solutions Effectively evaluating VM techniques is crucial for progress in the domain 4

  5. Evaluation Requirements Flexibility to model many VM schemes Interactions between VM components Impact of VM techniques on system 5

  6. Evaluation Requirements Flexibility to model many VM schemes 6

  7. Evaluating Various VM Schemes Set of comparison points New idea on VM TLB Prefetching vs. Virtual Caching Transparent Huge Pages 7

  8. Evaluation Requirements Interactions between VM components 8

  9. Example: TLB and Memory Allocator Memory Allocator TLB TLB performance heavily depends on the memory allocator (e.g., # of 2MB pages) 9

  10. Evaluation Requirements Impact of VM techniques on system 10

  11. Example: Main Memory Interference New Page Table Low Latency High Interference 11

  12. Lack of Comprehensive Simulators Ramulator gem5 ZSim Sniper ChampSim Modern simulators lack the capability to model a wide range of state-of-the-art VM techniques 12

  13. Our Approach: Virtuoso Virtuoso TLBs Page Table Protection Metadata Memory Allocator Memory Subsystem Out-of-Order Core Interconnects Example: Sniper Multicore Simulator1 [1] Carlson et al. An Evaluation of High-Level Mechanistic Core Models TACO 2014 13

  14. Virtuoso: Key Benefits Comprehensive Modular Open-Source https://github.com/CMU-SAFARI/Virtuoso 14

  15. Virtuoso: Key Benefits Comprehensive 15

  16. Virtuoso: Tool Set 6 TLB Schemes 4 Page Table Designs MMU Nesting for Virtualized Environments Intermediate Address Space Schemes 2 Metadata Schemes for Protection 2 Contiguity- aware Schemes https://github.com/CMU-SAFARI/Virtuoso 16

  17. VirtuOS: Mini-OS for Memory Management What about the OS? Challenge: We need to both simulate and emulate it 17

  18. VirtuOS: Mini-OS for Memory Management Example Routine: Page Fault Handler Functional Events Allocate Page Microarchitectural Events addi load Promote Page Virtuoso Emulate Simulate 18

  19. Virtuoso: Key Benefits Modular 19

  20. Virtuoso: Modularity Virtuoso Virtuoso Virtuoso Sniper ZSim gem5 20

  21. Virtuoso: Key Benefits Open-Source https://github.com/CMU-SAFARI/Virtuoso 21

  22. Virtuoso is Open Source https://github.com/CMU-SAFARI/Virtuoso 22

  23. Virtuoso Example Use Cases Comparing MMU Designs Effect of THP on PTW Latency 23

  24. Virtuoso Example Use Cases Comparing MMU Designs Effect of THP on PTW Latency 24

  25. Comparing MMU Designs 1.2 Speedup over Radix 1.1 1.0 0.9 Effective comparison of different MMU designs 25

  26. Virtuoso Example Use Cases Comparing MMU Designs Effect of THP on PTW Latency 26

  27. Interplay between PTW and THP 1.2 PTW Performance 1.0 0.8 0.6 0.4 0.2 0.0 0 1 2 3 4 5 6 7 8 9 10 Low Fragmentation -> High Fragmentation Effective evaluation of THP & PTW interactions 27

  28. Conclusion Virtuoso TLBs Page Table Contiguity Techniques Protection Metadata VirtuOS Virtuoso is a good start for establishing a common ground for VM research https://github.com/CMU-SAFARI/Virtuoso

  29. Virtuoso An Open-Source, Comprehensive and Modular Simulation Framework for Virtual Memory Research https://github.com/CMU-SAFARI/Virtuoso Konstantinos Kanellopoulos Konstantinos Sgouras Onur Mutlu

Related