skip to main content
10.1145/3575693.3575722acmconferencesArticle/Chapter ViewAbstractPublication PagesasplosConference Proceedingsconference-collections

Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage Devices

Published:30 January 2023Publication History

ABSTRACT

As data generation has been on an upward trend, storing vast volumes of data cost-effectively as well as efficiently accessing them is paramount. At the same time, today's storage landscape continues to diversify, from high-bandwidth storage devices such as NVMe SSDs to low-latency non-volatile memory (e.g., Intel Optane DCPMM). These heterogeneous storage devices have the potential to deliver high performance in terms of bandwidth and latency with cost efficiency, while achieving the performance and cost targets together still remains a challenging problem. We provide our solution, Prism, a novel key-value store that utilizes modern heterogeneous storage devices. Prism uses heterogeneous storage devices synergistically to harness the advantages of each storage device while suppressing their downsides. We devise new techniques to balance the latency-bandwidth tradeoff when reading from SSD. For ensuring multicore scalability and crash consistency of data across heterogeneous storage media, Prism proposes cross-storage concurrency control and cross-storage crash consistency protocols. Our evaluation shows that Prism outperforms state-of-the-art key-value stores by up to 13.1× with significantly lower tail latency.

References

  1. 2015. MariaDB. https://mariadb.org/ Google ScholarGoogle Scholar
  2. 2018. libaio. https://pagure.io/libaio Google ScholarGoogle Scholar
  3. 2019. Efficient I/O with io uring. https://kernel.dk/io_uring.pdf Google ScholarGoogle Scholar
  4. 2021. mdadm. https://raid.wiki.kernel.org/index.php/A_guide_to_mdadm Google ScholarGoogle Scholar
  5. 2021. Samsung teases a PCI 5.0 SSD that can hit 13,000 MB/s read speeds. https://www.engadget.com/samsung-teases-pci-50-ssd-that-can-hit-13000-m-bs-read-speeds-070308575.html?src=rss&fbclid=IwAR2wZDeVVwFY8Yfa5-gJTHr5DT-DwBH-zTA1yRhV0JtIc3nlXs8iwKc5jng Google ScholarGoogle Scholar
  6. 2022. Device Mapper. https://www.kernel.org/doc/html/latest/admin-guide/device-mapper/striped.html Google ScholarGoogle Scholar
  7. 2022. MongoDB. https://www.mongodb.org/ Google ScholarGoogle Scholar
  8. 2022. Storage Performance Development Kit. https://spdk.io/doc Google ScholarGoogle Scholar
  9. 2023. cosmoss-jigu/prism: v0.9.0-asplos23-ae. https://doi.org/10.5281/zenodo.7215748 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. 2023. Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage Devices. https://github.com/cosmoss-jigu/prism Google ScholarGoogle Scholar
  11. Abutalib Aghayev, Sage Weil, Michael Kuchnik, Mark Nelson, Gregory R Ganger, and George Amvrosiadis. 2019. File systems unfit as distributed storage backends: lessons from 10 years of Ceph evolution. In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP). Ontario, Canada. 353–369. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Anandtech. 2018. Intel Launches Optane DIMMs Up To 512GB: Apache Pass Is Here!. https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here Google ScholarGoogle Scholar
  13. Apache. 2023. Welcome to Apache HBase™. https://hbase.apache.org/ Google ScholarGoogle Scholar
  14. 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 (SIGMETRICS). London, England, UK. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lawrence Benson, Hendrik Makait, and Tilmann Rabl. 2021. Viper: An Efficient Hybrid PMem-DRAM Key-Value Store. Proc. VLDB Endow., 14, 9 (2021), may, 1544–1556. issn:2150-8097 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Daniel S. Berger, Ramesh K. Sitaraman, and Mor Harchol-Balter. 2017. Adaptsize: Orchestrating the Hot Object Memory Cache in a Content Delivery Network. In Proceedings of the 14th USENIX Conference on Networked Systems Design and Implementation (NSDI’17). USENIX Association, 483–498. Google ScholarGoogle Scholar
  17. Laurent Bindschaedler, Ashvin Goel, and Willy Zwaenepoel. 2020. Hailstorm: Disaggregated Compute and Storage for Distributed LSM-Based Databases. In Proceedings of the 25th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Lausanne, Switzerland. 301–316. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Zhichao Cao, Siying Dong, Sagar Vemuri, and David HC Du. 2020. Characterizing, modeling, and benchmarking RocksDB key-value workloads at Facebook. In Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST). Santa Clara, CA. 209–223. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach, Mike Burrows, Tushar Chandra, Andrew Fikes, and Robert E. Gruber. 2008. Bigtable: A Distributed Storage System for Structured Data. ACM Trans. Comput. Syst., 26, 2 (2008), Article 4, June, 26 pages. issn:0734-2071 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Guoqiang Jerry Chen, Janet L. Wiener, Shridhar Iyer, Anshul Jaiswal, Ran Lei, Nikhil Simha, Wei Wang, Kevin Wilfong, Tim Williamson, and Serhat Yilmaz. 2016. Realtime Data Processing at Facebook. In Proceedings of the 2015 ACM SIGMOD/PODS Conference. San Francisco, CA, USA. 1087–1098. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Hao Chen, Chaoyi Ruan, Cheng Li, Xiaosong Ma, and Yinlong Xu. 2021. SpanDB: A Fast, Cost-Effective LSM-tree Based KV Store on Hybrid Storage. In Proceedings of the 19th USENIX Conference on File and Storage Technologies (FAST). USENIX Association, Virtual. 17–32. Google ScholarGoogle Scholar
  22. Youmin Chen, Youyou Lu, Fan Yang, Qing Wang, Yang Wang, and Jiwu Shu. 2020. FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent Memory. Association for Computing Machinery, New York, NY, USA. 1077–1091. isbn:9781450371025 Google ScholarGoogle Scholar
  23. Cisco. 2016. Cisco Global Cloud Index: Forecast and Methodology, 2016–2021. https://www.cisco.com/c/en/us/solutions/executive-perspectives/annual-internet-report/index.html 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). ACM, Indianapolis, Indiana, USA. 143–154. isbn:978-1-4503-0036-0 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. CXL Consortium. 2020. Compute Express Link: The Breakthrough CPU-to-Device Interconnect. https://www.computeexpresslink.org/ Google ScholarGoogle Scholar
  26. Tudor David, Aleksandar Dragojevic, Rachid Guerraoui, and Igor Zablotchi. 2018. Log-free concurrent data structures. In Proceedings of the 2018 USENIX Annual Technical Conference (ATC). Boston, MA. 373–386. Google ScholarGoogle Scholar
  27. Biplob Debnath, Sudipta Sengupta, and Jin Li. 2010. FlashStore: High Throughput Persistent Key-Value Store. Proc. VLDB Endow., 3, 1–2 (2010), 1414–1425. issn:2150-8097 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Dormando. 2019. memcached - a distributed memory object caching system. https://memcached.org/ Google ScholarGoogle Scholar
  29. Subramanya R. Dulloor, Amitabha Roy, Zheguang Zhao, Narayanan Sundaram, Nadathur Satish, Rajesh Sankaran, Jeff Jackson, and Karsten Schwan. 2016. Data Tiering in Heterogeneous Memory Systems. In Proceedings of the 11th European Conference on Computer Systems (EuroSys). London, UK. 1–16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 16th USENIX Symposium on Networked Systems Design and Implementation (NSDI 19). USENIX Association, 65–78. Google ScholarGoogle Scholar
  31. Facebook. 2016. Dragon: A distributed graph query engine. https://engineering.fb.com/data-infrastructure/dragon-a-distributed-graph-query-engine/ Google ScholarGoogle Scholar
  32. Facebook. 2017. LogDevice: a distributed data store for logs. https://engineering.fb.com/core-data/logdevice-a-distributed-data-store-for-logs/ Google ScholarGoogle Scholar
  33. Facebook. 2022. RocksDB. http://rocksdb.org/ Google ScholarGoogle Scholar
  34. Jorge Guerra, Himabindu Pucha, Joseph Glider, Wendy Belluomini, and Raju Rangaswami. 2011. Cost Effective Storage Using Extent Based Dynamic Tiering. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (FAST’11). USENIX Association, 1–14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Gabriel Haas, Michael Haubenschild, and Viktor Leis. 2020. Exploiting Directly-Attached NVMe Arrays in DBMS.. In CIDR. Google ScholarGoogle Scholar
  36. Thomas E Hart, Paul E McKenney, Angela Demke Brown, and Jonathan Walpole. 2007. Performance of memory reclamation for lockless synchronization. J. Parallel and Distrib. Comput., 67, 12 (2007), 1270–1285. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Maurice P. Herlihy and Jeannette M. Wing. 1990. Linearizability: A Correctness Condition for Concurrent Objects. ACM Trans. Program. Lang. Syst., 12, 3 (1990), 463–492. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Kaisong Huang, Darien Imai, Tianzheng Wang, and Dong Xie. 2022. SSDs Striking Back: The Storage Jungle and Its Implications on Persistent Indexes. In Proceedings of the 12th Annual Conference on Innovative Data Systems Research, CIDR. 9–12. Google ScholarGoogle Scholar
  39. influxdata. 2023. InfluxDB: Real-time visibility into stacks, sensors and systems. https://www.influxdata.com/ Google ScholarGoogle Scholar
  40. Intel. 2018. Intel® Optane™ SSD 905P Series 960GB, 2.5in PCIe x4, 3D XPoint™. https://www.intel.com/content/www/us/en/products/sku/147529/intel-optane-ssd-905p-series-960gb-2-5in-pcie-x4-3d-xpoint/specifications.html Google ScholarGoogle Scholar
  41. Intel. 2019. Intel® Optane™ Persistent Memory 128GB Module. https://www.intel.co.kr/content/dam/www/public/us/en/documents/product-briefs/optane-dc-persistent-memory-brief.pdf Google ScholarGoogle Scholar
  42. Joseph Izraelevitz, Hammurabi Mendes, and Michael L Scott. 2016. Linearizability of persistent memory objects under a full-system-crash failure model. In Proceedings of the 30st International Conference on Distributed Computing (DISC). Paris, France. 313–327. Google ScholarGoogle ScholarCross RefCross Ref
  43. Theodore Johnson and Dennis Shasha. 1994. 2Q: A Low Overhead High Performance Buffer Management Replacement Algorithm. In Proceedings of the 20th International Conference on Very Large Data Bases (VLDB). San Francisco, CA. 439–450. Google ScholarGoogle Scholar
  44. Eric Jonas, Johann Schleier-Smith, Vikram Sreekanti, Chia-Che Tsai, Anurag Khandelwal, Qifan Pu, Vaishaal Shankar, Joao Carreira, Karl Krauth, Neeraja Yadwadkar, Joseph E. Gonzalez, Raluca Ada Popa, Ion Stoica, and David A. Patterson. 2019. Cloud Programming Simplified: A Berkeley View on Serverless Computing. arXiv preprint arXiv:1902.03383. Google ScholarGoogle Scholar
  45. Olzhas Kaiyrakhmet, Songyi Lee, Beomseok Nam, Sam H. Noh, and Young-ri Choi. 2019. SLM-DB: Single-Level Key-Value Store with Persistent Memory. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST). Boston, MA. 191–205. Google ScholarGoogle Scholar
  46. Robert Kallman, Hideaki Kimura, Jonathan Natkins, Andrew Pavlo, Alexander Rasin, Stanley Zdonik, Evan P. C. Jones, Samuel Madden, Michael Stonebraker, Yang Zhang, John Hugg, and Daniel J. Abadi. 2008. H-store: A High-performance, Distributed Main Memory Transaction Processing System. In Proceedings of the 34th International Conference on Very Large Data Bases (VLDB). Auckland, Newzeland. 1496–1499. Google ScholarGoogle Scholar
  47. 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 2018 USENIX Annual Technical Conference (ATC). Boston, MA. 993–1005. Google ScholarGoogle Scholar
  48. Jaeho Kim, Ajit Mathew, Sanidhya Kashyap, Madhava Krishnan Ramanathan, and Changwoo Min. 2019. MV-RLU: Scaling Read-Log-Update with Multi-Versioning. In Proceedings of the 24th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). ACM, Providence, RI. 779–792. isbn:978-1-4503-6240-5 Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Wook-Hee Kim, Jinwoong Kim, Woongki Baek, Beomseok Nam, and Youjip Won. 2016. NVWAL: Exploiting NVRAM in Write-Ahead Logging. In Proceedings of the 21st ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Atlanta, GA. 385–398. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Wook-Hee Kim, R. Madhava Krishnan, Xinwei Fu, Sanidhya Kashyap, and Changwoo Min. 2021. PACTree: A High Performance Persistent Range Index Using PAC Guidelines. In Proceedings of the 28th ACM Symposium on Operating Systems Principles (SOSP). Virtual. 424–439. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. R. Madhava Krishnan, Jaeho Kim, Ajit Mathew, Xinwei Fu, Anthony Demeri, Changwoo Min, and Sudarsun Kannan. 2020. Durable Transactional Memory Can Scale with Timestone. In Proceedings of the 25th ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Lausanne, Switzerland. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. R. Madhava Krishnan, Wook-Hee Kim, Xinwei Fu, Sumit Kumar Monga, Hee Won Lee, Minsung Jang, Ajit Mathew, and Changwoo Min. 2021. TIPS: Making Volatile Index Structures Persistent with DRAM-NVMM Tiering. In Proceedings of the 2021 USENIX Annual Technical Conference (ATC). Virtual. 773–787. Google ScholarGoogle Scholar
  53. Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett Witchel, and Thomas Anderson. 2017. Strata: A Cross Media File System. In Proceedings of the 26th ACM Symposium on Operating Systems Principles (SOSP). Shanghai, China. 460–477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Cockroach Labs. 2023. CockroachDB: Scale fast, survive anything, thrive everywhere. https://www.cockroachlabs.com/ Google ScholarGoogle Scholar
  55. Avinash Lakshman and Prashant Malik. 2010. Cassandra: A Decentralized Structured Storage System. SIGOPS Oper. Syst. Rev., 44, 2 (2010), April, 35–40. issn:0163-5980 Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Se Kwon Lee, Jayashree Mohan, Sanidhya Kashyap, Taesoo Kim, and Vijay Chidambaram. 2019. RECIPE: Converting Concurrent DRAM Indexes to Persistent-Memory Indexes. In Proceedings of the 27th ACM Symposium on Operating Systems Principles (SOSP). Ontario, Canada. 462–477. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. 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 (SOSP). Ontario, Canada. 447–461. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Lucas Lersch, Xiangpeng Hao, Ismail Oukid, Tianzheng Wang, and Thomas Willhalm. 2019. Evaluating Persistent Memory Range Indexes. In Proceedings of the 45th International Conference on Very Large Data Bases (VLDB). Los Angeles, CA. 574–587. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Justin Levandoski, David Lomet, and Sudipta Sengupta. 2013. LLAMA: A Cache/Storage Subsystem for Modern Hardware. Proc. VLDB Endow., 6, 10 (2013), aug, 877–888. issn:2150-8097 Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Justin J. Levandoski, David B. Lomet, and Sudipta Sengupta. 2013. The Bw-Tree: A B-Tree for New Hardware Platforms. In Proceedings of the 29th IEEE International Conference on Data Engineering (ICDE). Brisbane, Australia. 302–313. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Cheng Li, Philip Shilane, Fred Douglis, Hyong Shim, Stephen Smaldone, and Grant Wallace. 2014. Nitro: A Capacity-Optimized SSD Cache for Primary Storage. In 2014 USENIX Annual Technical Conference (USENIX ATC 14). USENIX Association, 501–512. Google ScholarGoogle Scholar
  62. Hyeontaek Lim, Bin Fan, David G. Andersen, and Michael Kaminsky. 2011. SILT: A Memory-Efficient, High-Performance Key-Value Store. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP). Cascais, Portugal. 1–13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Zaoxing Liu, Zhihao Bai, Zhenming Liu, Xiaozhou Li, Changhoon Kim, Vladimir Braverman, Xin Jin, and Ion Stoica. 2019. DistCache: Provable Load Balancing for Large-Scale Storage Systems with Distributed Caching. In 17th USENIX Conference on File and Storage Technologies (FAST 19). USENIX Association, Boston, MA. 143–157. isbn:978-1-939133-09-0 Google ScholarGoogle Scholar
  64. Shaonan Ma, Kang Chen, Shimin Chen, Mengxing Liu, Jianglang Zhu, Hongbo Kang, and Yongwei Wu. 2021. ROART: Range-query Optimized Persistent ART. In 19th USENIX Conference on File and Storage Technologies (FAST 21). USENIX Association, 1–16. isbn:978-1-939133-20-5 Google ScholarGoogle Scholar
  65. N. Malviya, A. Weisberg, S. Madden, and M. Stonebraker. 2014. Rethinking main memory OLTP recovery. In Proceedings of the 30th IEEE International Conference on Data Engineering (ICDE). Chicago, IL. 604–615. Google ScholarGoogle Scholar
  66. Ajit Mathew and Changwoo Min. 2020. HydraList: A Scalable In-Memory Index Using Asynchronous Updates and Partial Replication. In Proceedings of the 46th International Conference on Very Large Data Bases (VLDB). Tokyo, Japan. 1332–1345. Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. Sara McAllister, Benjamin Berg, Julian Tutuncu-Macias, Juncheng Yang, Sathya Gunasekar, Jimmy Lu, Daniel S. Berger, Nathan Beckmann, and Gregory R. Ganger. 2021. Kangaroo: Caching Billions of Tiny Objects on Flash. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles (SOSP ’21). ACM, 243–262. Google ScholarGoogle Scholar
  68. Paul E. McKenney, Jonathan Appavoo, Andy Kleen, Orran Krieger, Rusty Russell, Dipankar Sarma, and Maneesh Soni. 2002. Read-Copy Update. In Ottawa Linux Symposium (OLS). 168–183. Google ScholarGoogle Scholar
  69. Chris Mellor. 2022. SMART brings Optane memory to AMD and Arm. https://blocksandfiles.com/2022/04/13/smart-brings-optane-memory-to-amd-and-arm/ Google ScholarGoogle Scholar
  70. John M. Mellor-Crummey and Michael L. Scott. 1991. Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors. ACM Transactions on Computer Systems, 9, 1 (1991), feb, 21–65. issn:0734-2071 Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Changwoo Min, Sanidhya Kashyap, Steffen Maass, Woonhak Kang, and Taesoo Kim. 2016. Understanding Manycore Scalability of File Systems. In Proceedings of the 2016 USENIX Annual Technical Conference (ATC). Denver, CO. 71–85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Changwoo Min, Kangnyeon Kim, Hyunjin Cho, Sang-Won Lee, and Young Ik Eom. 2012. SFS: Random Write Considered Harmful in Solid State Drives. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST). San Jose, California, USA. 1–16. Google ScholarGoogle Scholar
  73. Gihwan Oh, Sangchul Kim, Sang-Won Lee, and Bongki Moon. 2015. SQLite Optimization with Phase Change Memory for Mobile Applications. In Proceedings of the 41st International Conference on Very Large Data Bases (VLDB). Hawaii, USA. 1454–1465. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Oracle. 2023. MySQL: The world’s most popular open source database. https://www.mysql.com/ Google ScholarGoogle Scholar
  75. Jong-Hyeok Park, Gihwan Oh, and Sang-Won Lee. 2017. SQL Statement Logging for Making SQLite Truly Lite. In Proceedings of the 43rd International Conference on Very Large Data Bases (VLDB). TU Munich, Germany. 513–525. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. PingCAP. 2023. TiKV : A distributed transactional key-value database. https://tikv.org/ Google ScholarGoogle Scholar
  77. Samsung. 2018. Z-SSD. https://semiconductor.samsung.com/ssd/z-ssd/ Google ScholarGoogle Scholar
  78. 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 (EuroSys ’12). Association for Computing Machinery, 267–280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. Scylla. 2023. ScyllaDB: The Real-Time Big Data Database. https://www.scylladb.com/ Google ScholarGoogle Scholar
  80. Jihye Seo, Wook-Hee Kim, Woongki Baek, Beomseok Nam, and Sam H. Noh. 2017. Failure-Atomic Slotted Paging for Persistent Memory. In Proceedings of the 22nd ACM International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS). Xi’an, China. Google ScholarGoogle Scholar
  81. SQLite. 2017. LSM Key/Value Storage in SQLite3. https://charlesleifer.com/blog/lsm-key-value-storage-in-sqlite3/ Google ScholarGoogle Scholar
  82. Alexander van Renen, Viktor Leis, Alfons Kemper, Thomas Neumann, Takushi Hashida, Kazuichi Oe, Yoshiyasu Doi, Lilian Harad a, and Mitsuru Sato. 2018. Managing Non-Volatile Memory in Database Systems. In Proceedings of the 2018 ACM SIGMOD/PODS Conference. Houston, TX, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  83. Jing Wang, Youyou Lu, Qing Wang, Minhui Xie, Keji Huang, and Jiwu Shu. 2022. Pacman: An Efficient Compaction Approach for Log-Structured Key-Value Store on Persistent Memory. In 2022 USENIX Annual Technical Conference (USENIX ATC 22). USENIX Association, Carlsbad, CA. Google ScholarGoogle Scholar
  84. Tianzheng Wang, Justin Levandoski, and Per-Ake Larson. 2018. Easy Lock-Free Indexing in Non-Volatile Memory. In Proceedings of the 34th IEEE International Conference on Data Engineering (ICDE). Paris, France. 461–472. Google ScholarGoogle ScholarCross RefCross Ref
  85. Yuanhao Wei, Naama Ben-David, Michal Friedman, Guy E. Blelloch, and Erez Petrank. 2022. FliT: A Library for Simple and Efficient Persistent Algorithms. In Proceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP ’22). Association for Computing Machinery, 309–321. isbn:9781450392044 Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. Wikipedia. 2022. Cache (computing). https://en.wikipedia.org/wiki/Cache_(computing) Google ScholarGoogle Scholar
  87. Chenggang Wu, Jose M. Faleiro, Yihan Lin, and Joseph M. Hellerstein. 2018. Anna: A KVS for Any Scale. In 34th IEEE International Conference on Data Engineering, ICDE 2018. IEEE Computer Society, 401–412. Google ScholarGoogle Scholar
  88. Kan Wu, Zhihan Guo, Guanzhou Hu, Kaiwei Tu, Ramnatthan Alagappan, Rathijit Sen, Kwanghyun Park, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau. 2021. The Storage Hierarchy is Not a Hierarchy: Optimizing Caching on Modern Storage Devices with Orthus. In Proceedings of the 19th USENIX Conference on File and Storage Technologies (FAST). Virtual. 307–323. Google ScholarGoogle Scholar
  89. Ting Yao, Yiwen Zhang, Jiguang Wan, Qiu Cui, Liu Tang, Hong Jiang, Changsheng Xie, and Xubin He. 2020. MatrixKV: Reducing Write Stalls and Write Amplification in LSM-tree Based KV Stores with Matrix Container in NVM. In Proceedings of the 2020 USENIX Annual Technical Conference (ATC). Boston, MA. 17–31. Google ScholarGoogle Scholar
  90. Adar Zeitak and Adam Morrison. 2021. Cuckoo Trie: Exploiting Memory-Level Parallelism for Efficient DRAM Indexing. In Proceedings of the 28th Symposium on Operating Systems Principles SOSP, Virtual Event / Koblenz, Germany, October 26-29, 2021. ACM, 147–162. Google ScholarGoogle ScholarDigital LibraryDigital Library
  91. Jie Zhang, Miryeong Kwon, Donghyun Gouk, Sungjoon Koh, Changlim Lee, Mohammad Alian, Myoungjun Chun, Mahmut Taylan Kandemir, Nam Sung Kim, Jihong Kim, and Myoungsoo Jung. 2018. FlashShare: Punching Through Server Storage Stack from Kernel to Firmware for Ultra-Low Latency SSDs. In 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI 18). 477–492. Google ScholarGoogle Scholar
  92. Shengan Zheng, Morteza Hoseinzadeh, and Steven Swanson. 2019. Ziggurat: a tiered file system for non-volatile main memories and disks. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST). Boston, MA. 207–219. Google ScholarGoogle Scholar
  93. Xinjing Zhou, Joy Arulraj, Andrew Pavlo, and David Cohen. 2021. Spitfire: A Three-Tier Buffer Manager for Volatile and Non-Volatile Memory. In Proceedings of the 2021 ACM SIGMOD/PODS Conference. Xian (Virtual), China. 2195–2207. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage Devices

        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
          ASPLOS 2023: Proceedings of the 28th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2
          January 2023
          947 pages
          ISBN:9781450399166
          DOI:10.1145/3575693

          Copyright © 2023 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: 30 January 2023

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate535of2,713submissions,20%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader