skip to main content
research-article

Improving Flash-Based Disk Cache with Lazy Adaptive Replacement

Authors Info & Claims
Published:26 February 2016Publication History
Skip Abstract Section

Abstract

For years, the increasing popularity of flash memory has been changing storage systems. Flash-based solid-state drives (SSDs) are widely used as a new cache tier on top of hard disk drives (HDDs) to speed up data-intensive applications. However, the endurance problem of flash memory remains a concern and is getting worse with the adoption of MLC and TLC flash. In this article, we propose a novel cache management algorithm for flash-based disk cache named Lazy Adaptive Replacement Cache (LARC). LARC adopts the idea of selective caching to filter out seldom accessed blocks and prevent them from entering cache. This avoids cache pollution and preserves popular blocks in cache for a longer period of time, leading to a higher hit rate. Meanwhile, by avoiding unnecessary cache replacements, LARC reduces the volume of data written to the SSD and yields an SSD-friendly access pattern. In this way, LARC improves the performance and endurance of the SSD at the same time. LARC is self-tuning and incurs little overhead. It has been extensively evaluated by both trace-driven simulations and synthetic benchmarks on a prototype implementation. Our experiments show that LARC outperforms state-of-art algorithms for different kinds of workloads and extends SSD lifetime by up to 15.7 times.

