Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3400302.3415652acmconferencesArticle/Chapter ViewAbstractPublication PagesiccadConference Proceedingsconference-collections
research-article

MLCache: a space-efficient cache scheme based on reuse distance and machine learning for NVMe SSDs

Published: 17 December 2020 Publication History

Abstract

Non-volatile memory express (NVMe) solid-state drives (SSDs) have been widely adopted in emerging storage systems, which can provide multiple I/O queues and high-speed bus to maximize high data transfer rate. NVMe SSD use streams (also called "Multi-Queue") to store related data in associated locations or for other performance enhancements. The on-board DRAM cache inside NVMe SSDs can efficiently reduce the disk accesses and extend the lifetime of SSDs, thus improving the overall efficiency of the storage systems. However, in previous studies, such SSD cache has been only used as a shared cache for all streams or a statically partitioned cache for each stream, which may seriously degrade the performance-per-stream and underutilize the valuable cache resources.
In this paper, we present MLCache, a space-efficient shared cache management scheme for NVMe SSDs, which maximizes the write hit ratios, as well as enhances the SSD lifetime. We formulate cache space allocation as a machine learning problem. By learning the impact of reuse distance on cache allocation, we build a workload specific neural network model. At runtime, MLCache continuously monitors the reuse distance distribution for the neural network module to obtain space-efficient allocation decisions. Experimental results show MLCache improves the write hit ratio of the SSD by 24% compared to baseline, and achieves response time reduction by 13.36% when compared with baseline. MLCache is 96% similar to the ideal model.

References

[1]
2005. Fusionio ioTurbine. http://web.sandisk.com.
[2]
2012. Squinting through the Glare of Project Lightning. http://wikibon.org/wiki/v/Squinting_through_the_Glare_of_Project_Lightning.
[3]
2020. NVMe 1.4a Specification. https://nvmexpress.org/developers/nvme-specification/.
[4]
Saba Ahmadian, Onur Mutlu, and Hossein Asadi. 2018. ECI-Cache: A High-Endurance and Cost-Efficient I/O Caching Scheme for Virtualized Platforms. Proceedings of the ACM on Measurement and Analysis of Computing Systems 2 (04 2018), 1--34.
[5]
Christoph Albrecht, Arif Merchant, Murray Stokely, Muhammad Waliji, and Eric Schrock. 2013. Janus: Optimal Flash Provisioning for Cloud Storage Workloads. In Usenix Technical Conference.
[6]
Dulcardo Arteaga, Jorge Cabrera, Jing Xu, Swaminathan Sundararaman, and Ming Zhao. 2016. CloudCache: On-demand Flash Cache Management for Cloud Computing. In 14th USENIX Conference on File and Storage Technologies (FAST 16). USENIX Association, Santa Clara, CA, 355--369. https://www.usenix.org/conference/fast16/technical-sessions/presentation/arteaga
[7]
IA Basheer and M Hajmeer. 2000. Artificial neural networks: fundamentals, computing, design, and application. Journal of Microbiological Methods 43 (2000), 3--31.
[8]
Kristof Beyls and Erik H. D'Hollander. 2001. Reuse Distance as a Metric for Cache Behavior. In Iasted Conference on Parallel & Distributed Computing & Systems.
[9]
Kristof Beyls and Erik H. D'Hollander. 2002. Reuse Distance-Based Cache Hint Selection. Springer Berlin Heidelberg.
[10]
Chandranil Chakraborttii, Vikas Sinha, and Heiner Litz. 2018. SSD QoS Improvements through Machine Learning. 511--511.
[11]
Jinhua Cui, Weiguo Wu, Yinfeng Wang, and Zhangfeng Duan. 2014. PT-LRU: A Probabilistic Page Replacement Algorithm for NAND Flash-based Consumer Electronics. IEEE Transactions on Consumer Electronics 60, 4 (2014), 614--622.
[12]
Jinhua Cui, Youtao Zhang, Weiguo Wu, Jun Yang, Yinfeng Wang, and Jianhang Huang. 2018. DLV: Exploiting Device Level Latency Variations for Performance Improvement on Flash Memory Storage Systems. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 37, 8 (2018), 1546--1559.
[13]
Hyeong-Jun Kim, Young-Sik Lee, and Jin-Soo Kim. 2016. NVMeDirect: A User-space I/O Framework for Application-specific Optimization on NVMe SSDs. In 8th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 16). USENIX Association, Denver, CO. https://www.usenix.org/conference/hotstorage16/workshop-program/presentation/kim
[14]
Ricardo Koller, Ali Jose Mashtizadeh, and Raju Rangaswami. 2015. Centaur: Host-side SSD Caching for Storage Performance Control. In 2015 IEEE International Conference on Autonomic Computing (ICAC).
[15]
D. Liu, N. Mi, J. Tai, X. Zhu, and J. Lo. 2014. VFRM: Flash Resource Manager in VMware ESX Server. In 2014 IEEE Network Operations and Management Symposium (NOMS). 1--7.
[16]
T. Luo, S. Ma, R. Lee, X. Zhang, D. Liu, and L. Zhou. 2013. S-CAVE: Effective SSD caching to improve virtual machine storage performance. In Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques. 103--112.
[17]
Fei Meng, Li Zhou, Xiaosong Ma, Sandeep Uttamchandani, and Deng Liu. 2014. vCacheShare: Automated Server Flash Cache Space Management in a Virtualization Environment. In 2014 USENIX Annual Technical Conference (USENIX ATC 14). USENIX Association, Philadelphia, PA, 133--144. https://www.usenix.org/conference/atc14/technical-sessions/presentation/meng
[18]
Qingpeng Niu, James Dinan, Qingda Lu, and P. Sadayappan. 2012. PARDA: A fast parallel reuse distance analysis algorithm. In IEEE International Parallel & Distributed Processing Symposium.
[19]
G Suh. 2004. Dynamic Cache Partitioning for CMP/SMT Systems. The Journal of Supercomputing - TJS (01 2004).
[20]
Arash Tavakkol, Juan Gómez-Luna, Mohammad Sadrosadati, Saugata Ghose, and Onur Mutlu. 2018. MQSim: A Framework for Enabling Realistic Studies of Modern Multi-Queue SSD Devices. In 16th USENIX Conference on File and Storage Technologies (FAST 18). USENIX Association, Oakland, CA, 49--66. https://www.usenix.org/conference/fast18/presentation/tavakkol
[21]
Matthew Wachs, Michael Abdelmalek, Eno Thereska, and Gregory R Ganger. 2007. Argon: Performance Insulation for Shared Storage Servers (CMU-PDL-06-106). (2007).
[22]
Yuejian Xie and Gabriel Loh. 2008. Dynamic classification of program memory behaviors in CMPs. (01 2008).
[23]
H. Xu and F. Mueller. 2018. Work-in-Progress: Making Machine Learning Real-Time Predictable. In 2018 IEEE Real-Time Systems Symposium (RTSS). 157--160.
[24]
Qiumin Xu, Huzefa Siyamwala, Mrinmoy Ghosh, Tameesh Suri, and Vijay Balakrishnan. 2015. Performance Analysis of NVMe SSDs and their Implication on Real World Databases. In the 8th ACM International Systems and Storage Conference.

Cited By

View all
  • (2024)LSTM-CRP: Algorithm-Hardware Co-Design and Implementation of Cache Replacement Policy Using Long Short-Term MemoryBig Data and Cognitive Computing10.3390/bdcc81001408:10(140)Online publication date: 21-Oct-2024
  • (2024)A Stable Idle Time Detection Platform for Real I/O WorkloadsACM Transactions on Architecture and Code Optimization10.1145/369587121:4(1-23)Online publication date: 20-Nov-2024
  • (2024)Using a random forest to predict quantized reuse distance in an SSD write bufferComputing10.1007/s00607-024-01343-5106:12(3967-3986)Online publication date: 5-Sep-2024
  • Show More Cited By
  1. MLCache: a space-efficient cache scheme based on reuse distance and machine learning for NVMe SSDs

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICCAD '20: Proceedings of the 39th International Conference on Computer-Aided Design
    November 2020
    1396 pages
    ISBN:9781450380263
    DOI:10.1145/3400302
    • General Chair:
    • Yuan Xie
    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]

    Sponsors

    In-Cooperation

    • IEEE CAS
    • IEEE CEDA
    • IEEE CS

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 17 December 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. NVMe SSDs
    2. cache partition
    3. machine learning
    4. neural network
    5. reuse distance

    Qualifiers

    • Research-article

    Funding Sources

    • National Natural Science Foundation of China
    • Hubei Provincial Natural Science Foundation of China
    • National Key Research and Development Program of China
    • Fundamental Research Funds for the Central Universities

    Conference

    ICCAD '20
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 457 of 1,762 submissions, 26%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)81
    • Downloads (Last 6 weeks)11
    Reflects downloads up to 21 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)LSTM-CRP: Algorithm-Hardware Co-Design and Implementation of Cache Replacement Policy Using Long Short-Term MemoryBig Data and Cognitive Computing10.3390/bdcc81001408:10(140)Online publication date: 21-Oct-2024
    • (2024)A Stable Idle Time Detection Platform for Real I/O WorkloadsACM Transactions on Architecture and Code Optimization10.1145/369587121:4(1-23)Online publication date: 20-Nov-2024
    • (2024)Using a random forest to predict quantized reuse distance in an SSD write bufferComputing10.1007/s00607-024-01343-5106:12(3967-3986)Online publication date: 5-Sep-2024
    • (2023)Re-architecting I/O Caches for Emerging Fast Storage DevicesProceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 310.1145/3582016.3582041(542-555)Online publication date: 25-Mar-2023
    • (2023)Improving 3-D NAND SSD Read Performance by Parallelizing Read-RetryIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.319125642:3(768-780)Online publication date: Mar-2023
    • (2023)Offline and Online Algorithms for Cache Allocation with Monte Carlo Tree Search and a Learned Model2023 IEEE 41st International Conference on Computer Design (ICCD)10.1109/ICCD58817.2023.00028(126-133)Online publication date: 6-Nov-2023
    • (2022)Design and Implementation of Reconfigurable Array Structure for Convolutional Neural Network Supporting Data Reuse2022 Asia-Pacific Signal and Information Processing Association Annual Summit and Conference (APSIPA ASC)10.23919/APSIPAASC55919.2022.9980034(170-177)Online publication date: 7-Nov-2022
    • (2022)A Write-Related and Read-Related DRAM Allocation Strategy Inside Solid-State Drives (SSDs)ACM Transactions on Embedded Computing Systems10.1145/356130122:1(1-32)Online publication date: 29-Oct-2022
    • (2022)Improving Fairness for SSD Devices through DRAM Over-Provisioning Cache ManagementIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2022.314329533:10(2444-2454)Online publication date: 1-Oct-2022
    • (2022)SSD internal cache management policiesJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2021.102334122:COnline publication date: 1-Jan-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media