skip to main content
10.1145/2925426.2926263acmconferencesArticle/Chapter ViewAbstractPublication PagesicsConference Proceedingsconference-collections
research-article

GCaR: Garbage Collection aware Cache Management with Improved Performance for Flash-based SSDs

Published: 01 June 2016 Publication History

Abstract

Garbage Collection (GC) is an important performance concern for flash-based SSDs, because it tends to disrupt the normal operations of an SSD. This problem continues to plague flash-based storage systems, particularly in the high performance computing and enterprise environment. An important root cause for this problem, as revealed by previous studies, is the serious contention for the flash resources and the severe mutually adversary interference between the user I/O requests and GC-induced I/O requests. The on-board buffer cache within SSDs serves to play an essential role in smoothing the gap between the upper-level applications and the lower-level flash chips and alleviating this problem to some extend. Nevertheless, the existing cache replacement algorithms are well optimized to reduce the miss rate of the buffer cache by reducing the I/O traffic to the flash chips as much as possible, but without considering the GC operations within the flash chips. Consequently, they fail to address the root cause of the problem and thus are far from being sufficient and effective in reducing the expensive I/O traffic to the flash chips that are in the GC state.
To address this important performance issue in flash-based storage systems, particularly in the HPC and enterprise environment, we propose a Garbage Collection aware Replacement policy, called GCaR, to improve the performance of flash-based SSDs. The basic idea is to give higher priority to caching the data blocks belonging to the flash chips that are in the GC state. This substantially lessens the contentions between the user I/O operations and the GC-induced I/O operations. To verify the effectiveness of GCaR, we have integrated it into the SSD extended Disksim simulator. The simulation results show that GCaR can significantly improve the storage performance by reducing the average response time by up to 40.7%.

References

