mental2008 / awesome-papers

Here are my personal paper reading notes (including cloud computing, resource management, systems, machine learning, deep learning, and other interesting stuffs).
https://paper.lingyunyang.com/
MIT License
38 stars 2 forks source link

SOSP '21 | HeMem: Scalable Tiered Memory Management for Big Data Applications and Real NVM #66

Closed mental2008 closed 2 years ago

mental2008 commented 2 years ago

Presented in SOSP '21. [ Paper | Video | Code ]

Authors: Amanda Raybuck, Tim Stamler, Wei Zhang, Mattan Erez, Simon Peter The University of Texas at Austin, Microsoft

mental2008 commented 2 years ago

Some concepts

image

Existing problems

  1. Hardware tiered memory management systems (i.e., Application <=> Hardware Tiered Memory directly includes DRAM and NVM)
    • Example: Intel Optane DC memory mode
    • Adv.
      • No OS support needed
      • Low overhead
    • Disadv.
      • No visibility into applications
      • Limited to simple management techniques
  2. Existing software-based memory management systems (i.e., Application <=> OS/Library Tiered Memory => DRAM or NVM)
    • Example: HeteroOS, Nimble Page Management
    • Adv.
      • Benefit from the access patterns
      • Support complex policies
    • Disadv.
      • Only evaulate on emulated NVM , current methods cannot scale due to page table overheads (so there indicates this work will adopt another metric?)
      • No support for asymmetric read/write bandwidth (but why these previous works don't consider this?)
      • Limited flexibility (it is so subjective)

Question: How to maximize the performance of big data applications on real NVM?

Key motivation

Main Contributions

Presented HeMem, an OS tiered memory management system that dynamically manages tiered memory without the CPU overhead of page access bit tracking, associated TLB shootdowns, and memory copies, but with advanced policy support for various memory access and allocation patterns, as well as performance isolation.

The design of HeMem is as follows:

image

Implementation

HeMem is implemented as a user-level library on top of Linux version 5.1.0, with two userfaultfd patches applied.

Related work