References

  1. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of the 2008 USENIX Annual Technical Conference (USENIX ATC’08). 57--70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Raja Appuswamy, David C. van Moolenbroek, and Andrew S. Tanenbaum. 2013. Cache, cache everywhere, flushing all hits down the sink: On exclusivity in multilevel, hybrid caches. In Proceedings of the 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST’13). IEEE, Los Alamitos, CA, 1--14.Google ScholarGoogle Scholar
  3. Anirudh Badam and Vivek S. Pai. 2011. SSDAlloc: Hybrid SSD/RAM memory management made easy. In Proceedings of the 8th USENIX Conference on Networked Systems Design and Implementation. 16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. A. Belady. 1966. A study of replacement algorithms for a virtual-storage computer. IBM Systems Journal 5, 2, 78--101. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Alan D. Brunelle. 2007. Blktrace User Guide. Retrieved January 6, 2016, from http://www.cse.unsw.edu.au/∼aaronc/iosched/doc/blktrace.html.Google ScholarGoogle Scholar
  6. M. Canim, G. A. Mihaila, B. Bhattacharjee, K. A. Ross, and C. A. Lang. 2010. SSD bufferpool extensions for database systems. Proceedings of the VLDB Endowment 3, 1--2, 1435--1446. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Feng Chen, David A. Koufaty, and Xiaodong Zhang. 2011. Hystor: Making the best use of solid state drives in high performance storage systems. In Proceedings of the International Conference on Supercomputing (ICS’11). ACM, New York, NY, 22--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing. ACM, New York, NY, 143--154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Debnath, S. Sengupta, and J. Li. 2010. ChunkStash: Speeding up inline storage deduplication using flash memory. In Proceedings of the 2010 USENIX Annual Technical Conference (USENIX ATC’10). 16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. EMC. 2012. EMC Infrastructure for VMware Cloud Environments—EMC Symmetrix VMAX 40K, EMC Symmetrix FAST VP, EMC SRDF, NEC Express5800/A1080a-E, VMware vSphere 5.0. Retrieved June 20, 2014, from http://www.emc.com/collateral/software/white-papers/h10568-vmax-40k-fast-vp-vmware-cloud-wp.pdf.Google ScholarGoogle Scholar
  11. Facebook. 2010. Flashcache. Retrieved December 6, 2015, from https://github.com/facebook/flashcache/.Google ScholarGoogle Scholar
  12. Laura M. Grupp, John D. Davis, and Steven Swanson. 2012. The bleak future of NAND flash memory. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). 2. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Guerra, H. Pucha, J. Glider, W. Belluomini, and R. Rangaswami. 2011. Cost effective storage using extent based dynamic tiering. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST’11). 20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. David A. Holland, Elaine Lee Angelino, Gideon Wald, and Margo I. Seltzer. 2013. Flash caching on the storage client. In Proceedings of the 2013 USENIX Annual Technical Conference (USENIX ATC’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. HP. 2014. Adaptive Optimization for HP 3PAR StoreServ Storage. Retrieved December 18, 2014, from http://h20195.www2.hp.com/V2/GetPDF.aspx.Google ScholarGoogle Scholar
  16. Ping Huang, Pradeep Subedi, Xubin He, Shuang He, and Ke Zhou. 2014. FlexECC: Partially relaxing ECC of MLC SSD for better cache performance. In Proceedings of the 2014 USENIX Annual Technical Conference (USENIX ATC’14). 489--500. http://blogs.usenix.org/conference/atc14/technical-sessions/presentation/ huang. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Sai Huang, Qingsong Wei, Jianxi Chen, Cheng Chen, and Dan Feng. 2013. Improving flash-based disk cache with lazy adaptive replacement. In Proceedings of the 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST’13). 1--10. DOI:http://dx.doi.org/10.1109/MSST.2013.6558447Google ScholarGoogle ScholarCross RefCross Ref
  18. IBM. 2013. IBM System Storage DS8000 Easy Tier. Retrieved June 20, 2014, from http://www.redbooks.ibm.com/abstracts/redp4667.html.Google ScholarGoogle Scholar
  19. S. Jiang and X. Zhang. 2002. LIRS: An efficient low inter-reference recency set replacement policy to improve buffer cache performance. ACM SIGMETRICS Performance Evaluation Review 30, 1, 31--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Theodore Johnson and Dennis Shasha. 1994. 2Q: A low overhead high performance buffer management replacement algorithm. In Proceedings of 20th International Conference on Very Large Data Bases (VLDB’94). 439--450. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. S. Kavalanekar, B. Worthington, Q. Zhang, and V. Sharda. 2008. Characterization of storage workload traces from production windows servers. In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC’08). IEEE, Los Alamitos, CA, 119--128.Google ScholarGoogle Scholar
  22. Taeho Kgil, David Roberts, and Trevor Mudge. 2008. Improving NAND flash based disk caches. In Proceedings of the 35th Annual International Symposium on Computer Architecture (ISCA’08). IEEE, Los Alamitos, CA, 327--338. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. Koller and R. Rangaswami. 2010. I/O deduplication: Utilizing content similarity to improve I/O performance. ACM Transactions on Storage 6, 3, 13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Avinash Lakshman and Prashant Malik. 2010. Cassandra: A decentralized structured storage system. ACM SIGOPS Operating Systems Review 44, 2, 35--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Adam Leventhal. 2008. Flash storage memory. Communications of the ACM 51, 7, 47--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Ren-Shuo Liu, Chia-Lin Yang, and Wei Wu. 2012. Optimizing NAND flash-based SSDs via retention relaxation. Target 11, 10.Google ScholarGoogle Scholar
  27. N. Megiddo and D. S. Modha. 2003. ARC: A self-tuning, low overhead replacement cache. In Proceedings of the 2nd USENIX Conference on File and Storage Technologies (FAST’03). 115--130. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Dushyanth Narayanan, Eno Thereska, Austin Donnelly, Sameh Elnikety, and Antony Rowstron. 2009. Migrating server storage to SSDs: Analysis of tradeoffs. In Proceedings of the 4th ACM European Conference on Computer Systems (EuroSys’09). ACM, New York, NY, 145--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Y. Oh, J. Choi, D. Lee, and S. H. Noh. 2012. Caching less for better performance: Balancing cache size and update cost of flash memory cache in hybrid storage systems. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST’12). 25--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. M. Peters. 2009. Netapps Solid State Hierarchy. ESG White Paper.Google ScholarGoogle Scholar
  31. T. Pritchett and M. Thottethodi. 2010. SieveStore: A highly-selective, ensemble-level disk cache for cost-performance. ACM SIGARCH Computer Architecture News 38, 3, 163--174. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. John T. Robinson and Murthy V. Devarakonda. 1990. Data cache management using frequency-based replacement. ACM SIGMETRICS Performance Evaluation Review 18, 1, 134--142. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Samsung. 2013. Samsung Solid State Drive TurboWrite Technology. Retrieved December 18, 2014, from http://www.samsung.com/global/business/semiconductor/samsungssd/downloads/Samsung_SSD_TurboWrite_Whitepaper.pdf.Google ScholarGoogle Scholar
  34. Mohit Saxena and Michael M. Swift. 2010. FlashVM: Virtual memory management on flash. In Proceedings of the 2010 USENIX Annual Technical Conference (USENIX ATC’10). 14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Mohit Saxena, Michael M. Swift, and Yiying Zhang. 2012. FlashTier: A lightweight, consistent and durable storage cache. In Proceedings of the 7th ACM European Conference on Computer Systems. ACM, New York, NY, 267--280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. B. Schroeder, A. Wierman, and M. Harchol-Balter. 2006. Open versus closed: A cautionary tale. In Proceedings of the 3rd Conference on Networked Systems Design and Implementation, Vol. 3. 18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Seagate. 2012. Data Sheet: Momentus XT SSHD. Retrieved June 20, 2014, from http://www.seagate.com/files/staticfiles/docs/pdf/ datasheet/disc/momentus-xt-data-sheet-ds-1704-5-1209us.pdf.Google ScholarGoogle Scholar
  38. Seagate. 2014. DuraClass Technology. Retrieved December 18, 2014, from http://www.seagate.com/fr/fr/tech-insights/duraclass-technology-master-ti.Google ScholarGoogle Scholar
  39. Yannis Smaragdakis, Scott Kaplan, and Paul Wilson. 1999. EELRU: Simple and effective adaptive page replacement. ACM SIGMETRICS Performance Evaluation Review 27, 1, 122--133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. University of Massachusetts. 2007. UMass Trace Repository. Retrieved on July 20, 2013, from http://traces.cs.umass.edu/index.php/Storage/Storage.Google ScholarGoogle Scholar
  41. Q. Yang and J. Ren. 2011. I-CASH: Intelligently coupled array of SSD and HDD. In Proceedings of the 2011 IEEE 17th International Symposium on High Performance Computer Architecture (IIPCA’1). IEEE, Los Alamitos, CA, 278--289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Y. Zhou, J. F. Philbin, and K. Li. 2001. The multi-queue replacement algorithm for second level buffer caches. In Proceedings of the 2002 USENIX Annual Technical Conference (USENIX ATC’01). 91--104. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Improving Flash-Based Disk Cache with Lazy Adaptive Replacement

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Storage
          ACM Transactions on Storage  Volume 12, Issue 2
          February 2016
          134 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/2888404
          Issue’s Table of Contents

          Copyright © 2016 ACM

          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: 26 February 2016
          • Accepted: 1 February 2015
          • Revised: 1 December 2014
          • Received: 1 August 2013
          Published in tos Volume 12, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader