Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems

Similar documents
Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems

FlashTier: A Lightweight, Consistent and Durable Storage Cache

Yiying Zhang, Leo Prasath Arulraj, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. University of Wisconsin - Madison

VSSIM: Virtual Machine based SSD Simulator

Warped Mirrors for Flash Yiying Zhang

[537] Flash. Tyler Harter

SHRD: Improving Spatial Locality in Flash Storage Accesses by Sequentializing in Host and Randomizing in Device

Performance Modeling and Analysis of Flash based Storage Devices

The Unwritten Contract of Solid State Drives

Using Transparent Compression to Improve SSD-based I/O Caches

Strata: A Cross Media File System. Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel, Thomas Anderson

A Caching-Oriented FTL Design for Multi-Chipped Solid-State Disks. Yuan-Hao Chang, Wei-Lun Lu, Po-Chun Huang, Lue-Jane Lee, and Tei-Wei Kuo

Designing a True Direct-Access File System with DevFS

Storage Systems : Disks and SSDs. Manu Awasthi July 6 th 2018 Computer Architecture Summer School 2018

SSD Firmware Implementation Project Lab. #4

OSSD: Object-based Solid State Drive. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Middleware and Flash Translation Layer Co-Design for the Performance Boost of Solid-State Drives

Copyright 2014 Fusion-io, Inc. All rights reserved.

MQSim: A Framework for Enabling Realistic Studies of Modern Multi-Queue SSD Devices

High Performance Solid State Storage Under Linux

Enabling Cost-effective Data Processing with Smart SSD

ParaFS: A Log-Structured File System to Exploit the Internal Parallelism of Flash Devices

Optimizing Translation Information Management in NAND Flash Memory Storage Systems

S-FTL: An Efficient Address Translation for Flash Memory by Exploiting Spatial Locality

Zettabyte Reliability with Flexible End-to-end Data Integrity

Storage Systems : Disks and SSDs. Manu Awasthi CASS 2018

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Near- Data Computa.on: It s Not (Just) About Performance

SSD (Solid State Disk)

FStream: Managing Flash Streams in the File System

Flash Memory Based Storage System

Toward SLO Complying SSDs Through OPS Isolation

CBM: A Cooperative Buffer Management for SSD

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Coerced Cache Evic-on and Discreet- Mode Journaling: Dealing with Misbehaving Disks

Experimental Results of Implementing NV Me-based Open Channel SSDs

Presented by: Nafiseh Mahmoudi Spring 2017

SFS: Random Write Considered Harmful in Solid State Drives

I/O Devices. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)

D E N A L I S T O R A G E I N T E R F A C E. Laura Caulfield Senior Software Engineer. Arie van der Hoeven Principal Program Manager

CFDC A Flash-aware Replacement Policy for Database Buffer Management

SSD Garbage Collection Detection and Management with Machine Learning Algorithm 1

Purity: building fast, highly-available enterprise flash storage from commodity components

Application-Managed Flash

OpenSSD Platform Simulator to Reduce SSD Firmware Test Time. Taedong Jung, Yongmyoung Lee, Ilhoon Shin

A Semi Preemptive Garbage Collector for Solid State Drives. Junghee Lee, Youngjae Kim, Galen M. Shipman, Sarp Oral, Feiyi Wang, and Jongman Kim

p-oftl: An Object-based Semantic-aware Parallel Flash Translation Layer

Overprovisioning and the SanDisk X400 SSD

White Paper: Understanding the Relationship Between SSD Endurance and Over-Provisioning. Solid State Drive

SATA III 6Gb/S 2.5 SSD Industrial Temp AQS-I25S I Series. Advantech. Industrial Temperature. Datasheet. Rev

Empirical Analysis on Energy Efficiency of Flash-based SSDs

Solid State Drive (SSD) Cache:

VMware vsphere Virtualization of PMEM (PM) Richard A. Brunner, VMware

Optimizing Flash-based Key-value Cache Systems

End-to-end Data Integrity for File Systems: A ZFS Case Study

Hard Disk Drives. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)

Page Mapping Scheme to Support Secure File Deletion for NANDbased Block Devices

Data Organization and Processing

ParaFS: A Log-Structured File System to Exploit the Internal Parallelism of Flash Devices

Lecture 16: Storage Devices

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

From server-side to host-side:

Solid State Drives (SSDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Computer Systems Laboratory Sungkyunkwan University

Warming up Storage-level Caches with Bonfire

Getting it Right: Testing Storage Arrays The Way They ll be Used

Don t stack your Log on my Log

Improving MLC flash performance and endurance with Extended P/E Cycles

Exploiting the benefits of native programming access to NVM devices

A Flash Scheduling Strategy for Current Capping in Multi-Power-Mode SSDs

Tutorial FTL. Jinyong Computer Systems Laboratory Sungkyunkwan University

BIBIM: A Prototype Multi-Partition Aware Heterogeneous New Memory

Replacing the FTL with Cooperative Flash Management

Advantech. AQS-I42N I Series. Semi-Industrial Temperature. Datasheet. SATA III 6Gb/s M.2 SSD Semi-Industrial Temp AQS-I42N I series

The Drive Interface Progress Cycle

Performance of PC Solid-State Disks

Falcon: Scaling IO Performance in Multi-SSD Volumes. The George Washington University

Linux Kernel Extensions for Open-Channel SSDs

Secondary storage. CS 537 Lecture 11 Secondary Storage. Disk trends. Another trip down memory lane

Enabling NVMe I/O Scale

Emulating Goliath Storage Systems with David

Optimistic Crash Consistency. Vijay Chidambaram Thanumalayan Sankaranarayana Pillai Andrea Arpaci-Dusseau Remzi Arpaci-Dusseau

Power Analysis for Flash Memory SSD. Dongkun Shin Sungkyunkwan University

Linux Storage System Bottleneck Exploration

Cooperating Write Buffer Cache and Virtual Memory Management for Flash Memory Based Systems

MEMBRANE: OPERATING SYSTEM SUPPORT FOR RESTARTABLE FILE SYSTEMS

Main Points. File systems. Storage hardware characteristics. File system usage patterns. Useful abstractions on top of physical devices

Solid State Drives Leading the Innovation Curve

A Buffer Replacement Algorithm Exploiting Multi-Chip Parallelism in Solid State Disks

Shingled Magnetic Recording (SMR) Panel: Data Management Techniques Examined Tom Coughlin Coughlin Associates

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Understanding the Relation between the Performance and Reliability of NAND Flash/SCM Hybrid Solid- State Drive

A Memory Management Scheme for Hybrid Memory Architecture in Mission Critical Computers

FFS: The Fast File System -and- The Magical World of SSDs

University of Wisconsin-Madison

FlashBlox: Achieving Both Performance Isolation and Uniform Lifetime for Virtualized SSDs

Open-Channel SSDs Offer the Flexibility Required by Hyperscale Infrastructure Matias Bjørling CNEX Labs

I/O Devices & SSD. Dongkun Shin, SKKU

Chunling Wang, Dandan Wang, Yunpeng Chai, Chuanwen Wang and Diansen Sun Renmin University of China

Flash Storage Trends & Ecosystem

Transcription:

Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems Mohit Saxena, Yiying Zhang Michael Swift, Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau

Flash Storage Stack Research SSD Design Flash management OS & Applications File systems, block cache, K-V stores Device Interface read, write, trim 2

How to evaluate new SSD designs? 1. Modify SSD Replace firmware/ftl Are you a device vendor? 2. FPGA Prototype Flexible and fast Hard and time-consuming 3. Simulator or Emulator Replay block traces Implement device models 3

Simulator/Emulator Limitations Real hardware performance SSDs are complex: banks, packages, planes Interaction with software stack SSDs are sensitive to OS & app behavior Trace replay Unable to model request timing dependencies & new commands FAST year Unmodified SSDs Simulator Hardware 2011 2 5 0 2012 2 7 0 2013 2 3 2 4

Approach 4. SSD Prototyping Kit OpenSSD Hardware Platform 5

In this Talk New SSD and Interface Designs Research Simulation Hardware Prototype FlashTier s Solid-State Cache (SSC) [EuroSys 12] Nameless Write SSD [FAST 12] Challenges, Experiences and Lessons General insights applicable to other SSD designs and interfaces 6

Introduction Background Talk Outline OpenSSD Hardware Platform SSC and Nameless Write SSD Interfaces Prototyping Experiences Evaluation Conclusions 7

Flash SSD 101 Remap in-place writes Address translation Log-structuring Garbage collection 0 1 2 3 30 1 2 FTL 0 1 2 write X 0 1 2 30 Pages in Flash Erase Block OS 8

OpenSSD Hardware Platform Hardware: commodity Indilinx Barefoot ARM SSD controller 64 MB DRAM, 128 GB NAND Flash Software: reference Open-source FTL Interface: standard SATA read & write UART serial debugging 9

Application Solid-State Disk (SSD) File System Block Layer read, write, trim SSD SSD Block Interface Emulate disk: persistent block store 10

Solid-State Cache (SSC) Application File System Block Layer Application File System Block Layer Cache Manager read, write, trim read, clean, exists write-clean/dirty not-present errors SSD SSC SSC Caching Interface Distinguish clean from dirty data Return not-present read errors for evicted blocks Fast and reliable SSC 11

Nameless-Write (NW-SSD) Application Application Application File System Block Layer File System Block Layer Cache Manager File System Block Layer read, write, trim read, clean, exists write-clean/dirty not-present errors virtual-write/read nameless-write/read callbacks phy-address SSD SSC NW-SSD Nameless-Write SSD nameless-write/read : physical address migration callbacks : relocated blocks Cheap and fast SSD 12

Summary of Interface Changes New Interface Extensions Forward Commands Return Values Device Responses SSC write-dirty write-clean exists clean not-present read errors Nameless-Write SSD nameless-write physical-read virtual-write virtual-read physical addresses migration-callbacks 13

Talk Outline Introduction Background Prototyping Experiences Challenges Solutions Lessons Evaluation Conclusions 14

Prototyping Challenges 1. New Forward Commands 2. New Device Responses 3. Real Hardware Constraints for SSC and NW-SSD 15

1. New Forward Commands Assumption File system & cache write-dirty/clean, evict, clean, exists manager directly interface with device File System or Application Cache Manager nw-write, physical-read, virtual-write virtual-read Simulated Interface (Function Calls) Device Interface Simulated Device SSD

1. New Forward Commands Assumption File system & cache manager directly interface with device Reality Several intermediate OS, firmware & hardware layers write-dirty/clean, evict, clean, exists Low-level drivers File System or Application Cache Manager Device Mapper I/O Scheduler SCSI Layer ATA Layer AHCI Driver Device Interface nw-write, physical-read, virtual-write virtual-read Hardware Command Queue & Firmware SSD

Implementing Forward Commands Solutions Disallow merging & re-ordering Add new command sub-types Mask command subtype in firmware for hardware queues write-dirty/clean, evict, clean, exists Low-level drivers <lba,length+sub-type> File System or Application Cache Manager Device Mapper I/O Scheduler SCSI Layer ATA Layer AHCI Driver nw-write, physical-read, virtual-write virtual-read scsi_cmd ata_qc ahci_fis Device Interface Hardware Command Queue & Firmware SSD

Lesson 1 Designing New Forward Commands Research lesson: consider all layers of OS I/O scheduler: merging and re-ordering Storage device drivers: adding sub-types Research lesson: consider complete SSD ecosystem Firmware: encoding sub-types Hardware: accelerating new command queues 19

2. New Device Responses Assumption Device can directly send new responses to cache manager and file system not-present read errors Simulated Responses (Function Upcalls) File System or Application Cache Manager phy-addresses, migration callbacks Device Responses Simulated Device SSD

2. New Device Responses Reality New errors do not propagate up beyond device drivers Write responses can not encode physical addresses Migration callbacks do not fit standard protocols not-present read errors Low-level drivers ATA Responses and Protocol File System or Application Cache Manager Device Mapper I/O Scheduler SCSI Layer ATA Layer AHCI Driver SSD phy-addresses, migration callbacks Device Responses 8 bits+reserved

Reverse Path Errors Solution File System or Application not-present errors overloaded on read response data from device to OS not-present read errors Cache Manager Device Mapper I/O Scheduler SCSI Layer phy-addresses, migration callbacks Low-level drivers ATA Layer AHCI Driver Magic #@!!@ Read Response Data SSD

Split-FTL Design Solution Kernel and Device FTLs Forward commands transformed to raw flash commands from Kernel- FTL Physical addresses & migration callbacks returned from kernel- FTL to file system Garbage collection: copyback from/to host File System or Application Block Layer I/O Scheduler Kernel-FTL SCSI, ATA, AHCI copyback Device FTL Raw SSD nameless-read/write virtual-read/write phy-addresses, migration callbacks flash page read/write, block erase Device Interface 23

Lesson 2 Designing New Device Responses Research lesson: consider all OS layers Storage device drivers: handling of frequent benign errors Device & file system: race conditions for callbacks Prototyping lesson: simplicity and correctness Kernel-FTL: simpler block layer OS interface Device-FTL: enforce correct erase-beforeoverwrite 24

Talk Outline Introduction Background Prototyping Experiences Evaluation Validate Performance Claims Conclusions 25

Methodology Systems for comparison SSD: Facebook FlashCache using SSD with GC SSC: modified Facebook FlashCache using SSC with silent eviction Nameless-Write SSD interface performance Workload: filebench with read/write/fsync Workload fileserver webserver varmail Ratio of operations 1:2 reads/writes 10:1 reads/writes 1:1:1 reads/writes/fysnc 26

Percent performance (relative to no cache) SSC Prototype Performance 450 400 350 300 250 200 150 100 50 0 SSC Claim 168% better perf. than common hybrid FTL SSD +52% No Cache SSD SSC SSC Prototype 52% better perf. than faster page-map FTL SSD +27% fileserver webserver varmail write intensive read intensive fsync intensive 27

I/O operations/s Nameless-Write SSD Performance 14000 12000 10000 8000 6000 4000 SSD NW-SSD Claim Perf. close to page-map FTL Merging optimization Nameless-Write SSD -60% NW-SSD Prototype Perf. almost close to page-map FTL Device Memory Page-map FTL: 53 MB NW-SSD: 803 KB 2000 0 Seq. Write Rand. Write Seq. Read Rand. Read fio benchmark: 4KB request size 28

Conclusions OpenSSD is a valuable tool for evaluating new SSD designs Prototyping and research lessons applicable to other SSD designs First high-performance open-source FTL http://www.cs.wisc.edu/~msaxena/new/ftl.html OpenSSD prototype on display at poster session today 29

Thanks! Getting Real: Lessons in Transitioning Research Simulations into Hardware Systems Mohit Saxena, Yiying Zhang Michael Swift, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau 30