skip to main content
research-article

SlimCache: An Efficient Data Compression Scheme for Flash-based Key-value Caching

Authors Info & Claims
Published:10 June 2020Publication History
Skip Abstract Section

Abstract

Flash-based key-value caching is becoming popular in data centers for providing high-speed key-value services. These systems adopt slab-based space management on flash and provide a low-cost solution for key-value caching. However, optimizing cache efficiency for flash-based key-value cache systems is highly challenging, due to the huge number of key-value items and the unique technical constraints of flash devices. In this article, we present a dynamic on-line compression scheme, called SlimCache, to improve the cache hit ratio by virtually expanding the usable cache space through data compression. We have investigated the effect of compression granularity to achieve a balance between compression ratio and speed, and we leveraged the unique workload characteristics in key-value systems to efficiently identify and separate hot and cold data. To dynamically adapt to workload changes during runtime, we have designed an adaptive hot/cold area partitioning method based on a cost model. To avoid unnecessary compression, SlimCache also estimates data compressibility to determine whether the data are suitable for compression or not. We have implemented a prototype based on Twitter’s Fatcache. Our experimental results show that SlimCache can accommodate more key-value items in flash by up to 223.4%, effectively increasing throughput and reducing average latency by up to 380.1% and 80.7%, respectively.

References

  1. Daniel Abadi, Samuel Madden, and Miguel Ferreira. 2006. Integrating compression and execution in column-oriented database systems. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’06).Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Bulent Abali, Mohammad Banikazemi, Xiawei Shen, Hubertus Franke, Dan E. Poff, and T. Basil Smith. 2001. Hardware compressed main memory: Operating system support and performance evaluation. IEEE Trans. Comput. 50, 11 (Nov. 2001), 1219–1233. DOI:https://doi.org/10.1109/12.966496Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, and R. Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’08).Google ScholarGoogle Scholar
  4. Zhongqi An, Zhengyu Zhang, Qiang Li, Jing Xing, Hao Du, Zhan Wang, Zhigang Huo, and Jie Ma. 2017. Optimizing the datapath for key-value middleware with NVMe SSDs over RDMA interconnects. In Proceedings of the IEEE International Conference on Cluster Computing (CLUSTER’17). 582–586. DOI:https://doi.org/10.1109/CLUSTER.2017.69Google ScholarGoogle ScholarCross RefCross Ref
  5. Berk Atikoglu, Yuehai Xu, Eitan Frachtenberg, Song Jiang, and Mike Paleczny. 2012. Workload analysis of a large-scale key-value store. In Proceedings of the ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS’12).Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Vicenc Beltran, Jordi Torres, and Eduard Ayguad. 2008. Improving web server performance through main memory compression. In Proceeding of the 14th IEEE International Conference on Parallel and Distributed Systems (ICPADS’08).Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Michaela Blott, Kimon Karras, Ling Liu, Kees Vissers, Jeremia Baer, and Zsolt Istvan. 2013. Achieving 10Gbps line-rate key-value stores with FPGAs. In Proceedings of the 5th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud’13).Google ScholarGoogle Scholar
  8. Lee Breslau, Pei Cao, Li Fan, Graham Phillips, and Scott Shenker. 1999. Web caching and zipf-like distributions: Evidence and implications. In Proceedings of the 18th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOMM’99).Google ScholarGoogle ScholarCross RefCross Ref
  9. Damiano Carra and Pietro Michiard. 2014. Memory partitioning in memcached: An experimental performance analysis. In Proceedings of the IEEE International Conference on Communications (ICC’14).Google ScholarGoogle ScholarCross RefCross Ref
  10. Helen H. W. Chan, Yongkun Li, Patrick P. C. Lee, and Yinlong Xu. 2018. HashKV: Enabling efficient updates in KV storage via hashing. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’18). USENIX Association, 1007–1019. Retrieved from https://www.usenix.org/conference/atc18/presentation/chan.Google ScholarGoogle Scholar
  11. Feng Chen, Binbing Hou, and Rubao Lee. 2016. Internal parallelism of flash memory-based solid-state drives. ACM Trans. Stor. 12, 3 (May 2016), 13:1–13:39.Google ScholarGoogle Scholar
  12. Feng Chen, David Koufaty, and Xiaodong Zhang. 2009. Understanding intrinsic characteristics and system implications of flash memory-based solid state drives. In Proceedings of the ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems (SIGMETRICS/Performance’09).Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Feng Chen, Rubao Lee, and Xiaodong Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory-based solid state drives in high-speed data processing. In Proceedings of the 17th International Symposium on High Performance Computer Architecture (HPCA’11).Google ScholarGoogle ScholarCross RefCross Ref
  14. Seonghyeog Choi and Euiseong Seo. 2017. A selective compression scheme for in-memory cache of large-scale file systems. In Proceedings of the International Conference on Electronics, Information, and Communication (ICEIC’17).Google ScholarGoogle Scholar
  15. Asaf Cidon, Daniel Rushton, Stephen M. Rumble, and Ryan Stutsman. 2017. Memshare: A dynamic multi-tenant key-value cache. In Proceedings of 2017 USENIX Annual Technical Conference (USENIXATC’17). USENIX Association, 321–334. Retrieved from https://www.usenix.org/conference/atc17/technical-sessions/presentation/cidon.Google ScholarGoogle Scholar
  16. Gordon V. Cormack. 1985. Data compression on a database system. Commun. ACM 28, 12 (Dec. 1985), 1336–1342.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Rodrigo S. de Castro, Alair Pereira do Lago, and Dilma Da Silva. 2003. Adaptive compressed caching: Design and implementation. In Proceedings of the 15th Symposium on Computer Architecture and High Performance Computing (SBAC-PAD’03).Google ScholarGoogle ScholarCross RefCross Ref
  18. Biplob Debnath, Sudipta Sengupta, and Jin Li. 2011. SkimpyStash: RAM space skimpy key-value store on flash-based storage. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. DoromNakar and Shlomo Weiss. 2004. Selective main memory compression by identifying program phase changes. In Proceedings of the 23rd IEEE Convention of Electrical and Electronics Engineers in Israel.Google ScholarGoogle Scholar
  20. Assaf Eisenman, Asaf Cidon, Evgenya Pergament, Or Haimovich, Ryan Stutsman, Mohammad Alizadeh, and Sachin Katti. 2017. Flashield: A key-value cache that minimizes writes to flash. Retrieved from http://arxiv.org/abs/1702.02588.Google ScholarGoogle Scholar
  21. Assaf Eisenman, Asaf Cidon, Evgenya Pergament, Or Haimovich, Ryan Stutsman, Mohammad Alizadeh, and Sachin Katti. 2019. Flashield: A hybrid key-value cache that controls flash write amplification. In Proceedings of the 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI’19). USENIX Association, 65–78. Retrieved from https://www.usenix.org/conference/nsdi19/presentation/eisenman.Google ScholarGoogle Scholar
  22. Assaf Eisenman, Darryl Gardner, Islam AbdelRahman, Jens Axboe, Siying Dong, Kim Hazelwood, Chris Petersen, Asaf Cidon, and Sachin Katti. 2018. Reducing DRAM footprint with NVM in Facebook. In Proceedings of the 13th EuroSys Conference (EuroSys’18). ACM, New York, NY. DOI:https://doi.org/10.1145/3190508.3190524Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Facebook. 2013. McDipper: A Key-value Cache for Flash Storage. Retrieved from https://www.facebook.com/notes/facebook-engineering/mcdipper-a-key-value-cache-for-flash-storage/10151347090423920/.Google ScholarGoogle Scholar
  24. 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 (SoCC’10).Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Annie Foong and Frank Hady. 2016. Storage as fast as rest of the system. In Proceedings of the IEEE 8th International Memory Workshop (IMW’16). DOI:https://doi.org/10.1109/IMW.2016.7495289Google ScholarGoogle ScholarCross RefCross Ref
  26. Python Software Foundation. 2019. Text Generator based on Markov Chain. Retrieved from https://pypi.python.org/pypi/markovgen/0.5.Google ScholarGoogle Scholar
  27. Kingwa Fu. 2017. Weiboscope Open Data. Retrieved from https://hub.hku.hk/cris/dataset/dataset107483.Google ScholarGoogle Scholar
  28. Kingwa Fu, C. H. Chan, and Michael Chau.2013. Assessing censorship on microblogs in China: Discriminatory keyword analysis and impact evaluation of the real name registration policy. IEEE Internet Comput. 17, 3 (2013), 42–50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. GNU. 2018. Gzip. Retrieved from https://www.gnu.org/software/gzip/.Google ScholarGoogle Scholar
  30. Google. 2019. Snappy. Retrieved from https://github.com/google/snappy.Google ScholarGoogle Scholar
  31. Danny Harnik, Ronen Kat, Oded Margalit, Dmitry Sotnikov, and Avishay Traeger. 2013. To zip or not to zip: Effective resource usage for real-time compression. In Proceedings of the 11th USENIX Conference on File and Storage Technologies (FAST’13).Google ScholarGoogle Scholar
  32. Yihe Huang, Matej Pavlovic, Virendra Marathe, Margo Seltzer, Tim Harris, and Steve Byan. 2018. Closing the performance gap between volatile and persistent key-value stores using cross-referencing logs. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’18). USENIX Association, 967–979. Retrieved from https://www.usenix.org/conference/atc18/presentation/huang.Google ScholarGoogle Scholar
  33. Mark J. Huiskes and Michael S. Lew. 2008. The MIR flickr retrieval evaluation. In Proceedings of the ACM International Conference on Multimedia Information Retrieval (MIR’08).Google ScholarGoogle Scholar
  34. IBM. 2015. IBM Real-time Compression in IBM SAN Volume Controller and IBM Storwize V7000. Retrieved from http://www.redbooks.ibm.com/redpapers/pdfs/redp4859.pdf.Google ScholarGoogle Scholar
  35. Intel. 2012. Optane SSD. Retrieved from https://www.intel.com/content/www/us/en/products/memory-storage/solid-state-drives/consumer-ssds/optane-ssd-9-series/optane-ssd-900p-series/900p-280gb-aic-20nm.html.Google ScholarGoogle Scholar
  36. Intel. 2018. Intel SSD. Retrieved from https://www.intel.com/content/www/us/en/support/articles/000006354/memory-and-storage.html.Google ScholarGoogle Scholar
  37. Intel. 2020. Intel Optane Memory. Retrieved from https://www.intel.com/content/www/us/en/architecture-and-technology/optane-memory.html.Google ScholarGoogle Scholar
  38. Yichen Jia, Zili Shao, and Feng Chen. 2018. SlimCache: Exploiting data compression opportunities in flash-based key-value caching. In Proceedings of the IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’18). IEEE, 209–222.Google ScholarGoogle ScholarCross RefCross Ref
  39. Song Jiang, Feng Chen, and Xiaodong Zhang. 2005. CLOCK-Pro: An effective improvement of the CLOCK replacement. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’05).Google ScholarGoogle Scholar
  40. Xin Jin, Xiaozhou Li, Haoyu Zhang, Robert Soulé, Jeongkeun Lee, Nate Foster, Changhoon Kim, and Ion Stoica. 2017. NetCache: Balancing key-value stores with fast in-network caching. In Proceedings of the 26th Symposium on Operating Systems Principles (SOSP’17). ACM, New York, NY, 121–136. DOI:https://doi.org/10.1145/3132747.3132764Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Sudarsun Kannan, Nitish Bhat, Ada Gavrilovska, Andrea Arpaci-Dusseau, and Remzi Arpaci-Dusseau. 2018. Redesigning LSMs for nonvolatile memory with NoveLSM. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’18). USENIX Association, 993–1005. Retrieved from https://www.usenix.org/conference/atc18/presentation/kannan.Google ScholarGoogle Scholar
  42. Kornilios Kourtis, Nikolas Ioannou, and Ioannis Koltsidas. 2019. Reaping the performance of fast NVM storage with uDepot. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST’19). USENIX Association, 1–15. Retrieved from https://www.usenix.org/conference/fast19/presentation/kourtis.Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Sanjeev R. Kulkarni. 2002. Information, Entropy, and Coding. Lecture Notes for ELE201 Introduction to Electrical Signals and Systems, Princeton University, 2002.Google ScholarGoogle Scholar
  44. Harald Lang, Tobias Mühlbauer, Florian Funke, Peter Boncz, Thomas Neumann, and Alfons Kemper. 2016. Data blocks: Hybrid OLTP and OLAP on compressed storage using both vectorization and compilation. In Proceedings of the International Conference on Management of Data (SIGMOD’16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Larry Leemis. 2019. Zipf. Retrieved from http://www.math.wm.edu/ leemis/chart/UDR/PDFs/Zipf.pdf.Google ScholarGoogle Scholar
  46. Bojie Li, Zhenyuan Ruan, Wencong Xiao, Yuanwei Lu, Yongqiang Xiong, Andrew Putnam, Enhong Chen, and Lintao Zhang. 2017. KV-direct: High-performance in-memory key-value store with programmable NIC. In Proceedings of the 26th Symposium on Operating Systems Principles (SOSP’17). ACM, New York, NY, 137–152. DOI:https://doi.org/10.1145/3132747.3132756Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Sheng Li, Hyeontaek Lim, Victor W. Lee, Jung Ho Ahn, Anuj Kalia, Michael Kaminsky, David G. Andersen, Seongil O, Sukhan Lee, and Pradeep Dubey. 2015. Architecting to achieve a billion requests per second throughput on a single key-value store server platform. In Proceeding of the 42nd ACM/IEEE Annual International Symposium on Computer Architecture (ISCA’15).Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Hyeontaek Lim, Bin Fan, David G. Andersen, and Michael Kaminsky. 2011. SILT: A memory-efficient, high-performance key-value store. In Proceedings of the 23th Symposium on Operating Systems Principles (SOSP’11).Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Hyeontaek Lim, Dongsu Han, David G. Andersen, and Michael Kaminsky. 2014. MICA: A holistic approach to fast in-memory key-value storage. In Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI’14).Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Kevin Lim, David Meisner, Ali G. Saidi, Parthasarathy Ranganathan, and Thomas F. Wenisch. 2013. Thin servers with smart pipes: Designing SoC accelerators for memcached. In Proceeding of the 40th Annual International Symposium on Computer Architecture (ISCA’13).Google ScholarGoogle Scholar
  51. Lanyue Lu, Thanumalayan Sankaranarayana Pillai, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2016. WiscKey: Separating keys from values in SSD-conscious storage. In Proceedings of 14th USENIX Conference on File and Storage Technologies (FAST’16).Google ScholarGoogle Scholar
  52. lz4. 2019. Extremely Fast Compression. Retrieved from http://lz4.github.io/lz4/.Google ScholarGoogle Scholar
  53. Thanos Makatos, Yannis Klonatos, Manolis Marazakis, Michail D. Flouris, and Angelos Bilas. 2010. Using transparent compression to improve SSD-based I/O caches. In Proceedings of the 5th European Conference on Computer Systems (EuroSys’10).Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Yandong Mao, Eddie Kohler, and Robert Morris. 2012. Cache craftiness for fast multicore key-value storage. In Proceedings of the 7th ACM European Conference on Computer Systems (EuroSys’12).Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Leonardo Marmol, Swaminathan Sundararaman, Nisha Talagala, and Raju Rangaswami. 2015. NVMKV: A scalable, lightweight, FTL-aware key-value store. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’15). USENIX Association, 207–219. Retrieved from https://www.usenix.org/conference/atc15/technical-session/presentation/marmol.Google ScholarGoogle Scholar
  56. Venkata Lakshmi Marripudi and P. Yakaiah. 2015. Image compression based on multilevel thresholding image using shannon entropy for enhanced image. Global J. Adv. Eng. Technol. 4, 3 (2015), 271–274.Google ScholarGoogle Scholar
  57. N. Megiddo and D. Modha. 2003. ARC: A self-tuning, low overhead replacement cache. In Proceedings of the 2nd USENIX Conference on File and Storage (FAST’03).Google ScholarGoogle Scholar
  58. Memcached. 2018. A Distributed Memory Object Caching System. Retrieved from https://memcached.org/.Google ScholarGoogle Scholar
  59. MongoDB. 2019. WiredTiger Storage Engine. Retrieved from https://docs.mongodb.com/manual/core/wiredtiger/.Google ScholarGoogle Scholar
  60. Ingo Muller, Cornelius Ratsch, and Franz Faerber. 2014. Adaptive string dictionary compression in in-memory column-store database systems. In Proceedings of the 17th International Conference on Extending Database Technology (EDBT’14).Google ScholarGoogle Scholar
  61. Rajesh Nishtala, Hans Fugal, Steven Grimm, Marc Kwiatkowski, Herman Lee, Harry C. Li, Ryan McElroy, Mike Paleczny, Daniel Peek, Paul Saab, David Stafford, Tony Tung, and Venkateshwaran Venkataramani. 2013. Scaling memcache at Facebook. In Proceeding of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI’13).Google ScholarGoogle Scholar
  62. Xiangyong Ouyang, Nusrat S. Islam, Raghunath Rajachandrasekar, Jithin Jose, Miao Luo, Hao Wang, and Dhabaleswar K. Panda. 2012. SSD-assisted hybrid memory to accelerate memcached over high performance networks. In Proceeding of the 41st International Conference on Parallel Processing (ICPP’12).Google ScholarGoogle Scholar
  63. Anastasios Papagiannis, Giorgos Saloustros, Pilar González-Férez, and Angelos Bilas. 2016. Tucana: Design and implementation of a fast and efficient scale-up key-value store. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’16). USENIX Association, 537–550. Retrieved from https://www.usenix.org/conference/atc16/technical-sessions/presentation/papagiannis.Google ScholarGoogle Scholar
  64. Meikel Poess and Dmitry Potapov. 2003. Data compression in Oracle. In Proceedings of the 29th International Conference on Very Large Data Bases (VLDB’03).Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Reddit. 2015. Reddit Comments. Retrieved from https://www.reddit.com/r/datasets/comments/3bxlg7/i_have_every_publicly_available_reddit_comment/.Google ScholarGoogle Scholar
  66. Greg Roelofs, Jean-loup Gailly, and Mark Adler. 2017. Zlib. Retrieved from https://zlib.net/.Google ScholarGoogle Scholar
  67. Samsung. 2017. Ultra-Low Latency with Samsung Z-NAND SSD—Breakthrough Storage for a New Generation of Enterprise and Data Center Infrastructure. Retrieved from https://www.samsung.com/semiconductor/global.semi.static/Brochure_Samsung_S-ZZD_SZ985_1804.pdf.Google ScholarGoogle Scholar
  68. Samsung. 2018. Samsung Z-SSD SZ985 - Ultra-low Latency SSD for Enterprise and Data Centers—Brochure. Retrieved from https://www.samsung.com/semiconductor/global.semi.static/Brochure_Samsung_S-ZZD_SZ985_1804.pdf.Google ScholarGoogle Scholar
  69. Bon-Keun Seo, Seungryoul Maeng, Joonwon Lee, and Euiseong Seo. 2015. DRACO: A deduplicating FTL for tangible extra capacity. IEEE Comput. Architect. Lett. 14, 2 (July 2015), 123–126.Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Dimitrios N. Serpanos and Wayne H. Wolf. 1998. Caching web objects using Zipf’s law. Proc. SPIE 3527 (Oct. 1998), 320–326.Google ScholarGoogle Scholar
  71. Dipti Shankar, Xiaoyi Lu, Md Rahman, Nusrat Islam, and D. K. Panda. 2015. Benchmarking key-value stores on high-performance storage and interconnects for web-scale workloads. In Proceedings of the IEEE International Conference on Big Data (BigData’15). 539–544. DOI:https://doi.org/10.1109/BigData.2015.7363797Google ScholarGoogle Scholar
  72. C. E. Shannon. 1948. A mathematical theory of communication. Bell Syst. Tech. J. 27 (1948), 379–423.Google ScholarGoogle ScholarCross RefCross Ref
  73. Zhaoyan Shen, Feng Chen, Yichen Jia, and Zili Shao. 2017. DIDACache: A deep integration of device and application for flash-based key-value caching. In Proceedings of the 15th USENIX Conference on File and Storage Technologies (FAST’17).Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Linpeng Tang, Qi Huang, Wyatt Lloyd, Sanjeev Kumar, and Kai Li. 2015. RIPQ: Advanced photo caching on flash for Facebook. In Proceedings of 13th USENIX Conference on File and Storage Technologies (FAST’15). USENIX Association, 373–386. Retrieved from https://www.usenix.org/conference/fast15/technical-sessions/presentation/tang.Google ScholarGoogle Scholar
  75. Luca Trevisan. 2012. Kolmogorov Complexity. Retrieved from http://cs.stanford.edu/~trevisan/cs154-12/kolcomplexity-rev.pdf.Google ScholarGoogle Scholar
  76. Irina Chihaia Tuduce and Thomas Gross. 2005. Adaptive main memory compression. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’05).Google ScholarGoogle ScholarDigital LibraryDigital Library
  77. Twitter. 2011. Tweets2011. Retrieved from http://trec.nist.gov/data/tweets/.Google ScholarGoogle Scholar
  78. Twitter. 2013. Fatcache. Retrieved from https://github.com/twitter/fatcache.Google ScholarGoogle Scholar
  79. Kefei Wang and Feng Chen. 2018. Cascade mapping: Optimizing memory efficiency for flash-based key-value caching. In Proceedings of the ACM Symposium on Cloud Computing (SoCC’18). ACM, New York, NY, 464–476. DOI:https://doi.org/10.1145/3267809.3267847Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. Wikipedia. 2019. Entropy (Information Theory). Retrieved from https://en.wikipedia.org/wiki/Entropy_(information_theory).Google ScholarGoogle Scholar
  81. Paul R. Wilson, Scott F. Kaplan, and Yannis Smaragdakis. 1999. The case for compressed caching in virtual memory systems. In Proceedings of the USENIX Annual Technical Conference (USENIX ATC’99).Google ScholarGoogle Scholar
  82. Chenggang Wu, Jose M. Faleiro, Yihan Lin, and Joseph M. Hellerstein. 2018. Anna: A KVS for any scale. In Proceedings of IEEE 34th International Conference on Data Engineering (ICDE’18). 401–412. DOI:https://doi.org/10.1109/ICDE.2018.00044Google ScholarGoogle Scholar
  83. Xingbo Wu, Yuehai Xu, Zili Shao, and Song Jiang. 2015. LSM-trie: An LSM-tree-based ultra-large key-value store for small data items. In Proceedings of the USENIX Annual Technical Conference (USENIXATC’15). USENIX Association, 71–82. https://www.usenix.org/conference/atc15/technical-session/presentation/wu.Google ScholarGoogle Scholar
  84. Xingbo Wu, Li Zhang, Yandong Wang, Yufei Ren, Michel H. Hack, and Song Jiang. 2016. zExpander: A key-value cache with both high performance and fewer misses. In Proceedings of the 11th European Conference on Computer Systems (EuroSys’16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  85. Shuotao Xu, Sungjin Lee, Sang-Woo Jun, Ming Liu, Jamey Hicks, and Arvind. 2016. Bluecache: A scalable distributed flash-based key-value store. Proc. VLDB Endow. 10, 4 (Nov. 2016), 301–312. DOI:https://doi.org/10.14778/3025111.3025113Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Heng Zhang, Mingkai Dong, and Haibo Chen. 2016. Efficient and available in-memory KV-store with hybrid erasure coding and replication. In Proceedings of the 14th USENIX Conference on File and Storage Technologies (FAST’16).Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. Pin Zhou, Vivek Pandey, Jagadeesan Sundaresan, Anand Raghuraman, Yuanyuan Zhou, and Sanjeev Kumar. 2004. Dynamically tracking miss-ratio-curve for memory management. In Proceedings of the 11th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’04).Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. George Kingsley Zipf. 1929. Relative frequency as a determinant of phonetic change. Reprinted from the Harvard Studies in Classical Philology XL (1929).Google ScholarGoogle Scholar
  89. Aviad Zuck, Sivan Toledo, Dmitry Sotnikov, and Danny Harnik. 2104. Compression and SSD: Where and how? In Proceedings of the 2nd Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW’14).Google ScholarGoogle Scholar

Index Terms

  1. SlimCache: An Efficient Data Compression Scheme for Flash-based Key-value Caching

        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 16, Issue 2
          SOSP 2019 Special Section and Regular Papers
          May 2020
          194 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/3399155
          • Editor:
          • Sam H. Noh
          Issue’s Table of Contents

          Copyright © 2020 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 10 June 2020
          • Online AM: 7 May 2020
          • Accepted: 1 February 2020
          • Revised: 1 July 2019
          • Received: 1 March 2019
          Published in tos Volume 16, 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

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!