skip to main content
research-article
Public Access

Design of LSM-tree-based Key-value SSDs with Bounded Tails

Authors Info & Claims
Published:28 May 2021Publication History
Skip Abstract Section

Abstract

Key-value store based on a log-structured merge-tree (LSM-tree) is preferable to hash-based key-value store, because an LSM-tree can support a wider variety of operations and show better performance, especially for writes. However, LSM-tree is difficult to implement in the resource constrained environment of a key-value SSD (KV-SSD), and, consequently, KV-SSDs typically use hash-based schemes. We present PinK, a design and implementation of an LSM-tree-based KV-SSD, which compared to a hash-based KV-SSD, reduces 99th percentile tail latency by 73%, improves average read latency by 42%, and shows 37% higher throughput. The key idea in improving the performance of an LSM-tree in a resource constrained environment is to avoid the use of Bloom filters and instead, use a small amount of DRAM to keep/pin the top levels of the LSM-tree. We also find that PinK is able to provide a flexible design space for a wide range of KV workloads by leveraging the read-write tradeoff in LSM-trees.

References

  1. 2020. PinK HW Source Code. Retrieved from https://github.com/chanwooc/lightstore-platform/tree/pink-hw.Google ScholarGoogle Scholar
  2. 2020. PinK SW Source Code. Retrieved from https://github.com/dgist-datalab/PinK.Google ScholarGoogle Scholar
  3. Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark S. Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Ashkiani, S. Li, M. Farach-Colton, N. Amenta, and J. D. Owens. 2018. GPU LSM: A dynamic dictionary data structure for the GPU. In Proceedings of IEEE International Parallel and Distributed Processing Symposium. 430–440.Google ScholarGoogle Scholar
  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 SIGMETRICS/PERFORMANCE Joint International Conference on Measurement and Modeling of Computer Systems. 53–64. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Jens Axboe. 2005. FIO: Flexible I/O tester synthetic benchmark. Retrieved June 13, 2015 from https://github.com/axboe/fio.Google ScholarGoogle Scholar
  7. Duck-Ho Bae, Insoon Jo, Youra Adel Choi, Joo-Young Hwang, Sangyeun Cho, Dong-Gi Lee, and Jaeheon Jeong. 2018. 2B-SSD: The case for dual, byte- and block-addressable solid-state drives. In Proceedings of the Annual International Symposium on Computer Architecture. 425–438. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Michael A. Bender, Martin Farach-Colton, Rob Johnson, Russell Kraner, Bradley C. Kuszmaul, Dzejla Medjedovic, Pablo Montes, Pradeep Shetty, Richard P. Spillane, and Erez Zadok. 2012. Don’t thrash: How to cache your hash on flash. Proc. VLDB Endow. 5, 11 (2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Badrish Chandramouli, Guna Prasaad, Donald Kossmann, Justin Levandoski, James Hunter, and Mike Barnett. 2018. Faster: A concurrent key-value store with in-place updates. In Proceedings of the ACM International Conference on Management of Data. ACM, 275–290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bernard Chazelle and Leonidas J. Guibas. 1986. Fractional cascading: I. A data structuring technique. Algorithmica 1, 1, 1 (1986), 133–162. DOI:https://doi.org/10.1007/BF01840440Google ScholarGoogle Scholar
  11. Chanwoo Chung, Jinhyung Koo, Junsu Im, Arvind, and Sungjin Lee. 2019. LightStore: Software-defined network-attached key-value drives. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems. 939–953. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. John Colgrove, John D. Davis, John Hayes, Ethan L. Miller, Cary Sandvig, Russell Sears, Ari Tamches, Neil Vachharajani, and Feng Wang. 2015. Purity: Building fast, highly-available enterprise flash storage from commodity components. In Proceedings of the ACM International Conference on Management of Data. 1683–1694. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Brian F. Cooper, Adam Silberstein, Erwin Tam, Raghu Ramakrishnan, and Russell Sears. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the ACM Symposium on Cloud Computing. 143–154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Niv Dayan, Manos Athanassoulis, and Stratos Idreos. 2017. Monkey: Optimal navigable key-value store. In Proceedings of the ACM International Conference on Management of Data. 79–94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Niv Dayan and Stratos Idreos. 2018. Dostoevsky: Better space-time trade-offs for LSM-tree based key-value stores via adaptive removal of superfluous merging. In Proceedings of the ACM International Conference on Management of Data. 505–520. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Biplob Debnath, Sudipta Sengupta, and Jin Li. 2010. FlashStore: High throughput persistent key-value store. Proc. VLDB Endow. 3, 1–2 (2010), pp. 1414–1425. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Facebook, Inc.[n.d.]. RocksDB: A Persistent Key-value Store for Fast Storage Environments. Retrieved from https://rocksdb.org.Google ScholarGoogle Scholar
  18. Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems. 229–240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Maurice Herlihy, Nir Shavit, and Moran Tzafrir. 2008. Hopscotch hashing. In Proceedings of the International Symposium on Distributed Computing. Springer, 350–364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. IC Knowledge LLC.2020. Lithovision-2020: Economics in the 3D Era. Retrieved from https://semiwiki.com/wp-content/uploads/2020/03/Lithovision-2020.pdf.Google ScholarGoogle Scholar
  21. Junsu Im, Jinwook Bae, Chanwoo Chung, Arvind, and Sungjin Lee. 2020. PinK: High-speed in-storage key-value store with bounded tails. In Proceedings of the 2020 USENIX Annual Technical Conference (USENIX ATC 20). USENIX Association, 173–187. Google ScholarGoogle Scholar
  22. Yanqin Jin, Hung-Wei Tseng, Yannis Papakonstantinou, and Steven Swanson. 2017. KAML: A flexible, high-performance key-value SSD. In Proceedings of the IEEE International Symposium on High Performance Computer Architecture. 373–384.Google ScholarGoogle ScholarCross RefCross Ref
  23. Sang-Woo Jun, Ming Liu, Sungjin Lee, Jamey Hicks, John Ankcorn, Myron King, Shuotao Xu, and Arvind. 2015. BlueDBM: An appliance for big data analytics. In Proceedings of the Annual International Symposium on Computer Architecture. 1–13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Garth Gibson Kai Ren. 2013. TABLEFS: Enhancing metadata efficiency in the local file system. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Yangwook Kang, Rekha Pitchumani, Pratik Mishra, Yang-suk Kee, Francisco Londono, Sangyoon Oh, Jongyeol Lee, and Daniel D. G. Lee. 2019. Towards building a high-performance, scale-in key-value storage system. In Proceedings of the ACM International Conference on Systems and Storage. 144–154. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Sang-Hoon Kim, Jinhong Kim, Kisik Jeong, and Jin-Soo Kim. 2019. Transaction support using compound commands in key-value SSDs. In Proceedings of the USENIX Workshop on Hot Topics in Storage and File Systems. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Kornilios Kourtis, Nikolas Ioannou, and Ioannis Koltsidas. 2019. Reaping the performance of fast NVM storage with uDepot. In Proceedings of the USENIX Conference on File and Storage Technologies. 1–15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Avinash Lakshman and Prashant Malik. 2010. Cassandra: A decentralized structured storage system. ACM SIGOPS Operat. Syst. Rev. 44, 2 (2010), pp. 35–40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Chang-Gyu Lee, Hyeongu Kang, Donggyu Park, Sungyong Park, Youngjae Kim, Jungki Noh, Woosuk Chung, and Kyoung Park. 2019. iLSM-SSD: An intelligent LSM-tree based key-value SSD for data analytics. In Proceedings of the IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems. 384–395.Google ScholarGoogle ScholarCross RefCross Ref
  30. Baptiste Lepers, Oana Balmau, Karan Gupta, and Willy Zwaenepoel. 2019. KVell: The design and implementation of a fast persistent key-value store. In Proceedings of the 27th ACM Symposium on Operating Systems Principles. 447–461. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 the USENIX Conference on File and Storage Technologies. 133–148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Chen Luo and Michael J. Carey. 2020. LSM-based storage techniques: A survey. VLDB J. 29, 1 (2020), 393--418. DOI:10.1007/s00778-019-00555-yGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  33. Leonardo Mármol, Swaminathan Sundararaman, Nisha Talagala, Raju Rangaswami, Sushma Devendrappa, Bharath Ramsundar, and Sriram Ganesan. 2014. NVMKV: A scalable and lightweight flash aware key-value store. In Proceedings of the USENIX Conference on Hot Topics in Storage and File Systems. 8–8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. NGD Systems, Inc. 2018. NGD Catalina NVMe SSD. Retrieved from https://www.ngdsystems.com/products/.Google ScholarGoogle Scholar
  35. Patrick O’Neil, Edward Cheng, Dieter Gawlick, and Elizabeth O’Neil. 1996. The log-structured merge-tree (LSM-tree). Acta Inf. 33, 4 (1996), pp. 351–385. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Rasmus Pagh and Flemming Friche Rodler. 2004. Cuckoo hashing. J. Algor. 51, 2 (2004), 122–144. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Mendel Rosenblum and John K Ousterhout. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10, 1 (1992), pp. 26–52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Samsung Electornics. 2018. Samsung Smart SSD. Retrieved from https://samsungatfirst.com/smartssd-ocp/.Google ScholarGoogle Scholar
  39. Samsung Electronics. [n.d.]. KV SSD Host Software Package. Retrieved from https://github.com/OpenMPDK/KVSSD.Google ScholarGoogle Scholar
  40. Samsung Electronics. 2016. Samsung Introduces World’s Largest Capacity (15.36TB) SSD for Enterprise Storage Systems. Retrieved from https://news.samsung.com/global/samsung-now-introducing-worlds-largest-capacity-15-36tb-ssd-for-enterprise-storage-systems.Google ScholarGoogle Scholar
  41. Samsung Electronics. 2017. Samsung Key Value SSD enables High Performance Scaling. Retrieved from https://www.samsung.com/semiconductor/global.semi.static/Samsung_Key_Value_SSD_enables_High_Performance_Scaling-0.pdf.Google ScholarGoogle Scholar
  42. Samsung Electronics. 2018. 860EVO SSD Specification. Retrieved from https://www.samsung.com/semiconductor/global.semi.static/Samsung_SSD_860_EVO_Data_Sheet_Rev1.pdf.Google ScholarGoogle Scholar
  43. Samsung Electronics. 2018. KV SSD Firmware Introduction. Retrieved from https://github.com/OpenMPDK/KVSSD/wiki/presentation/kvssd_seminar_2018/kvssd_seminar_2018_fw_introduction.pdf.Google ScholarGoogle Scholar
  44. Samsung Electronics. 2019. 960PRO SSD Specification. Retrieved from https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/ssd960/.Google ScholarGoogle Scholar
  45. Justin Sheehy and David Smith. 2010. Bitcask: A log-structured hash table for fast key/value data. Basho White Paper (2010).Google ScholarGoogle Scholar
  46. SNIA. [n.d.]. Key Value Storage API Specification Version 1.0. Retrieved from https://www.snia.org/tech_activities/standards/curr_standards/kvsapi.Google ScholarGoogle Scholar
  47. Twitter Inc. [n.d.]. Fatcache: Memcache on SSD. Retrieved from https://github.com/twitter/fatcache.Google ScholarGoogle Scholar
  48. J. Wang, Y. Zhang, Y. Gao, and C. Xing. 2013. pLSM: A highly efficient LSM-tree index supporting real-time big data analysis. In Proceedings of IEEE Annual Computer Software and Applications Conference. 240–245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Xilinx. 2018. Xilinx Zynq UltraScale+ MPSoC ZCU102 Evaluation Kit. Retrieved from https://www.xilinx.com/products/boards-and-kits/ek-u1-zcu102-g.html.Google ScholarGoogle Scholar
  50. Shuotao Xu, Sungjin Lee, Sang-Woo Jun, Ming Liu, Jamey Hicks, et al. 2016. Bluecache: A scalable distributed flash-based key-value store. Proc. VLDB Endow. 10, 4 (2016), 301–312. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Design of LSM-tree-based Key-value SSDs with Bounded Tails

      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 17, Issue 2
        May 2021
        202 pages
        ISSN:1553-3077
        EISSN:1553-3093
        DOI:10.1145/3465461
        • Editor:
        • Sam H. Noh
        Issue’s Table of Contents

        Copyright © 2021 Association for Computing Machinery.

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 28 May 2021
        • Accepted: 1 February 2021
        • Received: 1 December 2020
        Published in tos Volume 17, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
        • 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!