Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 28

A SURVEY OF OPERATING

SYSTEM SUPPORT FOR


PERSISTENT MEMORY BY
MIAO CAI AND HAO HUANG
A Summarized Presentation
By
Abdulrahman Suleman Ahmed
Student No.: PG5141420
Persistent memory technologies provide both great opportunities and challenges for operating
systems. A large number of solutions have been proposed. In this study, we examine how to build
the operating system on persistent memory from three perspectives: system abstraction, crash
consistency, and system reliability.

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.

THREE STEPS OF THE RESEARCH


BACKGROUND
In this section, The researchers explore five mature persistent memory technologies from various
aspects, including physical mechanism, device characteristics, and potential usage in the system.

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.

PERSISTENT MEMORY CATEGORY


TABLE 1
TECHNICAL METRICS OF PERSISTENT
MEMORIES
 Non-volatility.  Media fault model:
 Byte-addressability.  Soft Error.
 Limited write endurance.
 Write Noise.
 Resistance Drift.
 Asymmetric R/W performance.
 Bit Error.
 Large capacity.  Hard Error.
 cell wear error.
 Requires Error detection and Correction.

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.

BUILDING OPERATING SYSTEM UPON PM


Applications may access the persistent memory through diversified system abstractions, such as a
conventional file system or a memory manager. The researchers provide an introduction to each
abstraction, present the distribution of these system abstractions, and discuss their pros and cons.

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.

4 SHORTENING THE STORAGE STACK


 Removing redundant layers  File system reliability
 I/O model  File system architecture
 Data access granularity  FS for heterogeneous storage system
 Metadata performance
 File data access
 Memory-mapped file model
 File system consistency

HOW TO SHORTEN STORAGE STACK


WITH PERSISTENT MEMORY
 Persistence support
 Unified vs. separate address space
 Data placement
 Capacity scaling
 Fault tolerance

5 TOPICS ON SCALING THE MEMORY


MANAGER FOR PERSISTENT MEMORY
BYPASSING THE OS KERNEL
In this section, the researchers describe these OS-bypassing techniques firstly. Then discussed the data
consistency problem in the PTM libraries. Finally, they introduce several libraries with novel features.

BYPASSING THE OS KERNEL


 Mnemosyne and NV-heaps are two pioneers of OS bypassing libraries.
 Mnemosyne extends the virtual memory manager to reserve some virtual space for persistent
memory.
 Mnemosyne reuses the memory allocator in the kernel to allocate pages for the persistent regions.
 In NV heaps system, the persistent heap is treated as a normal file.
 NV-heaps leverages the ramdisk driver and Ext2 file system to map this heap file into the process
address space.
 HEAPO is a heap-based persistent object-store system.
 Other user-space libraries require the DAX feature provided by Ext4 or XFS file system to bypass
the operating system kernel.

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.

DATA CONSISTENCY PROBLEM IN THE


PTM LIBRARIES
 The persistent transactional memory system offers easy-to-use interfaces and a strong data
consistency guarantee for applications.
 Besides, other persistent programming libraries provide diversified functions.
 For instance, Pangolin provides fault-tolerance support for Intel's persistent memory programming
library (i.e., PMDK).
 Similarly, NVthreads [101] adds persistence support to the multithreaded applications.
 Different from Atlas [100], NVthreads provides a more coarse-grained level of data tracking, i.e.,
page-level.

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

You might also like