FlashTier: A Lightweight, Consistent and Durable Storage Cache

Slides:



Advertisements
Similar presentations
Background Virtual memory – separation of user logical memory from physical memory. Only part of the program needs to be in memory for execution. Logical.
Advertisements

Mendel Rosenblum and John K. Ousterhout Presented by Travis Bale 1.
Myoungsoo Jung (UT Dallas) Mahmut Kandemir (PSU)
SYSTOR2010, Haifa Israel Optimization of LFS with Slack Space Recycling and Lazy Indirect Block Update Yongseok Oh The 3rd Annual Haifa Experimental Systems.
FlashVM: Virtual Memory Management on Flash Mohit Saxena and Michael M. Swift Introduction Flash storage is the largest change to memory and storage systems.
Recovery 10/18/05. Implementing atomicity Note, when a transaction commits, the portion of the system implementing durability ensures the transaction’s.
G Robert Grimm New York University Sprite LFS or Let’s Log Everything.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
G Robert Grimm New York University Sprite LFS or Let’s Log Everything.
1  1998 Morgan Kaufmann Publishers Chapter Seven Large and Fast: Exploiting Memory Hierarchy (Part II)
An Intelligent Cache System with Hardware Prefetching for High Performance Jung-Hoon Lee; Seh-woong Jeong; Shin-Dug Kim; Weems, C.C. IEEE Transactions.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
A Lightweight Transactional Design in Flash-based SSDs to Support Flexible Transactions Youyou Lu 1, Jiwu Shu 1, Jia Guo 1, Shuai Li 1, Onur Mutlu 2 LightTx:
Origianal Work Of Hyojun Kim and Seongjun Ahn
Chapter 21 Virtual Memoey: Policies Chien-Chung Shen CIS, UD
Log-structured File System Sriram Govindan
The Design and Implementation of Log-Structure File System M. Rosenblum and J. Ousterhout.
26-Oct-15CSE 542: Operating Systems1 File system trace papers The Design and Implementation of a Log- Structured File System. M. Rosenblum, and J.K. Ousterhout.
DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings A. gupta, Y. Kim, B. Urgaonkar, Penn State ASPLOS.
Embedded System Lab. Jung Young Jin The Design and Implementation of a Log-Structured File System D. Ma, J. Feng, and G. Li. LazyFTL:
Chapter 4 Memory Management Virtual Memory.
CS333 Intro to Operating Systems Jonathan Walpole.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
A Lightweight Transactional Design in Flash-based SSDs to Support Flexible Transactions Youyou Lu 1, Jiwu Shu 1, Jia Guo 1, Shuai Li 1, Onur Mutlu 2 LightTx:
1 Virtual Memory. Cache memory: provides illusion of very high speed Virtual memory: provides illusion of very large size Main memory: reasonable cost,
Transactional Flash V. Prabhakaran, T. L. Rodeheffer, L. Zhou (MSR, Silicon Valley), OSDI 2008 Shimin Chen Big Data Reading Group.
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
A FULLY PERSISTENT AND CONSISTENT READ/WRITE CACHE USING FLASH-BASED GENERAL SSDS FOR DESKTOP WORKLOADS Information Systems 58 (2016) Sung Hoon Baek.
Elastic Parity Logging for SSD RAID Arrays Yongkun Li*, Helen Chan #, Patrick P. C. Lee #, Yinlong Xu* *University of Science and Technology of China #
Solid State Disk Prof. Moinuddin Qureshi Georgia Tech.
File System Consistency
Internal Parallelism of Flash Memory-Based Solid-State Drives

Translation Lookaside Buffer
Remote Backup Systems.
Database Recovery Techniques
Failure-Atomic Slotted Paging for Persistent Memory
Jonathan Walpole Computer Science Portland State University
Chang Hyun Park, Taekyung Heo, and Jaehyuk Huh
Parallel-DFTL: A Flash Translation Layer that Exploits Internal Parallelism in Solid State Drives Wei Xie1 , Yong Chen1 and Philip C. Roth2 1. Texas Tech.
Improving Memory Access 1/3 The Cache and Virtual Memory
HPE Persistent Memory Microsoft Ignite 2017
Memory Hierarchy Virtual Memory, Address Translation
Journaling File Systems
An Adaptive Data Separation Aware FTL for Improving the Garbage Collection Efficiency of Solid State Drives Wei Xie and Yong Chen Texas Tech University.
Morgan Kaufmann Publishers
I'm Kenichi Kourai from Kyushu Institute of Technology.
Computer Architecture
What Happens if There is no Free Frame?
Main Memory Background Swapping Contiguous Allocation Paging
Andy Wang Operating Systems COP 4610 / CGS 5765
CMSC 611: Advanced Computer Architecture
Translation Lookaside Buffer
Translation Buffers (TLB’s)
PARAMETER-AWARE I/O MANAGEMENT FOR SOLID STATE DISKS
Contents Memory types & memory hierarchy Virtual memory (VM)
CS 3410, Spring 2014 Computer Science Cornell University
CSC3050 – Computer Architecture
Database Recovery 1 Purpose of Database Recovery
CSE 471 Autumn 1998 Virtual memory
Virtual Memory: Working Sets
Lecture 9: Caching and Demand-Paged Virtual Memory
Translation Buffers (TLBs)
Page Cache and Page Writeback
Sarah Diesburg Operating Systems CS 3430
Remote Backup Systems.
Sarah Diesburg Operating Systems COP 4610
Dong Hyun Kang, Changwoo Min, Young Ik Eom
The Design and Implementation of a Log-Structured File System
Presentation transcript:

FlashTier: A Lightweight, Consistent and Durable Storage Cache Mohit Saxena, Michael M. Swift and Yiying Zhang (University of Wisconsin-Madison) Proceedings of the 7th ACM european conference on Computer Systems (EuroSys’12) July 25, 2013 발표: Jeong Su Park (jspark@archi.snu.ac.kr)

SSD as a cache Host OS DRAM Cache manager SSD - Cheaper than DRAM - Improve cold start performance (Non-volatile nature) SSD - Faster than HDD HDD

Drawbacks of conventional SSD as a cache HDD SSD SSD address space (LBA-s) Host OS LBA-d to LBA-s Mapping info Cache manager HDD address space (LBA-d) SSD Consumes a lot of DRAM resources Should guarantees consistency & durability of mapping info Garbage collection degrades performance HDD

Solid State Cache (SSC) HDD SSC SSC address space (Same as LBA-d) Host OS LBA-d to LBA-s Mapping info < FlashTier > Cache manager HDD address space (LBA-d) SSC Unified address space -> Remove mapping info (DRAM resource save) Interface expansion -> Garbage collection overhead reduction (Performance enhancement) Consistency & durability guarantee with checkpoint & roll-forward (Fast crash recovery) HDD

Unified address space Cache manager Cache manager SSD SSC HDD HDD < General purpose SSD > LBA-d to LBA-s < Solid State Cache > LBA-d to LBA-s Cache manager Cache manager 1. Look-up 1. Request 2. Request (Hit) 2. Result (Hit/Miss) 3. If missed 2. Request (Miss) SSD SSD address space (LBA-s) SSC Same as LBA-d LBA-s to PA LBA-d to PA (Physical Address) HDD HDD HDD address space (LBA-d) HDD address space (LBA-d)

Interface expansion SSC Cache manager 1. Write-through policy HDD Physical blocks Clean Meta info Invalid LBA-d to PA Block info (Liveness/ Data status) 1. Write-through policy Choose victim (all clean | invalid) and erase only when remaining free blocks are insufficient (Silent-evict) Write-clean HDD Cache manager SSC Clean-data Clean-data Hit ratio Read Hit/miss Read Always hit Clean-data

Interface expansion SSC Cache manager 2. Write-back policy HDD Physical blocks Clean Meta info Invalid LBA-d to PA Dirty Block info (Liveness/ Data status) Erasure is not permitted 2. Write-back policy Choose victim (all clean | invalid) and erase only when remaining free blocks are insufficient (Silent-evict) Write-dirty HDD Cache manager SSC Dirty-data Read Hit/miss Read Always hit

Interface expansion SSC Cache manager 2. Write-back policy HDD Physical blocks Clean Meta info Invalid LBA-d to PA Dirty Block info (Liveness/ Data status) - Clean : SSC mapping info preserved until silent-evict occurs - Evict : SSC mapping info vanishes immediatly 2. Write-back policy Choose victim (all clean | invalid) and erase only when remaining free blocks are insufficient (Silent-evict) Clean or evict HDD Cache manager SSC Dirty block table LBA-d clean evict Dirty-data Dirty-data

Interface expansion / crash recovery Physical blocks (Checkpoint area) Meta info LBA-d to PA Periodically checkpoint entire set with seq. # Block info (Liveness/ Data status) Physical blocks (Logging area) 2. Write-back policy Logging updated portion with seq. # Dirty block table re-construction with ‘exist’ query During crash recovery Exists Cache manager SSC Dirty block table Restore most-recent checkpoint info & roll-forward logging area during crash recovery LBA-d range Dirty data status within queried range

Evaluation Linux kernel 2.6.33 SSD Vs. SSC (fixed page-mapped area) (write intensive) SSD (read intensive) FlashSim Simulator FlashCache Linux kernel 2.6.33 Modified FlashSim Simulator + Custom Hybrid mapping FTL Cache manager (Modified FlashCache @ Facebook) Trace replay Vs. SSC (fixed page-mapped area) SSC SSC-R (flexible page-mapped area) ※ Hardware implementation M. Saxena, Y. Zhang, M. M. Swift, A. C. Arpaci Dusseau, and R. H. Arpaci Dusseau, “Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems,” FAST 13.

Results Write intensive Read intensive Proposed Proposed device cache manager Native : Host should reconstruct entire mapping info. before running => Entire storage area scan needed (mapping info. is stored in spare area) Proposed : Host may defer reconstructing dirty block info. + dirty block info. can be quickly reconstructed from checkpoint & roll-forward. (Not fair….)

Results