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

Improving Flash-Based Disk Cache with Lazy Adaptive Replacement

Published: 26 February 2016 Publication History

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.
[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.
[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.
[4]
L. A. Belady. 1966. A study of replacement algorithms for a virtual-storage computer. IBM Systems Journal 5, 2, 78--101.
[5]
Alan D. Brunelle. 2007. Blktrace User Guide. Retrieved January 6, 2016, from http://www.cse.unsw.edu.au/∼aaronc/iosched/doc/blktrace.html.
[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.
[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.
[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.
[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.
[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.
[11]
Facebook. 2010. Flashcache. Retrieved December 6, 2015, from https://github.com/facebook/flashcache/.
[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.
[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.
[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).
[15]
HP. 2014. Adaptive Optimization for HP 3PAR StoreServ Storage. Retrieved December 18, 2014, from http://h20195.www2.hp.com/V2/GetPDF.aspx.
[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.
[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.
[18]
IBM. 2013. IBM System Storage DS8000 Easy Tier. Retrieved June 20, 2014, from http://www.redbooks.ibm.com/abstracts/redp4667.html.
[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.
[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.
[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.
[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.
[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.
[24]
Avinash Lakshman and Prashant Malik. 2010. Cassandra: A decentralized structured storage system. ACM SIGOPS Operating Systems Review 44, 2, 35--40.
[25]
Adam Leventhal. 2008. Flash storage memory. Communications of the ACM 51, 7, 47--51.
[26]
Ren-Shuo Liu, Chia-Lin Yang, and Wei Wu. 2012. Optimizing NAND flash-based SSDs via retention relaxation. Target 11, 10.
[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.
[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.
[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.
[30]
M. Peters. 2009. Netapps Solid State Hierarchy. ESG White Paper.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[38]
Seagate. 2014. DuraClass Technology. Retrieved December 18, 2014, from http://www.seagate.com/fr/fr/tech-insights/duraclass-technology-master-ti.
[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.
[40]
University of Massachusetts. 2007. UMass Trace Repository. Retrieved on July 20, 2013, from http://traces.cs.umass.edu/index.php/Storage/Storage.
[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.
[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.

Cited By

View all
  • (2024)BERT4Cache: a bidirectional encoder representations for data prefetching in cachePeerJ Computer Science10.7717/peerj-cs.225810(e2258)Online publication date: 29-Aug-2024
  • (2024)OptimusPrime: Unleash Dataplane Programmability through a Transformable ArchitectureProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672214(904-920)Online publication date: 4-Aug-2024
  • (2024)SLAP: Segmented Reuse-Time-Label Based Admission Policy for Content Delivery Network CachingACM Transactions on Architecture and Code Optimization10.1145/364655021:2(1-24)Online publication date: 9-Feb-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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: 01 February 2015
Revised: 01 December 2014
Received: 01 August 2013
Published in TOS Volume 12, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Cache algorithm
  2. endurance
  3. flash memory
  4. solid-state drive

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • Technology and Research (A*STAR), Singapore
  • National Basic Research Program of China (973 Program)
  • Agency for Science
  • National High Technology Research and Development Program (“863” Program) of China
  • Natural Science Foundation of Hubei Province
  • National Natural Science Foundation of China (NSFC)

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)68
  • Downloads (Last 6 weeks)3
Reflects downloads up to 11 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)BERT4Cache: a bidirectional encoder representations for data prefetching in cachePeerJ Computer Science10.7717/peerj-cs.225810(e2258)Online publication date: 29-Aug-2024
  • (2024)OptimusPrime: Unleash Dataplane Programmability through a Transformable ArchitectureProceedings of the ACM SIGCOMM 2024 Conference10.1145/3651890.3672214(904-920)Online publication date: 4-Aug-2024
  • (2024)SLAP: Segmented Reuse-Time-Label Based Admission Policy for Content Delivery Network CachingACM Transactions on Architecture and Code Optimization10.1145/364655021:2(1-24)Online publication date: 9-Feb-2024
  • (2024)No Clash on Cache: Observations from a Multi-tenant Ecommerce PlatformProceedings of the 15th ACM/SPEC International Conference on Performance Engineering10.1145/3629526.3645039(258-266)Online publication date: 7-May-2024
  • (2024)Application and user-specific data prefetching and parallel read algorithms for distributed file systemsCluster Computing10.1007/s10586-023-04160-127:3(3593-3613)Online publication date: 1-Jun-2024
  • (2023)HRFP: Highly Relevant Frequent Patterns-Based Prefetching and Caching Algorithms for Distributed File SystemsElectronics10.3390/electronics1205118312:5(1183)Online publication date: 1-Mar-2023
  • (2023)An Empirical Analysis on Memcached's Replacement PoliciesProceedings of the International Symposium on Memory Systems10.1145/3631882.3631883(1-10)Online publication date: 2-Oct-2023
  • (2023)FIFO queues are all you need for cache evictionProceedings of the 29th Symposium on Operating Systems Principles10.1145/3600006.3613147(130-149)Online publication date: 23-Oct-2023
  • (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)CacheSack: Theory and Experience of Google’s Admission Optimization for Datacenter Flash CachesACM Transactions on Storage10.1145/358201419:2(1-24)Online publication date: 6-Mar-2023
  • Show More Cited By

View Options

Get Access

Login options

Full Access

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