skip to main content
10.1145/2814576.2814734acmconferencesArticle/Chapter ViewAbstractPublication PagesmiddlewareConference Proceedingsconference-collections
research-article
Open Access

Pannier: A Container-based Flash Cache for Compound Objects

Published:24 November 2015Publication History

ABSTRACT

Classic caching algorithms leverage recency, access count, and/or other properties of cached blocks at per-block granularity. However, for media such as flash which have performance and wear penalties for small overwrites, implementing cache policies at a larger granularity is beneficial. Recent research has focused on buffering small blocks and writing in large granularities, called containers, but it has not explored the ramifications and best strategies for caching compound blocks consisting of logically distinct, but physically co-located, blocks. Containers may have highly diverse blocks, with mixtures of frequently accessed, infrequently accessed, and invalidated blocks.

We propose and evaluate Pannier, a flash cache middleware that provides high performance while extending flash lifespan. Pannier uses three main techniques: (1) leveraging block access counts to manage cache containers, (2) incorporating block liveness as a property to improve flash cache space efficiency, and (3) designing a multi-step feedback controller to ensure a flash cache does not wear out in its lifespan while maintaining performance. Our evaluation shows that Pannier improves flash cache performance and extends lifespan beyond previous per-block and container-aware caching policies. More fundamentally, our investigation highlights the importance of creating new policies for caching compound blocks in flash.

References

  1. A. Badam and V. S. Pai. SSDAlloc: Hybrid SSD/RAM Memory Management Made Easy. NSDI, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. L. A. Belady. A Study of Replacement Algorithms for a Virtual-storage Computer. IBM Syst. J., 1966. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Breslau et al. Web Caching and Zipf-like Distributions: Evidence and Implications. INFOCOM, 1999.Google ScholarGoogle ScholarCross RefCross Ref
  4. M. Busari and C. Williamson. ProWGen: A Synthetic Workload Generation Tool for Simulation Evaluation of Web Proxy Caches. Comput. Netw., 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Cao and S. Irani. Cost-aware WWW Proxy Caching Algorithms. USITS, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. F. Chen, D. A. Koufaty, and X. Zhang. Understanding Intrinsic Characteristics and System Implications of Flash Memory Based Solid State Drives. SIGMETRICS, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. J. Dean and L. A. Barroso. The Tail at Scale. Commun. ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. G. Einziger and R. Friedman. TinyLFU: A Highly Efficient Cache Admission Policy. IEEE PDP, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Y. Hu et al. Performance Impact and Interplay of SSD Parallelism Through Advanced Commands, Allocation Strategy and Data Granularity. ICS, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. A. Jaleel et al. High Performance Cache Replacement Using Re-reference Interval Prediction (RRIP). ISCA, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Jeon et al. Workload Characterization and Performance Implications of Large-Scale Blog Servers. ACM TOW, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Jiang and X. Zhang. LIRS: An Efficient Low Inter-reference Recency Set Replacement Policy to Improve Buffer Cache Performance. SIGMETRICS, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. H. Jo et al. FAB: Flash-aware Buffer Management Policy for Portable Media Players. IEEE TOCE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Karedla, J. S. Love, and B. G. Wherry. Caching Strategies to Improve Disk System Performance. Computer, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Kavalanekar et al. Characterization of Storage Workload Traces from Production Windows Servers. IISWC, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  16. H. Kim and S. Ahn. BPLRU: A Buffer Management Scheme for Improving Random Writes in Flash Storage. FAST, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. C. Li et al. Nitro: A Capacity-Optimized SSD Cache for Primary Storage. USENIX ATC, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. N. Megiddo and D. S. Modha. ARC: A Self-Tuning, Low Overhead Replacement Cache. FAST, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Micron MLC SSD Specification, 2013. http://www.micron.com/products/nand-flash/.Google ScholarGoogle Scholar
  20. S. Muralidhar et al. f4: Facebook's Warm BLOB Storage System. OSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. D. Narayanan, A. Donnelly, and A. Rowstron. Write Off-loading: Practical Power Management for Enterprise Storage. FAST, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Y. Oh et al. Caching Less for Better Performance: Balancing Cache Size and Update Cost of Flash Memory Cache in Hybrid Storage Systems. FAST, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Ouyang et al. SDF: Software-defined Flash for Webscale Internet Storage Systems. ASPLOS, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. V. Phalke and B. Gopinath. An Inter-reference Gap Model for Temporal Locality in Program Behavior. SIGMETRICS, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. Qin, A. D. Brown, and A. Goel. Reliable Writeback for Client-side Flash Caches. USENIX ATC, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. K. Qureshi et al. Adaptive Insertion Policies for High Performance Caching. ISCA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. T. Robinson and M. V. Devarakonda. Data Cache Management Using Frequency-based Replacement. SIGMETRICS, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Rosenblum and J. K. Ousterhout. The Design and Implementation of A Log-structured File System. ACM TOCS, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Samsung Server SSD Specification. www.samsung.com/serverssd/, 2015.Google ScholarGoogle Scholar
  30. SanDisk SATA Solid State Drives. http://www.sandisk.com/enterprise/sata-ssd/, 2015.Google ScholarGoogle Scholar
  31. M. Saxena, M. M. Swift, and Y. Zhang. FlashTier: A Lightweight, Consistent and Durable Storage Cache. EuroSys, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. H. Shim, P. Shilane, and W. Hsu. Characterization of Incremental Data Changes for Efficient Data Protection. USENIX ATC, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Y. Smaragdakis, S. Kaplan, and P. Wilson. EELRU: Simple and Effective Adaptive Page Replacement. SIGMETRICS, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. L. Sonneborn and F. Van Vleck. The Bang-Bang Principle for Linear Control Systems. SIAM J. Control, 1965.Google ScholarGoogle Scholar
  35. L. Tang et al. RIPQ: Effective Photo Caching Algorithm for Facebook. FAST, 2015.Google ScholarGoogle Scholar
  36. J. Wang and Y. Hu. WOLF--A Novel Reordering Write Buffer to Boost the Performance of Log-Structured File System. FAST, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. J. Wilkes et al. The HP AutoRAID Hierarchical Storage System. SOSP, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Y. Zhou, Z. Chen, and K. Li. The Multi-Queue Replacement Algorithm for Second Level Buffer Caches. USENIX ATC, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Pannier: A Container-based Flash Cache for Compound Objects

      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
      • Published in

        cover image ACM Conferences
        Middleware '15: Proceedings of the 16th Annual Middleware Conference
        November 2015
        295 pages
        ISBN:9781450336185
        DOI:10.1145/2814576

        Copyright © 2015 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: 24 November 2015

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • Research
        • Refereed limited

        Acceptance Rates

        Middleware '15 Paper Acceptance Rate23of118submissions,19%Overall Acceptance Rate203of948submissions,21%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader