PARAMETER-AWARE I/O MANAGEMENT FOR SOLID STATE DISKS

Slides:



Advertisements
Similar presentations
Storing Data: Disk Organization and I/O
Advertisements

Snapshots in a Flash with ioSnap TM Sriram Subramanian, Swami Sundararaman, Nisha Talagala, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau Copyright © 2014.
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.
Boost Write Performance for DBMS on Solid State Drive Yu LI.
Disks.
An Intelligent Cache System with Hardware Prefetching for High Performance Jung-Hoon Lee; Seh-woong Jeong; Shin-Dug Kim; Weems, C.C. IEEE Transactions.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
DEDUPLICATION IN YAFFS KARTHIK NARAYAN PAVITHRA SESHADRIVIJAYAKRISHNAN.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Operating Systems CMPSC 473 I/O Management (2) December Lecture 24 Instructor: Bhuvan Urgaonkar.
Understanding Intrinsic Characteristics and System Implications of Flash Memory based Solid State Drives Feng Chen, David A. Koufaty, and Xiaodong Zhang.
CS 6560 Operating System Design Lecture 13 Finish File Systems Block I/O Layer.
Chapter 10 Storage and File Structure Yonsei University 2 nd Semester, 2013 Sanghyun Park.
Origianal Work Of Hyojun Kim and Seongjun Ahn
Introduction to Database Systems 1 Storing Data: Disks and Files Chapter 3 “Yea, from the table of my memory I’ll wipe away all trivial fond records.”
Logging in Flash-based Database Systems Lu Zeping
Speaker: 吳晋賢 (Chin-Hsien Wu) Embedded Computing and Applications Lab Department of Electronic Engineering National Taiwan University of Science and Technology,
Database Management Systems,Shri Prasad Sawant. 1 Storing Data: Disks and Files Unit 1 Mr.Prasad Sawant.
Storage and Indexes Introduction to Databases Computer Science 557 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
I/O Computer Organization II 1 Introduction I/O devices can be characterized by – Behavior: input, output, storage – Partner: human or machine – Data rate:
DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings A. gupta, Y. Kim, B. Urgaonkar, Penn State ASPLOS.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by Chris Homan.
Embedded System Lab. Jung Young Jin The Design and Implementation of a Log-Structured File System D. Ma, J. Feng, and G. Li. LazyFTL:
Wei-Shen, Hsu 2013 IEE5011 –Autumn 2013 Memory Systems Solid State Drive with Flash Memory Wei-Shen, Hsu Department of Electronics Engineering National.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by RuBao Li, Zinan Li.
PROBLEM STATEMENT A solid-state drive (SSD) is a non-volatile storage device that uses flash memory rather than a magnetic disk to store data. SSDs provide.
Improving Disk Throughput in Data-Intensive Servers Enrique V. Carrera and Ricardo Bianchini Department of Computer Science Rutgers University.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
A Semi-Preemptive Garbage Collector for Solid State Drives
연세대학교 Yonsei University Data Processing Systems for Solid State Drive Yonsei University Mincheol Shin
A Presentation on Hard Disks By: Team 4 (HIS44): (1)Samarjyoti Das (972151) (2)Subhadeep Ghosh (986570) (3)Dipanjan Das (986510) (4)Sudhamayee Pradhan.
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
Embedded System Lab. 정영진 The Design and Implementation of a Log-Structured File System Mendel Rosenblum and John K. Ousterhout ACM Transactions.
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
Taeho Kgil, Trevor Mudge Advanced Computer Architecture Laboratory The University of Michigan Ann Arbor, USA CASES’06.
CPSC 426: Building Decentralized Systems Persistence
File Organization Record Storage and Primary File Organization
Computer System Structures Storage
Persistent Memory (PM)
Internal Parallelism of Flash Memory-Based Solid-State Drives
Storage HDD, SSD and RAID.
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
Storage Devices CS 161: Lecture 11 3/21/17.
CS 704 Advanced Computer Architecture
FlashTier: A Lightweight, Consistent and Durable Storage Cache
Failure-Atomic Slotted Paging for Persistent Memory
Chapter 11: File System Implementation
Storage and Disks.
Database Management Systems (CS 564)
Operating Systems Disk Scheduling A. Frank - P. Weisberg.
Memory chips Memory chips have two main properties that determine their application, storage capacity (size) and access time(speed). A memory chip contains.
Jiang Zhou, Wei Xie, Dong Dai, and Yong Chen
Real-time Software Design
File Processing : Storage Media
Lecture 11: DMBS Internals
Introduction I/O devices can be characterized by I/O bus connections
Filesystems 2 Adapted from slides of Hank Levy
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
File Processing : Storage Media
Storage Systems Sudhanva Gurumurthi.
Parallel Garbage Collection in Solid State Drives (SSDs)
Linux Block I/O Layer Chris Gill, Brian Kocoloski
Department of Computer Science
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
CS 295: Modern Systems Storage Technologies Introduction
Introduction to Operating Systems
Dong Hyun Kang, Changwoo Min, Young Ik Eom
The Design and Implementation of a Log-Structured File System
Presentation transcript:

PARAMETER-AWARE I/O MANAGEMENT FOR SOLID STATE DISKS Jaehong Kim, Sangwoon Jung, Jin-Soo Kim, Member,IEEE, and Jaehyuk Huh, IEEE

CONTENTS INTRODUCTION PERFOMANCE PARAMETERS IN SSDS MEASURING THE CLUSTERED PAGE SIZE MEASURING THE CLUSTERED BLOCK SIZE MEASURING THE READ BUFFER SIZE MEASURING THE WRITE BUFFER SIZE LINUX GENERIC BLOCK LAYER OPTIMIZATION LINUX I/O SCHEDULER OPTIMIZATION PERFORMANCE EVALUATION CONCLUSION

introduction A Solid-State Disk (SSD) is a data storage device that emulates a hard disk drive (HDD) there are no moving parts to an SSD information is stored in microchips A typical SSD uses NAND-based flash memory SSDs are entirely different from hard disk drives(HDDs)

Read/write bandwidth of SSDs is higher than that of HDDs SSDs have no seek time since they have no moving parts such as arms and spinning platters. Provide higher durability against shock, vibration and operating temperature SSDs consume less power than HDDs Faster start up Extremely low read latency The performance does not depends on the location of data

Real SSD hardware prototype

SSD LOGIC COMPONENTS

NAND FLASH MEMORY Non-volatile semi conductor device organized into blocks where each block consists of a fixed number of pages. Page- unit of read and write operation Each page stores data and corresponding metadata and ECC(Error Correction Code) information. Latency of read and write operation is asymmetric. Does not allow in-place-update.

FLASH TRANSLATION LAYER Main control software in SSD hides the complexity of flash Maps Logical Block Addresses(LBA) from the host to physical addresses in flash memory. Garbage collection-a process that erases dirty blocks and recycles these pages.

PERFOMANCE PARAMETERS IN SSDs SSDs have different performance parameters compared with HDDs Eg: unit size of read/write operation in SSD is clustered page size and in HDD, it is the sector size. Actual value of parameter will depend on type of NAND flash memory and internal architecture of SSDs.

considered performance parameters Clustered page Clustered block Size of read buffer Size of write buffer

Methodology to extract performance parameters

Measuring the clustered page size the unit of read and write operations inside SSDs Adjusting the size of data transfer to the clustered page size, can enhance the I/O performance, since the FTL does not need to read or write more data than requested. Microbenchmark- exploits the difference in write latency depending on whether the write request is aligned to the clustered page boundary or not.

Measuring the clustered block size Unit of erase operation if there are many random writes whose sizes are smaller than the clustered block size, the write bandwidth will suffer from the overheads of copying valid pages. Microbenchmark exploits the difference in write bandwidth between sequential and random writes. As the request size approaches to the clustered block size, the gap between the bandwidth of sequential writes and that of random writes will become smaller.

Measuring the read buffer capacity To improve the read performance if the size of the read request is larger than the size of the read buffer, then the data has to be read directly from NAND flash memory Uses two benchmarks i) to measure the latency of read requests served from the read buffer ii) to measure the latency of read requests which are served from NAND flash memory directly

Measuring the write buffer capacity to enhance the write performance by temporarily storing the updated data into the DRAM buffer. when the size of write requests exceeds the write buffer size, some of data should be flushed into NAND flash memory. Uses 2 microbenchmarks i) measures the time taken to write data into the write buffer ii) to measure the time to write the requested data to NAND flash memory

PARAMETER-AWARE I/O COMPONENT DESIGN Using the extracted performance parameters from different SSDs, modifies the NOOPscheduler to a parameter-aware I/O scheduler for SSDs. 2 components i)generic block layer :merges block requests from the file system layer to optimize the request size. ii)I/O scheduler :schedules I/O requests to reduce the seek times of hard disks

Optimizing linux generic block layer Merges consecutive requests from the file system increasing the request size hurts the response times for individual requests and consume more memory buffer cache resources propose two designs i) Parameter-aware splitting (PAS) ii) parameter-aware splitting and aligning (PASA)

Parameter-aware splitting(PAS) and aligning(PASA) achieve short response time ,since entire request can be sent to the DRAM buffer in SSDs.

Linux I/O Scheduler Optimization redesign the I/O scheduler to make requests aligned and well-split for SSDs Parameter-aware I/O scheduler (PAI): maintains two queues, i) normal queue :manages well-split requests ii)pending queue :manages the badly-split request PAI dispatches the requests in the normal queue before that in the pending queue since they are optimized.

b)Parameter-aware I/O scheduler(PAI)

PERFORMANCE EVALUATION use the NoPAS-NOOP (NoPAS: No-Parameter-Aware- Splitting) as the baseline configuration compare NoPAS-PAI, PAS-PAI and PASA-PAI to the baseline. Uses NOOP scheduler as the baseline I/O scheduler Uses 2 benchmarks i)postmark ii)filebench

Composition of Requests Dispatched from PAI to the Block Device Driver (Postmark with SSD-A)

For postmark, NoPAS-PAI shows mixed results the performance with NoPAS-PAI can either improve or drop, depending on the file size and the SSDs Combining PAS or PASA with PAI provides noticeable performance improvements over baselines for large file sizes. For the 8MB file configuration, the total numbers of requests submitted to an SSD with PAS and PASA increase compared to NoPAS The ratio of adjusted requests in PAS and PASA is higher than that in NoPAS The ratio of aligned requests in PASA is higher than that in PAS and NoPAS In 8 MB configuration with SSD-A, PASA outperforms PAS and NoPAS by five percent and 20 percent with PAI.

Filebench uses 3 profiles i)websever : reads the fileset of random sizes and appends a log file using writes ii)filesever : creates, writes, appends and deletes the set of files randomly iii)OLTP(online transaction processing) : specifies datafiles, logfiles and database write threads.

conclusion proposed a new methodology that can extract several parameters SSDs and apply them to two components of a Linux operating system to improve the bandwidth of SSDs By optimizing the OS components with the extracted parameters, the write bandwidths for postmark and filebench improved by up to 24 percent and 321 percent, respectively. understanding of the internal parameters of SSDs help to model SSD systems more accurately for system studies this study shows that even a limited information of SSD internals can improve file system performance significantly for certain cases.

reference [1] K. Yotov, K. Pingali, and P. Stodghill, “Automatic Measurement of Memory Hierarchy Parameters,” Proc. ACM SIGMETRICS Conf., pp. 181-192, 2005. [2] J.-H. Kim, D. Jung, J.-S. Kim, and J. Huh, “A Methodology for Extracting Performance Parameters in Solid State Disks (ssds),” Proc. IEEE/ACM Int’l Symp. Modeling, Analysis, and Simulation of Computer and Telecomm. Systems (MASCOTS ’09), pp. 133-143, 2009. [3] D.P. Bovet and M. Cesati, “Understanding the Linux Kernel,” O’Reilly Media Inc., 2005.