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.
- 2015. MariaDB. https://mariadb.org/ Google Scholar
- 2018. libaio. https://pagure.io/libaio Google Scholar
- 2019. Efficient I/O with io uring. https://kernel.dk/io_uring.pdf Google Scholar
- 2021. mdadm. https://raid.wiki.kernel.org/index.php/A_guide_to_mdadm Google Scholar
- 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 Scholar
- 2022. Device Mapper. https://www.kernel.org/doc/html/latest/admin-guide/device-mapper/striped.html Google Scholar
- 2022. MongoDB. https://www.mongodb.org/ Google Scholar
- 2022. Storage Performance Development Kit. https://spdk.io/doc Google Scholar
- 2023. cosmoss-jigu/prism: v0.9.0-asplos23-ae. https://doi.org/10.5281/zenodo.7215748 Google ScholarDigital Library
- 2023. Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage Devices. https://github.com/cosmoss-jigu/prism Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Apache. 2023. Welcome to Apache HBase™. https://hbase.apache.org/ 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 (SIGMETRICS). London, England, UK. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- CXL Consortium. 2020. Compute Express Link: The Breakthrough CPU-to-Device Interconnect. https://www.computeexpresslink.org/ Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- Dormando. 2019. memcached - a distributed memory object caching system. https://memcached.org/ Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- Facebook. 2016. Dragon: A distributed graph query engine. https://engineering.fb.com/data-infrastructure/dragon-a-distributed-graph-query-engine/ Google Scholar
- Facebook. 2017. LogDevice: a distributed data store for logs. https://engineering.fb.com/core-data/logdevice-a-distributed-data-store-for-logs/ Google Scholar
- Facebook. 2022. RocksDB. http://rocksdb.org/ Google Scholar
- 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 ScholarDigital Library
- Gabriel Haas, Michael Haubenschild, and Viktor Leis. 2020. Exploiting Directly-Attached NVMe Arrays in DBMS.. In CIDR. Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- influxdata. 2023. InfluxDB: Real-time visibility into stacks, sensors and systems. https://www.influxdata.com/ Google Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Cockroach Labs. 2023. CockroachDB: Scale fast, survive anything, thrive everywhere. https://www.cockroachlabs.com/ Google Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Oracle. 2023. MySQL: The world’s most popular open source database. https://www.mysql.com/ Google Scholar
- 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 ScholarDigital Library
- PingCAP. 2023. TiKV : A distributed transactional key-value database. https://tikv.org/ Google Scholar
- Samsung. 2018. Z-SSD. https://semiconductor.samsung.com/ssd/z-ssd/ Google Scholar
- 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 ScholarDigital Library
- Scylla. 2023. ScyllaDB: The Real-Time Big Data Database. https://www.scylladb.com/ Google Scholar
- 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 Scholar
- SQLite. 2017. LSM Key/Value Storage in SQLite3. https://charlesleifer.com/blog/lsm-key-value-storage-in-sqlite3/ Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- Wikipedia. 2022. Cache (computing). https://en.wikipedia.org/wiki/Cache_(computing) Google Scholar
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
Index Terms
- Prism: Optimizing Key-Value Store for Modern Heterogeneous Storage Devices
Recommendations
An Efficient Memory-Mapped Key-Value Store for Flash Storage
SoCC '18: Proceedings of the ACM Symposium on Cloud ComputingPersistent key-value stores have emerged as a main component in the data access path of modern data processing systems. However, they exhibit high CPU and I/O overhead. Today, due to power limitations it is important to reduce CPU overheads for data ...
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 ...
LSM-Tree Managed Storage for Large-Scale Key-Value Store
Key-value stores are increasingly adopting LSM-trees as their enabling data structure in the backend block storage, and persisting their clustered data through a block manager, usually a file system. In general, a file system is expected to not only ...
Comments