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.
- 2020. PinK HW Source Code. Retrieved from https://github.com/chanwooc/lightstore-platform/tree/pink-hw.Google Scholar
- 2020. PinK SW Source Code. Retrieved from https://github.com/dgist-datalab/PinK.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- Jens Axboe. 2005. FIO: Flexible I/O tester synthetic benchmark. Retrieved June 13, 2015 from https://github.com/axboe/fio.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Facebook, Inc.[n.d.]. RocksDB: A Persistent Key-value Store for Fast Storage Environments. Retrieved from https://rocksdb.org.Google Scholar
- 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 Scholar
Digital Library
- Maurice Herlihy, Nir Shavit, and Moran Tzafrir. 2008. Hopscotch hashing. In Proceedings of the International Symposium on Distributed Computing. Springer, 350–364. Google Scholar
Digital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- Garth Gibson Kai Ren. 2013. TABLEFS: Enhancing metadata efficiency in the local file system. In Proceedings of the USENIX Annual Technical Conference. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Avinash Lakshman and Prashant Malik. 2010. Cassandra: A decentralized structured storage system. ACM SIGOPS Operat. Syst. Rev. 44, 2 (2010), pp. 35–40. Google Scholar
Digital Library
- 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 Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- NGD Systems, Inc. 2018. NGD Catalina NVMe SSD. Retrieved from https://www.ngdsystems.com/products/.Google Scholar
- 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 Scholar
Digital Library
- Rasmus Pagh and Flemming Friche Rodler. 2004. Cuckoo hashing. J. Algor. 51, 2 (2004), 122–144. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Samsung Electornics. 2018. Samsung Smart SSD. Retrieved from https://samsungatfirst.com/smartssd-ocp/.Google Scholar
- Samsung Electronics. [n.d.]. KV SSD Host Software Package. Retrieved from https://github.com/OpenMPDK/KVSSD.Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- Samsung Electronics. 2019. 960PRO SSD Specification. Retrieved from https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/ssd960/.Google Scholar
- Justin Sheehy and David Smith. 2010. Bitcask: A log-structured hash table for fast key/value data. Basho White Paper (2010).Google Scholar
- SNIA. [n.d.]. Key Value Storage API Specification Version 1.0. Retrieved from https://www.snia.org/tech_activities/standards/curr_standards/kvsapi.Google Scholar
- Twitter Inc. [n.d.]. Fatcache: Memcache on SSD. Retrieved from https://github.com/twitter/fatcache.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
Index Terms
Design of LSM-tree-based Key-value SSDs with Bounded Tails
Recommendations
Leveraging NVMe SSDs for Building a Fast, Cost-effective, LSM-tree-based KV Store
Key-value (KV) stores support many crucial applications and services. They perform fast in-memory processing but are still often limited by I/O performance. The recent emergence of high-speed commodity non-volatile memory express solid-state drives (NVMe ...
LSM-tree managed storage for large-scale key-value store
SoCC '17: Proceedings of the 2017 Symposium on Cloud ComputingKey-value stores are increasingly adopting LSM-trees as their enabling data structure in the backend storage, and persisting their clustered data through a file system. A file system is expected to not only provide file/directory abstraction to organize ...
An efficient design and implementation of LSM-tree based key-value store on open-channel SSD
EuroSys '14: Proceedings of the Ninth European Conference on Computer SystemsVarious key-value (KV) stores are widely employed for data management to support Internet services as they offer higher efficiency, scalability, and availability than relational database systems. The log-structured merge tree (LSM-tree) based KV stores ...






Comments