Embedded System Lab. 서동화 HIOS: A Host Interface I/O Scheduler for Solid State Disk.

Slides:



Advertisements
Similar presentations
Paper by: Yu Li, Jianliang Xu, Byron Choi, and Haibo Hu Department of Computer Science Hong Kong Baptist University Slides and Presentation By: Justin.
Advertisements

Flash storage memory and Design Trade offs for SSD performance
A KTEC Center of Excellence 1 Cooperative Caching for Chip Multiprocessors Jichuan Chang and Gurindar S. Sohi University of Wisconsin-Madison.
Myoungsoo Jung (UT Dallas) Mahmut Kandemir (PSU)
Trading Flash Translation Layer For Performance and Lifetime
CSE506: Operating Systems Disk Scheduling. CSE506: Operating Systems Key to Disk Performance Don’t access the disk – Whenever possible Cache contents.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
International Conference on Supercomputing June 12, 2009
An Adaptable Benchmark for MPFS Performance Testing A Master Thesis Presentation Yubing Wang Advisor: Prof. Mark Claypool.
Chapter 9 – Real Memory Organization and Management
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
1 Chapter 8 Virtual Memory Virtual memory is a storage allocation scheme in which secondary memory can be addressed as though it were part of main memory.
An Intelligent Cache System with Hardware Prefetching for High Performance Jung-Hoon Lee; Seh-woong Jeong; Shin-Dug Kim; Weems, C.C. IEEE Transactions.
 2004 Deitel & Associates, Inc. All rights reserved. Chapter 9 – Real Memory Organization and Management Outline 9.1 Introduction 9.2Memory Organization.
November 1, 2004Introduction to Computer Security ©2004 Matt Bishop Slide #29-1 Chapter 33: Virtual Machines Virtual Machine Structure Virtual Machine.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Hystor : Making the Best Use of Solid State Drivers in High Performance Storage Systems Presenter : Dong Chang.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
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.
TRACK-ALIGNED EXTENTS: MATCHING ACCESS PATTERNS TO DISK DRIVE CHARACTERISTICS J. Schindler J.-L.Griffin C. R. Lumb G. R. Ganger Carnegie Mellon University.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-7 Memory Management (1) Department of Computer Science and Software.
Protocols and the TCP/IP Suite
Logging in Flash-based Database Systems Lu Zeping
/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.
Architectural Support for Fine-Grained Parallelism on Multi-core Architectures Sanjeev Kumar, Corporate Technology Group, Intel Corporation Christopher.
By Phani Gowthami Tammineni. Overview This presentation is about the issues in real-time database systems and presents an overview of the state of the.
1 Tuning Garbage Collection in an Embedded Java Environment G. Chen, R. Shetty, M. Kandemir, N. Vijaykrishnan, M. J. Irwin Microsystems Design Lab The.
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:
MEMORY ORGANIZTION & ADDRESSING Presented by: Bshara Choufany.
Abdullah Aldahami ( ) March 23, Introduction 2. Background 3. Simulation Techniques a.Experimental Settings b.Model Description c.Methodology.
Disco : Running commodity operating system on scalable multiprocessor Edouard et al. Presented by Vidhya Sivasankaran.
VGreen: A System for Energy Efficient Manager in Virtualized Environments G. Dhiman, G Marchetti, T Rosing ISLPED 2009.
StrideBV: Single chip 400G+ packet classification Author: Thilan Ganegedara, Viktor K. Prasanna Publisher: HPSR 2012 Presenter: Chun-Sheng Hsueh Date:
Modern DRAM Memory Architectures Sam Miller Tam Chantem Jon Lucas CprE 585 Fall 2003.
Improving Disk Throughput in Data-Intensive Servers Enrique V. Carrera and Ricardo Bianchini Department of Computer Science Rutgers University.
Container Marking : Combining Data Placement, Garbage Collection and Wear Leveling for Flash MASCOTS '11 Xiao-Yu Hu, Robert Haas, and Eleftheriou Evangelos.
CS333 Intro to Operating Systems Jonathan Walpole.
연세대학교 Yonsei University Data Processing Systems for Solid State Drive Yonsei University Mincheol Shin
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:
Embedded System Lab. 오명훈 Addressing Shared Resource Contention in Multicore Processors via Scheduling.
Martin Kruliš by Martin Kruliš (v1.1)1.
Virtual-Channel Flow Control William J. Dally
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.
Internal Parallelism of Flash Memory-Based Solid-State Drives
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
Memory Hierarchy Ideal memory is fast, large, and inexpensive
Memory Management.
Jonathan Walpole Computer Science Portland State University
Understanding Operating Systems Seventh Edition
Chapter 9 – Real Memory Organization and Management
Cache Memory Presentation I
An Adaptive Data Separation Aware FTL for Improving the Garbage Collection Efficiency of Solid State Drives Wei Xie and Yong Chen Texas Tech University.
HashKV: Enabling Efficient Updates in KV Storage via Hashing
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
Main Memory Background Swapping Contiguous Allocation Paging
Performance metrics for caches
Performance metrics for caches
Arash Tavakkol, Mohammad Sadrosadati, Saugata Ghose,
Performance metrics for caches
PARAMETER-AWARE I/O MANAGEMENT FOR SOLID STATE DISKS
Parallel Garbage Collection in Solid State Drives (SSDs)
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
Performance metrics for caches
Overview Problem Solution CPU vs Memory performance imbalance
Design Tradeoffs for SSD Performance
Presentation transcript:

Embedded System Lab. 서동화 HIOS: A Host Interface I/O Scheduler for Solid State Disk

서 동 화서 동 화 Embedded System Lab. Contents Background Introduction Motivation The proposed I/O Scheduling Strategies Result

서 동 화서 동 화 Embedded System Lab. Background SSD Organization  FTL is a software module hiding the idiosyncra sies of the underlying flash.  A host interface controller/core executes HIL.  Flash bus controllers/cores handle FIL, which i s a software module beneath the FTL issuing f lash memory transactions to underlying flash c hips associated with one or more channels.  A flash chips is composed of multiple pages ( which is the unit to read/write)  A page write requires an erase operation to a set of pages, collectively called a block, which is the unit for an erase operation.

서 동 화서 동 화 Embedded System Lab. Background Firmware and Garbage Collection  HIL (Host Interface Layer) Existing interfaces such as SATA and associated device-level queues like NCG and TCQ allow an SSD to schedule I/O requests with no host-level software intervention. To achieve this, a small size tag, which is basically an identifier for I/O requests, is sent to the SSD. Host-side modules are oblivious to SSD specific characteristics, and the underlying software in an SSD have no knowledge of the interface protocols. In current practice, a FIFO-style scheduler is employed in HIL.  FTL (Flash Translation Layer) FTL mainly handles two limitation of flash. (Garbage collection and wear leveling) 1) erase-before write  No request is allowed to flash locations where data been already been written.  The target location needs to be erased first.  To address this erase-before-write, FTL has to prepare in advance empty block that have been erased. 2) in-order update  Modern flash does not allow out-of-order updates within block.  FTL remaps the address between logical and physical for both the empty block allocation and out-of-order update writes.

서 동 화서 동 화 Embedded System Lab. Background Firmware and Garbage Collection  Garbage Collection When the prepared empty blocks are used up, FTL needs to reclaim block as victims. Before reclaiming a block, if the block has valid pages, the FTL needs to reallocate such valid pages. This page migrations necessary to perform this remapping of the valid data make GC time-consuming activity. In current SSD are typically invoked on-demand and delayed as much as possible.  When FTL does not have nay available free block (FR-GC).  When FTL has no free page in a logical block (LR-GC).

서 동 화서 동 화 Embedded System Lab. Background Internal Parallelism  In order to improve I/O performance, an SSD can exploit three types of parallelism 1) interleaving 2) striping 3) pipelining In general, a combination of these three strategies is used in FTL or FIL to fully utilize channel resources and maximize system performance, as shown in figure d. Even though, in principle these strategies can improve performance, in practice one can observe a very pool performance when the request in the I/O queue experience channel resource contention.  This is because state-of-the-art I/O schedulers are not aware of SSD internals.

서 동 화서 동 화 Embedded System Lab. Introduction A wide range of execution platforms, from embedded systems to high-performance and enterprise c omputing systems, employ SSDs as an intermediate layer in the form of storage cache or a write log, or as a substitute for legacy disks. An importance concern when SSDs are used as an intermediate layer is that their performance can be influenced by various complexities posed by the FTL(Flash Translation Layer)  Garbage collection.  Resource contention.

서 동 화서 동 화 Embedded System Lab. Motivation SSD vs Disk comparison  Although the SSDs have significantly lower average latencies as compared to the disk, their worst-case latencies can be much higher than disks.  An important reason for this high contribution from GCs and resource contentions is that the existing I/O schedulers are optimized to reduce the impact of random accesses.  This scheduler is not aware of the internal details of an SSD architecture.