[1]
N. Agrawal, V. Prabhakaran, T. Wobber, J. Davis, M. Manasse, and R. Panigrahy. Design Tradeoffs for SSD Performance. In Proceedings of the 2008 USENIX Annual Technical Conference (USENIX'08), Boston, MA, Jun. 2008.
[2]
Block I/O Traces in SNIA. http://iotta.snia.org/tracetypes/3.
[3]
J. Bucy, J. S. Schindler, S. W. Schlosser, and G. R. Ganger. The DiskSim Simulation Environment Version 4.0 Reference Manual. May 2008.
[4]
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 Proceedings of the 2010 International Conference for High Performance Computing, Networking, Storage and Analysis (SC'10), New Orleans, LA, Nov. 2010.
[5]
F. Chen, D. A. Koufaty, and X. Zhang. Hystor: Making the Best Use of Solid State Drives in High Performance Storage Systems. In Proceedings of the 25th International Conference on Supercomputing (ICS'11), Tucson, AZ, USA, Jun. 2011.
[6]
A. Gupta, Y. Kim, and B. Urgaonkar. DFTL: A Flash Translation Layer Employing Demand-based Selective Caching of Page-level Address Mappings. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'09), Washington, DC, USA, Mar. 2009.
[7]
W. W. S. Hsu and A. J. Smith. The Performance Effect of I/O Optimizations and Disk Improvements. IBM Journal Research and Development, 48(2):255--289, 2004.
[8]
J. Hu, H. Jiang, and Prakash. Understanding Performance Anomalies of SSDs and Their Impact in Enterprise Application Environment. In Proceedings of the 12th Joint ACM SIGMETRICS/Performance Conference (SIGMETRICS'12), London, UK, Jun. 2012.
[9]
J. Hu, H. Jiang, L. Tian, and L. Xu. PUD-LRU: An Erase-Efficient Write Buffer Management Algorithm for Flash Memory SSD. In Proceedings of The 18th Annual Meeting of the IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS'10), Aug. 2010.
[10]
J. Hu, H. Jiang, L. Tian, and L. Xu. GC-ARM: Garbage Collection-Aware RAM Management for Flash based Solid State Drives. In Proceedings of the 7th IEEE International Conference on Networking, Architecture, and Storage (NAS'12), Jun. 2012.
[11]
X. Hu, X. Wang, Y. Li, L. Zhou, Y. Luo, C. Ding, S. Jiang, and Z. Wang. LAMA: Optimized Locality-aware Memory Allocation for Key-value Cache. In Proceedings of 2015 USENIX Annual Technical Conference (USENIX'15), Santa Clara, CA, USA, Jun. 2015.
[12]
Y. Hu, H. Jiang, D. Feng, H. Luo, and L. Tian. PASS: A Proactive and Adaptive SSD Buffer Scheme for Data-Intensive Workloads. In Proceedings of The 10th IEEE International Conference on Networking, Architecture, and Storage (NAS'15), Aug. 2015.
[13]
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 Proceedings of the 25th International Conference on Supercomputing (ICS'11), Tucson, AZ, USA, Jun. 2011.
[14]
H. Jo, J. Kang, S. Park, J. Kim, and J. Lee. FAB: Flash-Aware Buffer Management Policy for Portable Media Players. IEEE Transactions on Consumer Electronics, 52(2):485--493, 2006.
[15]
M. Jung, W. Choi, J. Shalf, and M. Kandemir. Triple-a: A non-ssd based autonomic all-flash array for scalable high performance computing storage systems. In Proceedings of 19th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'14), Salt Lake City, Utah, Mar. 2014.
[16]
M. Jung, W. Choi, S. Srikantaiah, J. Yoo, and M. Kandemir. Hios: A host interface i/o scheduler for solid state disks. In Proceedings of the 41st International Symposium on Computer Architecture (ISCA'14), Minneapolis, MN, Jun. 2014.
[17]
M. Jung and M. Kandemir. Sprinkler: Maximizing resource utilization in many-chip solid state disks. In Proceedings of the 20th IEEE International Symposium On High Performance Computer Architecture (HPCA'14), Orlando, Florida, USA, Feb. 2014.
[18]
M. Jung, R. Prabhakar, and M. Kandemir. Taking Garbage Collection Overheads off the Critical Path in SSDs. In Proceedings of the ACM/IFIP/USENIX 13th International Conference on Middleware (Middleware'12), Montreal, Quebec, Canada, Dec. 2012.
[19]
H. Kim and S. Ahn. BPLRU: a Buffer Management Scheme for Improving Random Writes in Flash Storage. In Proceedings of the 6th USENIX Conference on File and Storage Technologies (FAST'08), San Jose, CA, Feb. 2008.
[20]
Y. Kim, R. Gunasekaran, G. M. Shipman, D. A. Dillow, Z. Zhang, and B. W. Settlemyer. Workload Characterization of a Leadership Class Storage. In Proceedings of the 5th Petascale Data Storage Workshop Supercomputing (PDSW'10), New Orleans, LA, Nov. 2010.
[21]
Y. Kim, S. Oral, G. M. Shipman, J. Lee, D. A. Dillow, and F. Wang. Harmonia: A Globally Coordinated Garbage Collector for Arrays of Solid-state Drives. In Proceedings of the 27th IEEE Symposium on Mass Storage Systems and Technologies (MSST'11), Denver, CO, May 2011.
[22]
J. Lee, Y. Kim, G. Shipman, S. Oral, F. Wang, and J. Kim. A Semi-Preemptive Garbage Collector for Solid State Drives. In Proceedings of the 2011 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS'11), Austin, TX, Apr. 2011.
[23]
B. Mao, H. Jiang, S. Wu, Y. Fu, and L. Tian. Sar: Ssd assisted restore optimization for deduplication-based storage systems in the cloud. In Proceedings of 7th IEEE International Conference on Networking, Architecture, and Storage (NAS'12), Xiamen, China, Jun. 2012.
[24]
B. Mao, H. Jiang, S. Wu, L. Tian, D. Feng, J. Chen, and L. Zeng. HPDA: A Hybrid Parity-based Disk Array for Enhanced Performance and Reliability. ACM Transactions on Storage, 8(1):1--20, 2012.
[25]
B. Mao and S. Wu. Exploiting Request Characteristics and Internal Parallelism to Improve SSD Performance. In Proceedings of the 33rd IEEE International Conference on Computer Design (ICCD'15), Oct. 2015.
[26]
D. Narayanan, E. Thereska, A. Donnelly, S. Elnikety, and A. Rowstron. Migrating Server Storage to SSDs: Analysis of Tradeoffs. In Proceedings of the 4th European Conference on Computer Systems (EuroSys'09), Nuremberg, Germany, Mar. 2009.
[27]
S. Oral, F. Wang, D. A. Dillow, G. M. Shipman, and R. Miller. Efficient Object Storage Journaling in a Distributed Parallel Filesystem. In Proceedings of the 8th USENIX Conference on File and Storage Technology (FAST'10), San Jose, CA, Feb. 2010.
[28]
S. Park, D. Jung, J. Kang, J. Kim, and J. Lee. CFLRU: a Replacement Algorithm for Flash Memory. In Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES'06), Oct. 2006.
[29]
H. Shim, B. Seo, J. Kim, and S. Maeng. An Adaptive Partitioning Scheme for DRAM-based Cache in Solid State Drives. In Proceedings of the 26th IEEE Symposium on Mass Storage Systems and Technologies (MSST'10), May 2010.
[30]
A. Tavakkol, M. Arjomand, and H. Sarbazi-Azad. Unleashing the potentials of dynamism for page allocation strategies in ssds. In Proceedings of the ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS'14), Austin, TX, USA, Jun. 2014.
[31]
Understanding SSD Performance Project of SNIA. http://www.snia.org/forums/sssi/pts.
[32]
S. Wan, Q. Cao, J. Huang, S. Li, X. Li, S. Zhan, L. Yu, C. Xie, and X. He. Victim Disk First: An Asymmetric Cache to Boost the Performance of Disk Arrays under Faulty Conditions. In Proceedings of the 2011 USENIX Annual Technical Conference (USENIX'11), Portland, OR, Jun. 2011.
[33]
W. Wang, T. Xie, and D. Zhou. Understanding the impact of threshold voltage on mlc flash memory performance and reliability. In Proceedings of the 2014 International Conference on Supercomputing (ICS'14), Muenchen, Germany, Jun. 2014.
[34]
G. Wu and B. He. Reducing SSD Read Latency via NAND Flash Program and Erase Suspension. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST'12), San Jose, CA, Feb. 2012.
[35]
S. Wu, B. Mao, D. Feng, and J. Chen. Availability-Aware Cache Management with Improved RAID Reconstruction Performance. In Proceedings of 13th IEEE International Conference on Computational Science and Engineering (CSE'10), Hong Kong, Dec. 2010.
[36]
X. Zhang, J. Li, H. Wang, K. Zhao, and T. Zhang. Reducing Solid-State Storage Device Write Stress through Opportunistic In-place Delta Compression. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST'16), Feb. 2016.
[37]
Q. Zhu, A. Shankar, and Y. Zhou. PB-LRU: A Self-tuning Power Aware Storage Cache Replacement Algorithm for Conserving Disk Energy. In Proceedings of the 18th Annual International Conference on Supercomputing (ICS'04), Malo, France, Jun. 2004.

Cited By

View all
  • (2025)ZRAID: Leveraging Zone Random Write Area (ZRWA) for Alleviating Partial Parity Tax in ZNS RAIDProceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 110.1145/3669940.3707248(1151-1165)Online publication date: 30-Mar-2025
  • (2024)Adaptive DRAM Cache Division for Computational Solid-state Drives2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546745(1-6)Online publication date: 25-Mar-2024
  • (2024)SSRAID: A Stripe-Queued and Stripe-Threaded Merging I/O Strategy to Improve Write Performance of Serial Interface SSD RAIDIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.344308335:10(1841-1853)Online publication date: Oct-2024
  • Show More Cited By
  1. GCaR: Garbage Collection aware Cache Management with Improved Performance for Flash-based SSDs

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICS '16: Proceedings of the 2016 International Conference on Supercomputing
    June 2016
    547 pages
    ISBN:9781450343619
    DOI:10.1145/2925426
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 June 2016

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Funding Sources

    Conference

    ICS '16
    Sponsor:

    Acceptance Rates

    Overall Acceptance Rate 629 of 2,180 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)25
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 09 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2025)ZRAID: Leveraging Zone Random Write Area (ZRWA) for Alleviating Partial Parity Tax in ZNS RAIDProceedings of the 30th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 110.1145/3669940.3707248(1151-1165)Online publication date: 30-Mar-2025
    • (2024)Adaptive DRAM Cache Division for Computational Solid-state Drives2024 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE58400.2024.10546745(1-6)Online publication date: 25-Mar-2024
    • (2024)SSRAID: A Stripe-Queued and Stripe-Threaded Merging I/O Strategy to Improve Write Performance of Serial Interface SSD RAIDIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.344308335:10(1841-1853)Online publication date: Oct-2024
    • (2024)Fast Online Reconstruction for SSD-Based RAID-5 Storage SystemsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2023.334803343:6(1886-1899)Online publication date: Jun-2024
    • (2024)LAC: A Workload Intensity-Aware Caching Scheme for High-Performance SSDsIEEE Transactions on Computers10.1109/TC.2024.338529073:7(1738-1752)Online publication date: Jul-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)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)Adaptive Management With Request Granularity for DRAM Cache Inside nand-Based SSDsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.322929342:8(2475-2487)Online publication date: Aug-2023
    • (2023)NCache: A Machine-Learning Cache Management Scheme for Computational SSDsIEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems10.1109/TCAD.2022.320876942:6(1810-1823)Online publication date: Jun-2023
    • (2023)DAC: A dynamic active and collaborative cache management scheme for solid state disksJournal of Systems Architecture10.1016/j.sysarc.2023.102896140(102896)Online publication date: Jul-2023
    • 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

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media