ThyNVM Enabling Software-Transparent Crash Consistency In Persistent Memory Systems Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and.

Slides:



Advertisements
Similar presentations
Jaewoong Sim Alaa R. Alameldeen Zeshan Chishti Chris Wilkerson Hyesoon Kim MICRO-47 | December 2014.
Advertisements

Cache Performance 1 Computer Organization II © CS:APP & McQuain Cache Memory and Performance Many of the following slides are taken with.
Better I/O Through Byte-Addressable, Persistent Memory
Data Marshaling for Multi-Core Architectures M. Aater Suleman Onur Mutlu Jose A. Joao Khubaib Yale N. Patt.
Loose-Ordering Consistency for Persistent Memory
Probabilistic Design Methodology to Improve Run- time Stability and Performance of STT-RAM Caches Xiuyuan Bi (1), Zhenyu Sun (1), Hai Li (1) and Wenqing.
CSCI 3140 Module 8 – Database Recovery Theodore Chiasson Dalhousie University.
Tiered-Latency DRAM: A Low Latency and A Low Cost DRAM Architecture
MICRO-47, December 15, 2014 FIRM: Fair and HIgh-PerfoRmance Memory Control for Persistent Memory Systems Jishen Zhao Onur Mutlu Yuan Xie.
Chapter 11: File System Implementation
Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.
G Robert Grimm New York University Sprite LFS or Let’s Log Everything.
CSCE 212 Chapter 7 Memory Hierarchy Instructor: Jason D. Bakos.
File System Implementation
1 PATH: Page Access Tracking Hardware to Improve Memory Management Reza Azimi, Livio Soares, Michael Stumm, Tom Walsh, and Angela Demke Brown University.
1 Improving Hash Join Performance through Prefetching _________________________________________________By SHIMIN CHEN Intel Research Pittsburgh ANASTASSIA.
G Robert Grimm New York University Sprite LFS or Let’s Log Everything.
File System Implementation
1 Course Outline Processes & Threads CPU Scheduling Synchronization & Deadlock Memory Management File Systems & I/O Networks, Protection and Security.
A Case for Efficient Hardware/Software Cooperative Management of Storage and Memory Justin Meza *, Yixin Luo *, Samira Khan *†, Jishen Zhao §, Yuan Xie.
CERN openlab Open Day 10 June 2015 KL Yong Sergio Ruocco Data Center Technologies Division Speeding-up Large-Scale Storage with Non-Volatile Memory.
Flexible Reference-Counting-Based Hardware Acceleration for Garbage Collection José A. Joao * Onur Mutlu ‡ Yale N. Patt * * HPS Research Group University.
Highly Available ACID Memory Vijayshankar Raman. Introduction §Why ACID memory? l non-database apps: want updates to critical data to be atomic and persistent.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
NVSleep: Using Non-Volatile Memory to Enable Fast Sleep/Wakeup of Idle Cores Xiang Pan and Radu Teodorescu Computer Architecture Research Lab
CSE 451: Operating Systems Section 10 Project 3 wrap-up, final exam review.
Page Overlays An Enhanced Virtual Memory Framework to Enable Fine-grained Memory Management Vivek Seshadri Gennady Pekhimenko, Olatunji Ruwase, Onur Mutlu,
Journal-guided Resynchronization for Software RAID
Resolving Journaling of Journal Anomaly in Android I/O: Multi-Version B-tree with Lazy Split Wook-Hee Kim 1, Beomseok Nam 1, Dongil Park 2, Youjip Won.
The Vesta Parallel File System Peter F. Corbett Dror G. Feithlson.
1 File Systems: Consistency Issues. 2 File Systems: Consistency Issues File systems maintains many data structures  Free list/bit vector  Directories.
Log-structured Memory for DRAM-based Storage Stephen Rumble, John Ousterhout Center for Future Architectures Research Storage3.2: Architectures.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 12: File System Implementation File System Structure File System Implementation.
File System Implementation
Virtual Hierarchies to Support Server Consolidation Mike Marty Mark Hill University of Wisconsin-Madison ISCA 2007.
File Systems in Real-Time Embedded Applications March 6th Eric Julien Balancing Performance, Safety and Resource Usage in an Embedded File System 1.
Replicating Memory Behavior for Performance Skeletons Aditya Toomula PC-Doctor Inc. Reno, NV Jaspal Subhlok University of Houston Houston, TX By.
Precomputation- based Prefetching By James Schatz and Bashar Gharaibeh.
“NVM Duet: Unified Working Memory and Persistent Store Architecture”
Outline Cache writes DRAM configurations Performance Associative caches Multi-level caches.
Multilevel Caches Microprocessors are getting faster and including a small high speed cache on the same chip.
Gather-Scatter DRAM In-DRAM Address Translation to Improve the Spatial Locality of Non-unit Strided Accesses Vivek Seshadri Thomas Mullins, Amirali Boroumand,
PERSISTENT MEMORY NVM FAST BYTE ADDR NONVOLATILE.
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Presented by: Pierre LaBorde, Jordan Deveroux, Imran Ali, Yazen Ghannam, Tzu-Wei.
Simultaneous Multi-Layer Access Improving 3D-Stacked Memory Bandwidth at Low Cost Donghyuk Lee, Saugata Ghose, Gennady Pekhimenko, Samira Khan, Onur Mutlu.
Quantifying and Controlling Impact of Interference at Shared Caches and Main Memory Lavanya Subramanian, Vivek Seshadri, Arnab Ghosh, Samira Khan, Onur.
Transactional Flash V. Prabhakaran, T. L. Rodeheffer, L. Zhou (MSR, Silicon Valley), OSDI 2008 Shimin Chen Big Data Reading Group.
Taeho Kgil, Trevor Mudge Advanced Computer Architecture Laboratory The University of Michigan Ann Arbor, USA CASES’06.
NVWAL: Exploiting NVRAM in Write-Ahead Logging
Persistent Memory (PM)
Hathi: Durable Transactions for Memory using Flash
Failure-Atomic Slotted Paging for Persistent Memory
Cache Memory and Performance
ThyNVM Software-Transparent Crash Consistency for Persistent Memory
Write-hotness Aware Retention Management: Efficient Hot/Cold Data Partitioning for SSDs Saugata Ghose ▪ joint.
Better I/O Through Byte-Addressable, Persistent Memory
NOVA: A High-Performance, Fault-Tolerant File System for Non-Volatile Main Memories Andiry Xu, Lu Zhang, Amirsaman Memaripour, Akshatha Gangadharaiah,
Application Slowdown Model
Lecture 14 Virtual Memory and the Alpha Memory Hierarchy
Filesystems 2 Adapted from slides of Hank Levy
Milad Hashemi, Onur Mutlu, Yale N. Patt
José A. Joao* Onur Mutlu‡ Yale N. Patt*
File System Implementation
Computer Architecture Lecture 14a: Emerging Memory Technologies II
Janus Optimizing Memory and Storage Support for Non-Volatile Memory Systems Sihang Liu Korakit Seemakhupt, Gennady Pekhimenko, Aasheesh Kolli, and Samira.
Testing Persistent Memory Applications
Border Control: Sandboxing Accelerators
Presentation transcript:

ThyNVM Enabling Software-Transparent Crash Consistency In Persistent Memory Systems Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and Onur Mutlu Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and Onur Mutlu

TWO-LEVEL STORAGE MODEL CPU MEMORY STORAGE VOLATILE FAST BYTE ADDR NONVOLATILE SLOW BLOCK ADDR Ld/St FILE I/O DRAM 2

TWO-LEVEL STORAGE MODEL CPU MEMORY STORAGE VOLATILE FAST BYTE ADDR NONVOLATILE SLOW BLOCK ADDR Ld/St FILE I/O DRAM 3 PCM, STT-RAM NVM Non-volatile memories combine characteristics of memory and storage

PERSISTENT MEMORY CPU PERSISTENT MEMORY Provides an opportunity to manipulate persistent data directly Ld/St NVM 4

CHALLENGE: CRASH CONSISTENCY System crash can result in permanent data corruption in NVM 5 Persistent Memory System

CURRENT SOLUTIONS Explicit interfaces to manage consistency – NV-Heaps [ASPLOS’11], BPFS [SOSP’09], Mnemosyne [ASPLOS’11] AtomicBegin { Insert a new node; } AtomicEnd; Limits adoption of NVM Have to rewrite code with clear partition between volatile and non-volatile data Burden on the programmers 6