서 동 화서 동 화 Embedded System Lab. Motivation Performance variations  Considering the fact that the worst-case latency of the disk is around 63ms, we see that the performance variat- ion problems of SSDs can easily make their performance worse than that of a disk. Write Cliff GC start Request size

서 동 화서 동 화 Embedded System Lab. The Proposed I/O Scheduling Strategies The main idea  HIOS can predict critical I/O operations that cannot meet a device-specific deadline, called negative activities and classify based on their current level of deadline satisfaction. (negative, positive, or neutral).  Distribute their overheads across non-critical I/O operations.  In contrast to existing I/O schedulers, HIOS is aware of specific characteristics of the underlying SSDs.  In HIOS, the overheads of negative activities are redistributed by stealing slack-times.  The overheads of resource conflicts are further reduced by employing an I/O reordering schemed based Empty Channel First(ECF) principle.

서 동 화서 동 화 Embedded System Lab. The Proposed I/O Scheduling Strategies Activity Classification  To classify the impact of different activities, it is important to analyze the slack available to a scheduler to schedule I/O requests within a deadline.  Slack-time is the duration between the end of the time to execute an I/O request and it’s assigned deadline.  Considering the amount of slack-time, HIOS classifies I/O request into three categories. Positive Activity Negative Activity Neutral Activity (HIOS may treat neutral activities as positive activities and steal slack-time from them.)

서 동 화서 동 화 Embedded System Lab. The Proposed I/O Scheduling Strategies Scheduling Negative Activities  There are eight requests in the command queue, with 8 th request taking the entire burden of the GC.  In figure (a) request 8 will violate its deadline, due to the GC invocation  In contrast, in figure(b) HIOS splits the GC overhead associated with request 8 across seven different GC segments, and then redistribute them over I/O request 1 through 7.  In this way, the burden is shared among multiple requests having positive slacks.

서 동 화서 동 화 Embedded System Lab. The Proposed I/O Scheduling Strategies Scheduling Neutral Activities  To prevent creating “new” negative activities, HIOS carefully manages the neutral activities.  A conventional scheduling method in HIL determines an order for the I/O requests and initiates the host-DMA for holdback request 3.  Therefore, all request will be delayed in the queue on the account of the neutral activity of request 3.  To address this problem, the best solution is to reorder I/O requests based on the channel state.  If the scheduler does not adopt this strategy, both neutral and positive activities may become negative ones.

서 동 화서 동 화 Embedded System Lab. The Proposed I/O Scheduling Strategies The overview of redistribution

서 동 화서 동 화 Embedded System Lab. The Proposed I/O Scheduling Strategies Neutral Activity Reordering  Since neutral activities are comprised of potential blocking I/Os due to the channel resource conflicts, HIOS interchanges the neutral activities with positive ones at runtime.  Channel Conflict Detection To detect a channel resource conflict, HIOS first secures the channel offset and physical page number for the next available page. HIOS then inspects the flash bus controller register, which contains the states associated with the channel offset and maintains the state information of the channel  Contention Alleviation 1) empty-channel-first (ECF) policy : HIOS checks if the incoming I/O requests would result in any channel conflicts. If so, it adds the request into the command queue, and then gets the next positive activity from the queue. 2) page-based aggregation : while HIOS schedules a command, if it receives another command containing an adjacent address within a superpage boundary heading toward the same channel with the neutral one, it aggregates these two command into a single request.

서 동 화서 동 화 Embedded System Lab. Result There exists no commercial SSD that allows us to modify its internal software stack and system par- ameters. Therefore, we performed simulation based study with real applications workloads extracted from different application domains.  I/O Scheduler Noop,Deadline, anticipatory, flash-aware, HIOS1, HIOS2  FTL Block-mapping FTL(B-FTL), Hybrid-mapping FTL(H-FTL) Worst case latency  Since this schedulers are oblivious to GC, they cannot meet a specified deadline if negative activities take place during execution.  Since finw has about 84% write operations, bundling write requests considering block boundaries maximizes page utilization for a logical block and helps to prevent GC.

서 동 화서 동 화 Embedded System Lab. Result Average latency  HIOS-1 redistributes the overheads associated with negative activities from one part of execution to another.  This does not affect the average latencies much.  HIOS-2 improves the average latency by about 13.2% compared to HIOS-1, indicating that ECF helps HIOS achieve better performance on a workload that does not have GCs by resolving resource conflicts.

서 동 화서 동 화 Embedded System Lab. Result Sensitive to deadline period and GC threshold Space-varying performance and deadline satisfaction analysis.

서 동 화서 동 화 Embedded System Lab.