Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Embedded System Lab. 서동화 HIOS: A Host Interface I/O Scheduler for Solid State Disk."— Presentation transcript:

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

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

3 서 동 화서 동 화 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.

4 서 동 화서 동 화 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.

5 서 동 화서 동 화 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).

6 서 동 화서 동 화 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.

7 서 동 화서 동 화 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.

8 서 동 화서 동 화 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.

9 서 동 화서 동 화 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

10 서 동 화서 동 화 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.

11 서 동 화서 동 화 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.)

12 서 동 화서 동 화 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.

13 서 동 화서 동 화 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.

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

15 서 동 화서 동 화 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.

16 서 동 화서 동 화 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.

17 서 동 화서 동 화 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.

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

19 서 동 화서 동 화 Embedded System Lab.


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

Similar presentations


Ads by Google