OUR APPROACH: ThyNVM 7 Goal: Software transparent consistency in persistent memory systems

ThyNVM: Summary 8 Checkpoints at multiple granularities to reduce both checkpointing latency and metadata overhead Overlaps checkpointing and execution to reduce checkpointing latency Adapts to DRAM and NVM characteristics Performs within 4.9% of an idealized DRAM with zero cost consistency A new hardware-based checkpointing mechanism A new hardware-based checkpointing mechanism

OUTLINE 9 Crash Consistency Problem Current Solutions ThyNVM Evaluation Conclusion

CRASH CONSISTENCY PROBLEM 10 Add a node to a linked list 1. Link to next 2. Link to prev System crash can result in inconsistent memory state

OUTLINE 11 Crash Consistency Problem Current Solutions ThyNVM Evaluation Conclusion

CURRENT SOLUTIONS 12 void hashtable_update(hashtable_t* ht, void *key, void *data) { list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) list_find(chain, &updatePair); pair->second = data; } Example Code update a node in a persistent hash table Example Code update a node in a persistent hash table Explicit interfaces to manage consistency – NV-Heaps [ASPLOS’11], BPFS [SOSP’09], Mnemosyne [ASPLOS’11]

CURRENT SOLUTIONS 13 void TMhashtable_update(TMARCGDECL hashtable_t* ht, void *key, void*data){ list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) TMLIST_FIND (chain, &updatePair); pair->second = data; }

CURRENT SOLUTIONS 14 void TMhashtable_update(TMARCGDECL hashtable_t* ht, void *key, void*data){ list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) TMLIST_FIND (chain, &updatePair); pair->second = data; } Manual declaration of persistent components

CURRENT SOLUTIONS 15 void TMhashtable_update(TMARCGDECL hashtable_t* ht, void *key, void*data){ list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) TMLIST_FIND (chain, &updatePair); pair->second = data; } Manual declaration of persistent components Need a new implementation

CURRENT SOLUTIONS 16 void TMhashtable_update(TMARCGDECL hashtable_t* ht, void *key, void*data){ list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) TMLIST_FIND (chain, &updatePair); pair->second = data; } Manual declaration of persistent components Need a new implementation Third party code can be inconsistent

CURRENT SOLUTIONS 17 void TMhashtable_update(TMARCGDECL hashtable_t* ht, void *key, void*data){ list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) TMLIST_FIND (chain, &updatePair); pair->second = data; } Manual declaration of persistent components Need a new implementation Third party code can be inconsistent Prohibited Operation Burden on the programmers

OUTLINE 18 Crash Consistency Problem Current Solutions ThyNVM Evaluation Conclusion

OUR GOAL 19 Software transparent consistency in persistent memory systems Execute legacy applications Reduce burden on programmers Enable easier integration of NVM

NO MODIFICATION IN THE CODE void hashtable_update(hashtable_t* ht, void *key, void *data) { list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) list_find(chain, &updatePair); pair->second = data; }

RUN THE EXACT SAME CODE… Persistent Memory System Software transparent memory crash consistency 21 void hashtable_update(hashtable_t* ht, void *key, void *data){ list_t* chain = get_chain(ht, key); pair_t* pair; pair_t updatePair; updatePair.first = key; pair = (pair_t*) list_find(chain, &updatePair); pair->second = data; }

ThyNVM APPROACH Running Epoch 0 Epoch 1 time Checkpointing Running Checkpointing 22 Periodic checkpointing of data managed by hardware Periodic checkpointing of data managed by hardware Transparent to application and system

CHECKPOINTING OVERHEAD Running Epoch 0 Epoch 1 time Checkpointing Running Checkpointing Metadata overhead Working location Checkpoint location X X X’ Y Y Y’ Metadata Table 2. Checkpointing latency

