Professional Documents
Culture Documents
A Survey of Operating System Support For Persistent Memory
A Survey of Operating System Support For Persistent Memory
ABSTRACT SUMMARY
Computer architecture faces severe challenges with advent of big-data, HPC, and cloud computing.
Persistent memory provides differential device characteristics, i.e., higher density, lower energy
consumption, larger capacity, non-volatility, and unbalanced read/write latency.
Architecting persistent memory into hardware system is flexible.
Researchers give a comprehensive study on the research works across the OS
INTRODUCTION:
Sept 1:
Researchers discuss the OS design from the perspectives of system abstraction, crash consistency, and
system reliability.
Step 2:
The researchers elaborate on the OS design and implementation for persistent memory with three
important system components: storage stack, memory manager, and OS-bypassing library.
Step 3:
The researchers revisit the current operating system and process execution model. Then, based on the
whole-system persistence [22] and memory-centric architecture, the researchers propose a system
execution model that eliminates power outage impact from the system execution state.
BACKGROUND:
Persistent memory technologies mainly include phase-change memory (PCM), Intel and Micron's
3D XPoint, magnetic RAM (MRAM), resistive RAM (ReRAM), and ferroelectric RAM (FeRAM).
Table 1 presents the technical metrics of these persistent memory technologies, such as cell size,
read/write latency, write endurance, and power consumption.
INTRINSIC CHARACTERISTICS OF
PERSISTENT MEMORY
BUILDING OPERATING SYSTEM UPON PM
In this section, the researchers discuss the operating system design for persistent memory from three
aspects: system abstraction, crash consistency, and system reliability.
SYSTEM ABSTRACTION:
1. File system (42%):
The application could access the persistent memory using traditional POSIX file I/O interfaces (e.g.,
read, write) provided by persistent memory file systems (PMFS)
SYSTEM ABSTRACTION:
2. Memory manager (28%):
The memory manager uses the page as the unit for resource allocation, reclamation, and protection.
SYSTEM ABSTRACTION:
3. PM Manager (30%):
The PM Manager is a kernel module that abstracts the persistent memory in an exokernel fashion. The
PM Manager only provides some basic functionalities, such as memory resource multiplexing and
system protection, for upper-layer applications. Then, the PM Manager maps the persistent memory
into the application's address space. It allows the applications to access the persisted memory without
any OS kernel intervention during their execution.
SYSTEM ABSTRACTION:
The current processor can only ensure atomicity of data updates with small size, e.g., file system
metadata. If the system modifies an amount of data, it needs to use other crash consistency techniques
(e.g. journaling, shadow paging, log-structuring). In the persistent memory system, this boundary is not
so clear. This architecture difference causes extra costs when the system applies these crash-
consistency techniques in a database or other data storage medium.
CRASH CONSISTENCY
The operating system is vulnerable to hardware errors and software defects. Existing OS components,
like file systems, incorporate many techniques to handle data corruption.
SYSTEM RELIABILITY
4 SHORTENING THE STORAGE STACK
In this section, the researchers demonstrate how to shorten the storage stack with persistent memory.
OS-BYPASSING TECHNIQUE
The persistent transactional memory (PTM) system adds data durability support for conventional
transactional memory system.
The transaction provides ACID guarantees for data updates against the system crash.
INTRODUCTION OF SEVERAL
LIBRARIES WITH NOVEL FEATURES
CONCLUSION
The promising persistent memory technologies have attracted significant attention from the system
researchers.
In this paper, the researchers reveal the research efforts on operating system support for persistent
memory.
Then, they take a systematical approach to conduct a comprehensive and in-depth survey, with an
analysis of system issues and solutions across the whole operating system stack.
Finally, they also envision the future operating system architecture.
And they hope technical insights derived from this study could inspire the future operating system
developers and researchers.
CONCLUSION