Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Public Access

Exploiting Intra-Request Slack to Improve SSD Performance

Published: 04 April 2017 Publication History

Abstract

With Solid State Disks (SSDs) offering high degrees of parallelism, SSD controllers place data and direct requests to exploit the maximum offered hardware parallelism. In the quest to maximize parallelism and utilization, sub-requests of a request that are directed to different flash chips by the scheduler can experience differential wait times since their individual queues are not coordinated and load balanced at all times. Since the macro request is considered complete only when its last sub-request completes, some of its sub-requests that complete earlier have to necessarily wait for this last sub-request. This paper opens the door to a new class of schedulers to leverage such slack between sub-requests in order to improve response times. Specifically, the paper presents the design and implementation of a slack-enabled re-ordering scheduler, called Slacker, for sub-requests issued to each flash chip. Layered under a modern SSD request scheduler, Slacker estimates the slack of each incoming sub-request to a flash chip and allows them to jump ahead of existing sub-requests with sufficient slack so as to not detrimentally impact their response times. Slacker is simple to implement and imposes only marginal additions to the hardware. Using a spectrum of 21 workloads with diverse read-write characteristics, we show that Slacker provides as much as 19.5%, 13% and 14.5% improvement in response times, with average improvements of 12%, 6.5% and 8.5%, for write-intensive, read-intensive and read-write balanced workloads, respectively.

References

[1]
Microsoft research cambridge traces. http://iotta.snia.org/traces/list/BlockIO.
[2]
UMass trace repository. http://traces.cs.umass.edu.
[3]
Crucial bx100 ssd. http://www.crucial.com/usa/en/storage-ssd-bx100.
[4]
Open NAND flash interface specification 3.1. http://www.onfi.org/specifications.
[5]
N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, and R. Panigrahy. Design tradeoffs for SSD performance. In USENIX Annual Technical Conference, pages 57--70, 2008.
[6]
K. Arase. Semiconductor nand type flash memory with incremental step pulse programming, 1998. URL http://www.google.com/patents/US5812457. US Patent 5,812,457.
[7]
A. M. Caulfield, L. M. Grupp, and S. Swanson. Gordon: using flash memory to build fast, power-efficient clusters for data-intensive applications. In International Conference on Architectural Support for Programming Languages and Operating Systems, pages 217--228, Mar 2009.
[8]
A. M. Caulfield, J. Coburn, T. Mollov, A. De, A. Akel, J. He, A. Jagatheesan, R. K. Gupta, A. Snavely, and S. Swanson. Understanding the impact of emerging non-volatile memories on high-performance, IO-intensive computing. In International Conference for High Performance Computing, Networking, Storage and Analysis, pages 1--11, 2010.
[9]
F. Chen, R. Lee, and X. Zhang. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In International Symposium on High-Performance Computer Architecture, pages 266--277, 2011.
[10]
C. Dirik and B. Jacob. The performance of PC solid-state disks (SSDs) as a function of bandwidth, concurrency, device architecture, and system organization. In International Symposium on Computer Architecture, pages 279--289, 2009.
[11]
D. Feitelson and L. Rudolph. Wasted resources in gang scheduling. In 5th Jerusalem Conference on Information Technology, pages 127--136, Oct 1990.
[12]
D. G. Feitelson and L. Rudolph. Gang scheduling performance benefits for fine-grain synchronization. Journal of Parallel and Distributed Computing, 16 (4): 306--318, 1992.
[13]
C. Gao, L. Shi, M. Zhao, C. Xue, K. Wu, and E.-M. Sha. Exploiting parallelism in I/O scheduling for access conflict minimization in flash-based solid state drives. In International Conference on Mass Storage Systems and Technologies, pages 1--11, 2014.
[14]
Y. Hu, H. Jiang, D. Feng, L. Tian, H. Luo, and S. Zhang. Performance impact and interplay of SSD parallelism through advanced commands, allocation strategy and data granularity. In International Conference on Supercomputing, pages 96--107, 2011.
[15]
M. Huang, Y. Wang, Z. Liu, L. Qiao, and Z. Shao. A garbage collection aware stripping method for solid-state drives. In Asia and South Pacific Design Automation Conference, pages 334--339, 2015.
[16]
A. Huffman. NVM express 1.1a specifications. http://www.nvmexpress.org, Sep 2013.
[17]
M. Jette. Performance characteristics of gang scheduling in multiprogrammed environments. In Supercomputing Conference, pages 54--54, 1997.
[18]
M. Jung, E. H. Wilson, III, and M. Kandemir. ysically addressed queueing (PAQ): improving parallelism in solid state disks. In International Symposium on Computer Architecture, pages 404--415, Jun 2012.
[19]
M. Jung, W. Choi, S. Srikantaiah, J. Yoo, and M. T. Kandemir. HIOS: a host interface IO scheduler for solid state disks. In International Symposium on Computer Architecuture, pages 289--300, 2014.
[20]
J. Kim, Y. Oh, E. Kim, J. Choi, D. Lee, and S. H. Noh. Disk schedulers for solid state drivers. In International Conference on Embedded Software, pages 295--304, 2009.
[21]
S. Kung. Naive PCI SSD controllers. http://www.marvell.com/storage/system-solutions/native-pcie-ssd-controller/assets/Marvell-Native-PCIe-SSD-Controllers-WP.pdf, Jan 2012.
[22]
A. Lodi, S. Martello, and D. Vigo. Recent advances on two-dimensional bin packing problems. Discrete Applied Mathematics, 123 (1--3): 379--396, 2002.
[23]
R. Love. Kernel korner -- I/O schedulers. Linux Journal, 2004 (118): 10--, 2004.
[24]
]MLC-II-NimaMicron Technology, Inc. NAND flash memory MLC data sheet, MT29E512G08CMCCBH7--6 NAND flash memory. http://www.micron.com/.
[25]
E. H. Nam, B. Kim, H. Eom, and S. L. Min. Ozone (O3): an out-of-order flash memory controller architecture. IEEE Transactions on Computers, 60 (5): 653--666, 2011.
[26]
J. K. Ousterhout. Scheduling techniques for concurrent systems. In International Conference on Distributed Computing Systems, pages 22--30, 1982.
[27]
C. Park, E. Seo, J.-Y. Shin, S. Maeng, and J. Lee. Exploiting internal parallelism of flash-based SSDs. IEEE Computer Architecture Letters, 9 (1): 9--12, Jan 2010.
[28]
J.-Y. Shin, Z.-L. Xia, N.-Y. Xu, R. Gao, X.-F. Cai, S. Maeng, and F.-H. Hsu. Ftl design exploration in reconfigurable high-performance ssd for server applications. In 23rd International Conference on Supercomputing, pages 338--349, 2009.
[29]
A. Tavakkol, M. Arjomand, and H. Sarbazi-Azad. Unleashing the potentials of dynamism for page allocation strategies in SSDs. In ACM International Conference on Measurement and Modeling of Computer Systems, pages 551--552, 2014.
[30]
G. Wu and X. He. Reducing SSD read latency via nand flash program and erase suspension. In 10th USENIX Conference on File and Storage Technologies, Feb 2012.
[31]
Q. Zhang, D. Feng, F. Wang, and Y. Xie. An efficient, QoS-aware I/O scheduler for solid state drive. In International Conference on High Performance Computing and Communications, pages 1408--1415, 2013.

Cited By

View all
  • (2022)Exploration and Exploitation for Buffer-Controlled HDD-Writes for SSD-HDD Hybrid Storage ServerACM Transactions on Storage10.1145/346541018:1(1-29)Online publication date: 28-Feb-2022
  • (2021)Observation and Optimization on Garbage Collection of Flash Memories: The View in Performance CliffMicromachines10.3390/mi1207084612:7(846)Online publication date: 20-Jul-2021
  • (2021)RVOProceedings of the ACM/IEEE International Symposium on Low Power Electronics and Design10.1109/ISLPED52811.2021.9502496(1-6)Online publication date: 26-Jul-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGARCH Computer Architecture News
ACM SIGARCH Computer Architecture News  Volume 45, Issue 1
Asplos'17
March 2017
812 pages
ISSN:0163-5964
DOI:10.1145/3093337
Issue’s Table of Contents
  • cover image ACM Conferences
    ASPLOS '17: Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems
    April 2017
    856 pages
    ISBN:9781450344654
    DOI:10.1145/3037697
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 04 April 2017
Published in SIGARCH Volume 45, Issue 1

Check for updates

Author Tags

  1. intra-request slack
  2. scheduling
  3. ssd

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)391
  • Downloads (Last 6 weeks)56
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Exploration and Exploitation for Buffer-Controlled HDD-Writes for SSD-HDD Hybrid Storage ServerACM Transactions on Storage10.1145/346541018:1(1-29)Online publication date: 28-Feb-2022
  • (2021)Observation and Optimization on Garbage Collection of Flash Memories: The View in Performance CliffMicromachines10.3390/mi1207084612:7(846)Online publication date: 20-Jul-2021
  • (2021)RVOProceedings of the ACM/IEEE International Symposium on Low Power Electronics and Design10.1109/ISLPED52811.2021.9502496(1-6)Online publication date: 26-Jul-2021
  • (2020)SeRW: Adaptively Separating Read and Write upon SSDs of Hybrid Storage Server in CloudsProceedings of the 49th International Conference on Parallel Processing10.1145/3404397.3404437(1-11)Online publication date: 17-Aug-2020
  • (2024)A Systematic Configuration Space Exploration of the Linux Kyber I/O SchedulerCompanion of the 15th ACM/SPEC International Conference on Performance Engineering10.1145/3629527.3651416(167-173)Online publication date: 7-May-2024
  • (2024)Explorations and Exploitation for Parity-based RAIDs with Ultra-fast SSDsACM Transactions on Storage10.1145/362799220:1(1-32)Online publication date: 30-Jan-2024
  • (2024)The Static Allocation is Not a Static: Optimizing SSD Address Allocation Through Boosting Static PolicyIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.340736735:8(1373-1386)Online publication date: Aug-2024
  • (2024)DIR: Dynamic Request Interleaving for Improving the Read Performance of Aged Solid-State DrivesJournal of Computer Science and Technology10.1007/s11390-023-1601-y39:1(82-98)Online publication date: 1-Feb-2024
  • (2023)QoS-pro: A QoS-enhanced Transaction Processing Framework for Shared SSDsACM Transactions on Architecture and Code Optimization10.1145/3632955Online publication date: 14-Nov-2023
  • (2023)Re-aligning Across-page Requests for Flash-based Solid-state DrivesProceedings of the 52nd International Conference on Parallel Processing10.1145/3605573.3605652(736-745)Online publication date: 7-Aug-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media