1. METADATA AND CHECKPOINTING GRANULARITY PAGE CACHE BLOCK One Entry Per Page Small Metadata One Entry Per Page Small Metadata One Entry Per Block Huge Metadata One Entry Per Block Huge Metadata 24 PAGE GRANULARITY BLOCK GRANULARITY Working location Checkpoint location X X X’ Y Y Y’

W 2. LATENCY AND LOCATION 25 DRAM-BASED WRITEBACK Long latency of writing back data to NVM DRAM NVM Working location Checkpoint location X X X’ 1. Writeback data from DRAM 2. Update the metadata table

2. LATENCY AND LOCATION 26 NVM-BASED REMAPPING Short latency in NVM-based remapping DRAM NVM Working location Checkpoint location Y Y X X 1.No copying of data 1.No copying of data 2. Update the metadata table 3. Write in a new location 3. Write in a new location

ThyNVM KEY MECHANISMS Checkpointing granularity Small granularity: large metadata Large granularity: small metadata Latency and location Writeback from DRAM: long latency Remap in NVM: short latency Checkpointing granularity Small granularity: large metadata Large granularity: small metadata Latency and location Writeback from DRAM: long latency Remap in NVM: short latency Based on these we propose two key mechanisms 1. Dual granularity checkpointing 2. Overlap of execution and checkpointing 1. Dual granularity checkpointing 2. Overlap of execution and checkpointing

DRAM NVM 1. DUAL GRANULARITY CHECKPOINTING High write locality pages in DRAM, low write locality pages in NVM Page Writeback in DRAM Page Writeback in DRAM Block Remapping in NVM Block Remapping in NVM 28 GOOD FOR STREAMING WRITES GOOD FOR STREAMING WRITES GOOD FOR RANDOM WRITES GOOD FOR RANDOM WRITES

Running time Checkpointing Running Checkpointing time Epoch 0 Epoch 1 Epoch 2 Epoch 0 Epoch 1 Running Checkpointing Running Checkpointing Running Checkpointing Epoch 0 Epoch 1 2. OVERLAPPING CHECKOINTING AND EXECUTION Hides the long latency of Page Writeback

OUTLINE 30 Crash Consistency Problem Current Solutions ThyNVM Evaluation Conclusion

METHODOLOGY 31 Cycle accurate x86 simulator Gem5 Comparison Points: Ideal DRAM: DRAM-based, no cost for consistency – Lowest latency system Ideal NVM: NVM-based, no cost for consistency – NVM has higher latency than DRAM Journaling: Hybrid, commit dirty cache blocks – Leverages DRAM to buffer dirty blocks Shadow Paging: Hybrid, copy-on-write pages – Leverages DRAM to buffer dirty pages

ADAPTIVITY TO ACCESS PATTERN 32 RANDOM SEQUENTIAL ThyNVM adapts to both access patterns Journaling is better for Random and Shadow paging is better for Sequential Journaling is better for Random and Shadow paging is better for Sequential BETTERBETTER BETTERBETTER

OVERLAPPING CHECKPOINTING AND EXECUTION 33 RANDOM SEQUENTIAL Stalls the application for a negligible time ThyNVM spends only 2.4%/5.5% of the execution time on checkpointing Can spend 35-45% of the execution on checkpointing Can spend 35-45% of the execution on checkpointing BETTERBETTER BETTERBETTER

PERFORMANCE OF LEGACY CODE 34 Provides consistency without significant performance overhead Within -4.9%/+2.7% of an idealized DRAM/NVM system Within -4.9%/+2.7% of an idealized DRAM/NVM system

OUTLINE 35 Crash Consistency Problem Current Solutions ThyNVM Evaluation Conclusion

ThyNVM 36 Checkpoints at multiple granularities to minimize both latency and metadata Overlaps checkpointing and execution Adapts to DRAM and NVM characteristics Can enable widespread adoption of persistent memory A new hardware-based checkpointing mechanism, with no programming effort A new hardware-based checkpointing mechanism, with no programming effort

ThyNVM Enabling Software-transparent Crash Consistency In Persistent Memory Systems Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and Onur Mutlu Jinglei Ren, Jishen Zhao, Samira Khan, Jongmoo Choi, Yongwei Wu, and Onur Mutlu Available at Available at