skip to main content
research-article

Realizing Strong Determinism Contract on Log-Structured Merge Key-Value Stores

Published:25 March 2023Publication History
Skip Abstract Section

Abstract

We propose Vigil-KV, a hardware and software co-designed framework that eliminates long-tail latency almost perfectly by introducing strong latency determinism. To make Get latency deterministic, Vigil-KV first enables a predictable latency mode (PLM) interface on a real datacenter-scale NVMe SSD, having knowledge about the nature of the underlying flash technologies. Vigil-KV at the system-level then hides the non-deterministic time window (associated with SSD’s internal tasks and/or write services) by internally scheduling the different device states of PLM across multiple physical functions. Vigil-KV further schedules compaction/flush operations and client requests being aware of PLM’s restrictions thereby integrating strong latency determinism into LSM KVs. We implement Vigil-KV upon a 1.92TB NVMe SSD prototype and Linux 4.19.91, but other LSM KVs can adopt its concept. We evaluate diverse Facebook and Yahoo scenarios with Vigil-KV, and the results show that Vigil-KV can reducethe tail latency of a baseline KV system by 3.19× while reducing the average latency by 34%, on average.

REFERENCES

  1. [1] Agrawal Nitin, Prabhakaran Vijayan, Wobber Ted, Davis John D., Manasse Mark S., and Panigrahy Rina. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference.Google ScholarGoogle Scholar
  2. [2] Alameldeen Alaa R., Wagner Ilya, Chishti Zeshan, Wu Wei, Wilkerson Chris, and Lu Shih-Lien. 2011. Energy-efficient cache design using variable-strength error-correcting codes. ACM SIGARCH Computer Architecture News 39, 3 (2011), 461–472.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] Amazon. (n.d.). Amazon Found Every 100ms of Latency Cost them 1ry-100ms-of-latency-cost-them-1-in-sales.Google ScholarGoogle Scholar
  4. [4] Anderson Michael, Chen Benny, Chen Stephen, Deng Summer, Fix Jordan, Gschwind Michael, Kalaiah Aravind, Kim Changkyu, Lee Jaewon, Liang Jason, Haixin Liu, Yinghai Lu, Jack Montgomery, Arun Moorthy, Satish Nadathur, Sam Naghshineh, Avinash Nayak, Jongsoo Park, Chris Petersen, Martin Schatz, Narayanan Sundaram, Bangsheng Tang, Peter Tang, Amy Yang, Jiecao Yu, Hector Yuen, Ying Zhang, Aravind Anbudurai, Vandana Balan, Harsha Bojja, Joe Boyd, Matthew Breitbach, Claudio Caldato, Anna Calvo, Garret Catron, Sneh Chandwani, Panos Christeas, Brad Cottel, Brian Coutinho, Arun Dalli, Abhishek Dhanotia, Oniel Duncan, Roman Dzhabarov, Simon Elmir, Chunli Fu, Wenyin Fu, Michael Fulthorp, Adi Gangidi, Nick Gibson, Sean Gordon, Beatriz Padilla Hernandez, Daniel Ho, Yu-Cheng Huang, Olof Johansson, Shishir Juluri, Shobhit Kanaujia, Manali Kesarkar, Jonathan Killinger, Ben Kim, Rohan Kulkarni, Meghan Lele, Huayu Li, Huamin Li, Yueming Li, Cynthia Liu, Jerry Liu, Bert Maher, Chandra Mallipedi, Seema Mangla, Kiran Kumar Matam, Jubin Mehta, Shobhit Mehta, Christopher Mitchell, Bharath Muthiah, Nitin Nagarkatte, Ashwin Narasimha, Bernard Nguyen, Thiara Ortiz, Soumya Padmanabha, Deng Pan, Ashwin Poojary, Ye (Charlotte)Qi, Olivier Raginel, Dwarak Rajagopal, Tristan Rice, Craig Ross, Nadav Rotem, Scott Russ, Kushal Shah, Baohua Shan, Hao Shen, Pavan Shetty, Krish Skandakumaran, Kutta Srinivasan, Roshan Sumbaly, Michael Tauberg, Mor Tzur, Sidharth Verma, Hao Wang, Man Wang, Ben Wei , Alex Xia, Chenyu Xu, Martin Yang, Kai Zhang, Ruoxi Zhang, Ming Zhao, Whitney Zhao, Rui Zhu, Ajit Mathews, Lin Qiao, Misha Smelyanskiy, Bill Jia, and Vijay Rao. 2021. First-Generation Inference Accelerator Deployment at Facebook. arXiv preprint arXiv:2107.04140 (2021).Google ScholarGoogle Scholar
  5. [5] Armstrong Timothy G., Ponnekanti Vamsi, Borthakur Dhruba, and Callaghan Mark. 2013. LinkBench: A database benchmark based on the Facebook social graph. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data.Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] Balakrishnan Mahesh, Kadav Asim, Prabhakaran Vijayan, and Malkhi Dahlia. 2010. Differential raid: Rethinking raid for ssd reliability. ACM Transactions on Storage 6, 2 (2010), 1–22.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] Balmau Oana, Didona Diego, Guerraoui Rachid, Zwaenepoel Willy, Yuan Huapeng, Arora Aashray, Gupta Karan, and Konka Pavan. 2017. TRIAD: Creating synergies between memory, disk and log in log structured key-value stores. In Proceedings of the 2017 USENIX Annual Technical Conference.Google ScholarGoogle Scholar
  8. [8] Balmau Oana, Dinu Florin, Zwaenepoel Willy, Gupta Karan, Chandhiramoorthi Ravishankar, and Didona Diego. 2019. SILK: Preventing latency spikes in log-structured merge key-value stores. In Proceedings of the 2019 USENIX Annual Technical Conference.Google ScholarGoogle Scholar
  9. [9] Cai Yu, Ghose Saugata, Haratsch Erich F., Luo Yixin, and Mutlu Onur. 2017. Error characterization, mitigation, and recovery in flash-memory-based solid-state drives. Proceedings of the IEEE 105, 9 (2017), 1666–1704.Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Yu Cai, Saugata Ghose, Erich F. Haratsch, Yixin Luo, and Onur Mutlu. 2017. Error characterization, mitigation, and recovery in flash-memory-based solid-state drives. Proc. IEEE 105, 9 (2017), 1666–1704. Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Cai Yu, Ghose Saugata, Luo Yixin, Mai Ken, Mutlu Onur, and Haratsch Erich F.. 2017. Vulnerabilities in MLC NAND flash memory programming: Experimental analysis, exploits, and mitigation techniques. In Proceedings of the 2017 IEEE International Symposium on High Performance Computer Architecture. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] Cai Yu, Haratsch Erich F., Mutlu Onur, and Mai Ken. 2012. Error patterns in MLC NAND flash memory: Measurement, characterization, and analysis. In Proceedings of the 2012 Design, Automation & Test in Europe Conference & Exhibition. IEEE.Google ScholarGoogle Scholar
  13. [13] Cai Yu, Haratsch Erich F., Mutlu Onur, and Mai Ken. 2013. Threshold voltage distribution in MLC NAND flash memory: Characterization, analysis, and modeling. In Proceedings of the 2013 Design, Automation & Test in Europe Conference & Exhibition. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Cai Yu, Luo Yixin, Ghose Saugata, and Mutlu Onur. 2015. Read disturb errors in MLC NAND flash memory: Characterization, mitigation, and recovery. In Proceedings of the 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. IEEE.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Cai Yu, Mutlu Onur, Haratsch Erich F., and Mai Ken. 2013. Program interference in MLC NAND flash memory: Characterization, modeling, and mitigation. In Proceedings of the 2013 IEEE 31st International Conference on Computer Design. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  16. [16] Cao Zhichao, Dong Siying, Vemuri Sagar, and Du David HC. 2020. Characterizing, modeling, and benchmarking rocksdb key-value workloads at facebook. In Proceedings of the 18th USENIX Conference on File and Storage Technologies.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. [17] Chang Li-Pin, Kuo Tei-Wei, and Lo Shi-Wu. 2004. Real-time garbage collection for flash-memory storage systems of real-time embedded systems. ACM Transactions on Embedded Computing Systems 3, 4 (2004), 837–863.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] Chen Hao, Ruan Chaoyi, Li Cheng, Ma Xiaosong, and Xu Yinlong. 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.Google ScholarGoogle Scholar
  19. [19] Choi Wonil, Jung Myoungsoo, Kandemir Mahmut, and Das Chita. 2018. Parallelizing garbage collection with I/O to improve flash resource utilization. In Proceedings of the 27th International Symposium on High-Performance Parallel and Distributed Computing.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. [20] Conway Alexander, Gupta Abhishek, Chidambaram Vijay, Farach-Colton Martin, Spillane Richard, Tai Amy, and Johnson Rob. 2020. SplinterDB: Closing the bandwidth gap for nvme key-value stores. In Proceedings of the 2020 USENIX Annual Technical Conference.Google ScholarGoogle Scholar
  21. [21] Cooper Brian F., Silberstein Adam, Tam Erwin, Ramakrishnan Raghu, and Sears Russell. 2010. Benchmarking cloud serving systems with YCSB. In Proceedings of the 1st ACM Symposium on Cloud Computing.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. [22] Crankshaw Daniel, Wang Xin, Zhou Guilio, Franklin Michael J., Gonzalez Joseph E., and Stoica Ion. 2017. Clipper: A \(\lbrace\)Low-Latency\(\rbrace\) online prediction serving system. In Proceedings of the 14th USENIX Symposium on Networked Systems Design and Implementation. 613627.Google ScholarGoogle Scholar
  23. [23] Dayan Niv, Athanassoulis Manos, and Idreos Stratos. 2017. Monkey: Optimal navigable key-value store. In Proceedings of the 2017 ACM International Conference on Management of Data.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. [24] Dayan Niv and Idreos Stratos. 2018. Dostoevsky: Better space-time trade-offs for LSM-tree based key-value stores via adaptive removal of superfluous merging. In Proceedings of the 2018 International Conference on Management of Data.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. [25] Dong Siying, Callaghan Mark, Galanis Leonidas, Borthakur Dhruba, Savor Tony, and Strum Michael. 2017. Optimizing space amplification in RocksDB. In Proceedings of the CIDR.Google ScholarGoogle Scholar
  26. [26] Dong Siying, Kryczka Andrew, Jin Yanqin, and Stumm Michael. 2021. Evolution of development priorities in key-value stores serving large-scale applications: The RocksDB experience. In Proceedings of the 19th USENIX Conference on File and Storage Technologies.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. [27] Dong Siying, Kryczka Andrew, Jin Yanqin, and Stumm Michael. 2021. RocksDB: Evolution of development priorities in a key-value store serving large-scale applications. ACM Transactions on Storage 17, 4 (2021), 1–32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. [28] Eisenman Assaf, Gardner Darryl, AbdelRahman Islam, Axboe Jens, Dong Siying, Hazelwood Kim, Petersen Chris, Cidon Asaf, and Katti Sachin. 2018. Reducing DRAM footprint with NVM in Facebook. In Proceedings of the 13th EuroSys Conference.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. [29] Facebook. (n.d.). RocksDB: A Persistent Key-value Store for Fast Storage Environments. Retrieved from https://rocksdb.orgGoogle ScholarGoogle Scholar
  30. [30] Gan Yu, Zhang Yanqi, Hu Kelvin, Cheng Dailun, He Yuan, Pancholi Meghna, and Delimitrou Christina. 2019. Seer: Leveraging big data to navigate the complexity of performance debugging in cloud microservices. In Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems. 1933.Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. [31] Ghemawat Sanjay and Dean Jeff. (n.d.). LevelDB. Retrieved from https://github.com/google/leveldbGoogle ScholarGoogle Scholar
  32. [32] Google. (n.d.). Benchmarks for Mobile Page Speed. Retrieved from https://www.thinkwithgoogle.com/intl/en-ca/marketing-strategies/app-and-mobile/mobile-page-speed-new-industry-benchmarksGoogle ScholarGoogle Scholar
  33. [33] Group TABB. (n.d.). The Value of a Millisecond: Finding the Optimal Speed of a Trading Infrastructure. Retrieved from https://research.tabbgroup.com/report/v06-007-value-millisecond-finding-optimal-speed-trading-infrastructureGoogle ScholarGoogle Scholar
  34. [34] gRPC. (n.d.). gRPC: A high performance open-source universal RPC framework.Retrieved from https://grpc.ioGoogle ScholarGoogle Scholar
  35. [35] Gupta Aayush, Kim Youngjae, and Urgaonkar Bhuvan. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. Acm Sigplan Notices 44, 3 (2009), 229–240.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. [36] Ha Keonsoo, Jeong Jaeyong, and Kim Jihong. 2015. An integrated approach for managing read disturbs in high-density NAND flash memory. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 35, 7 (2015), 1079–1091.Google ScholarGoogle Scholar
  37. [37] Huang Ping, Subedi Pradeep, He Xubin, He Shuang, and Zhou Ke. 2014. FlexECC: Partially relaxing ECC of MLCSSD for better cache performance. In Proceedings of the 2014 USENIX Annual Technical Conference (USENIXATC’14).Google ScholarGoogle Scholar
  38. [38] Im Junsu, Bae Jinwook, Chung Chanwoo, Lee Sungjin, Arvind Arvind. 2020. PinK: High-speed in-storage key-value store with bounded tails. In Proceedings of the 2020 USENIX Annual Technical Conference (USENIXATC’20).Google ScholarGoogle Scholar
  39. [39] Instagram. (n.d.). Performance & Usage at Instagram. Retrieved from https://instagram-engineering.com/performance-usage-at-instagram-d2ba0347e442Google ScholarGoogle Scholar
  40. [40] Jiang Tianyang, Zhang Guangyan, Huang Zican, Ma Xiaosong, Wei Junyu, Li Zhiyue, and Zheng Weimin. 2021. FusionRAID: Achieving consistent low latency for commodity SSD arrays. In Proceedings of the 19th USENIX Conference on File and Storage Technologies (FAST’21).Google ScholarGoogle Scholar
  41. [41] Jimenez Xavier, Novo David, and Ienne Paolo. 2014. Wear unleveling: Improving NAND flash lifetime by balancing page endurance. In Proceedings of the 12th USENIX Conference on File and Storage Technologies.Google ScholarGoogle Scholar
  42. [42] Jo Heeseung, Kang Jeong-Uk, Park Seon-Yeong, Kim Jin-Soo, and Lee Joonwon. 2006. FAB: Flash-aware buffer management policy for portable media players. IEEE Transactions on Consumer Electronics 52, 2 (2006), 485–493.Google ScholarGoogle Scholar
  43. [43] Jung Myoungsoo, Choi Wonil, Kwon Miryeong, Srikantaiah Shekhar, Yoo Joonhyuk, and Kandemir Mahmut Taylan. 2019. Design of a host interface logic for gc-free ssds. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 39, 8 (2019), 1674–1687.Google ScholarGoogle Scholar
  44. [44] Jung Myoungsoo, Choi Wonil, Srikantaiah Shekhar, Yoo Joonhyuk, and Kandemir Mahmut T.. 2014. HIOS: A host interface I/O scheduler for solid state disks. ACM SIGARCH Computer Architecture News 42, 3 (2014), 289–300.Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. [45] Jung M. and Kandemir M.. 2013. Revisiting widely held SSD expectations and rethinking system-level implications. SIGMETRICS Perform. Eval. Rev. 41, 1 (June 2013), 203–216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. [46] Jung Myoungsoo, Prabhakar Ramya, and Kandemir Mahmut T.. 2012. Taking garbage collection overheads off the critical path in SSDs. In Proceedings of the Middleware 2012 - ACM/IFIP/USENIX 13th International Middleware Conference, Montreal.Lecture Notes in Computer Science, Vol. 7662. Springer, 164186.Google ScholarGoogle ScholarCross RefCross Ref
  47. [47] Kaiyrakhmet Olzhas, Lee Songyi, Nam Beomseok, Noh Sam H., and Choi Young-ri. 2019. SLM-DB: Single-level key-value store with persistent memory. In Proceedings of the17th USENIX Conference on File and Storage Technologies (FAST’19).Google ScholarGoogle Scholar
  48. [48] Kang Jeong-Uk, Jo Heeseung, Kim Jin-Soo, and Lee Joonwon. 2006. A superblock-based flash translation layer for NAND flash memory. In Proceedings of the 6th ACM & IEEE International Conference on Embedded Software.Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. [49] Kang Sooyong, Park Sungmin, Jung Hoyoung, Shim Hyoki, and Cha Jaehyuk. 2008. Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices. IEEE Transactions on Computers 58, 6 (2008), 744–758.Google ScholarGoogle Scholar
  50. [50] Kang Woon-Hak, Lee Sang-Won, Moon Bongki, Kee Yang-Suk, and Oh Moonwook. 2014. Durable write cache in flash memory SSD for relational and NoSQL databases. In Proceedings of the 2014 ACM SIGMOD International Conference on Management of Data.Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. [51] Kannan Sudarsun, Bhat Nitish, Gavrilovska Ada, Arpaci-Dusseau Andrea, and Arpaci-Dusseau Remzi. 2018. Redesigning LSMs for nonvolatile memory with NoveLSM. In Proceedings of the 2018 USENIX Annual Technical Conference.Google ScholarGoogle Scholar
  52. [52] Kim Bryan S, Choi Jongmoo, and Min Sang Lyul. 2019. Design tradeoffs for SSD reliability. In Proceedings of the 17th USENIX Conference on File and Storage Technologies.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. [53] Kim Bryan S, Yang Hyun Suk, and Min Sang Lyul. 2018. AutoSSD: An autonomic SSD architecture. In Proceedings of the 2018 USENIX Annual Technical Conference.Google ScholarGoogle Scholar
  54. [54] Kim Hyojun and Ahn Seongjun. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the File and Storage Technologies.Google ScholarGoogle Scholar
  55. [55] Kim Jaeho, Lim Kwanghyun, Jung Youngdon, Lee Sungjin, Min Changwoo, and Noh Sam H.. 2019. Alleviating garbage collection interference through spatial separation in all flash arrays. In Proceedings of the 2019 USENIX Annual Technical Conference.Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. [56] Koh Sungjoon, Jang Junhyeok, Lee Changrim, Kwon Miryeong, Zhang Jie, and Jung Myoungsoo. 2019. Faster than flash: An in-depth study of system challenges for emerging ultra-low latency SSDs. In Proceedings of the IEEE International Symposium on Workload Characterization, IISWC 2019, Orlando, FL, USA, November 3-5, 2019. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  57. [57] Koh Sungjoon, Lee Changrim, Kwon Miryeong, and Jung Myoungsoo. 2018. Exploring system challenges of ultra-low latency solid state drives. In Proceedings of the 10th USENIX Workshop on Hot Topics in Storage and File Systems.Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. [58] Kumar Sanjeev. (n.d.). Social networking at scale. Retrieved from https://www.ece.lsu.edu/hpca-18/files/HPCA2012_Facebook_Keynote.pdf.Google ScholarGoogle Scholar
  59. [59] Lee Sangwon, Kwon Miryeong, Park Gyuyoung, and Jung Myoungsoo. 2022. LightPC: Hardware and software co-design for energy-efficient full system persistence. In Proceedings of the 49th Annual International Symposium on Computer Architecture. 289305.Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. [60] Lepers Baptiste, Balmau Oana, Gupta Karan, and Zwaenepoel Willy. 2019. Kvell: The design and implementation of a fast persistent key-value store. In Proceedings of the 27th ACM Symposium on Operating Systems Principles.Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. [61] Li Huaicheng, Putra Martin L., Shi Ronald, Lin Xing, Ganger Gregory R., and Gunawi Haryadi S.. 2021. lODA: A host/device co-design for strong predictability contract on modern flash storage. In Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles.Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. [62] Li Qiao, Shi Liang, Xue Chun Jason, Wu Kaijie, Ji Cheng, Zhuge Qingfeng, and Sha Edwin H-M. 2016. Access characteristic guided read and write cost regulation for performance improvement on flash memory. In Proceedings of the 14th USENIX Conference on File and Storage Technologies.Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. [63] Li Yongkun, Liu Zhen, Lee Patrick PC, Wu Jiayu, Xu Yinlong, Wu Yi, Tang Liu, Liu Qi, and Cui Qiu. 2021. Differentiated key-value storage management for balanced I/O performance. In Proceedings of the 2021 USENIX Annual Technical Conference.Google ScholarGoogle Scholar
  64. [64] Lim Hyeontaek, Fan Bin, Andersen David G., and Kaminsky Michael. 2011. SILT: A memory-efficient, high-performance key-value store. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles.Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. [65] Liu Chun-Yi, Kotra Jagadish B., Jung Myoungsoo, Kandemir Mahmut T., and Das Chita R.. 2019. SOML read: Rethinking the read operation granularity of 3D NAND SSDs. In Proceedings of the 24th International Conference on Architectural Support for Programming Languages and Operating Systems.Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. [66] Lu Lanyue, Pillai Thanumalayan Sankaranarayana, Gopalakrishnan Hariharan, Arpaci-Dusseau Andrea C., and Arpaci-Dusseau Remzi H.. 2017. Wisckey: Separating keys from values in ssd-conscious storage. ACM Transactions on Storage 13, 1 (2017), 1–28.Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. [67] Mao Bo, Jiang Hong, Wu Suzhen, Tian Lei, Feng Dan, Chen Jianxi, and Zeng Lingfang. 2012. HPDA: A hybrid parity-based disk array for enhanced performance and reliability. ACM Transactions on Storage 8, 1 (2012), 1–20.Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. [68] Matsunobu Yoshinori, Dong Siying, and Lee Herman. 2020. MyRocks: LSM-tree database storage engine serving Facebook’s social graph. Proceedings of the VLDB Endowment 13, 12 (2020), 3217–3230.Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. [69] Mielke Neal, Marquart Todd, Wu Ning, Kessenich Jeff, Belgal Hanmant, Schares Eric, Trivedi Falgun, Goodness Evan, and Nevill Leland R. 2008. Bit error rate in NAND flash memories. In Proceedings of the 2008 IEEE International Reliability Physics Symposium. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  70. [70] Inc NVM Express,. (n.d.). NVM Express Specification. Retrieved from https://nvmexpress.org/specificationsGoogle ScholarGoogle Scholar
  71. [71] Park Gyuyoung, Kwon Miryeong, Mahapatra Pratyush, Swift Michael, and Jung Myoungsoo. 2018. BIBIM: A prototype multi-partition aware heterogeneous new memory. In Proceedings of the 10th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’18).Google ScholarGoogle Scholar
  72. [72] Park Stan and Shen Kai. 2012. FIOS: A fair, efficient flash I/O scheduler.. In Proceedings of the File and Storage Technologies.Google ScholarGoogle Scholar
  73. [73] Raju Pandian, Kadekodi Rohan, Chidambaram Vijay, and Abraham Ittai. 2017. Pebblesdb: Building key-value stores using fragmented log-structured merge trees. In Proceedings of the 26th Symposium on Operating Systems Principles.Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. [74] Ren Kai, Zheng Qing, Arulraj Joy, and Gibson Garth. 2017. SlimDB: A space-efficient key-value storage engine for semi-sorted data. Proceedings of the VLDB Endowment 10, 13 (2017), 2037–2048.Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. [75] RPC. (n.d.). Apache Thrift. Retrieved from https://thrift.apache.orgGoogle ScholarGoogle Scholar
  76. [76] Schroeder Bianca, Lagisetty Raghav, and Merchant Arif. 2016. Flash reliability in production: The expected and the unexpected. In Proceedings of the 14th USENIX Conference on File and Storage Technologies. 6780. Retrieved from https://www.usenix.org/conference/fast16/technical-sessions/presentation/schroederGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  77. [77] Sears Russell and Ramakrishnan Raghu. 2012. bLSM: A general purpose log structured merge tree. In Proceedings of the 2012 ACM SIGMOD International Conference on Management of Data.Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. [78] Shahidi Narges, Kandemir Mahmut T., Arjomand Mohammad, Das Chita R., Jung Myoungsoo, and Sivasubramaniam Anand. 2016. Exploring the potentials of parallel garbage collection in ssds for enterprise storage systems. In SC’16: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis. IEEE.Google ScholarGoogle ScholarDigital LibraryDigital Library
  79. [79] Sun Hongbin, Zhao Wenzhe, Lv Minjie, Dong Guiqiang, Zheng Nanning, and Zhang Tong. 2016. Exploiting intracell bit-error characteristics to improve min-sum LDPC decoding for MLC NAND flash-based storage in mobile device. IEEE Transactions on Very Large Scale Integration Systems 24, 8 (2016), 2654–2664.Google ScholarGoogle ScholarDigital LibraryDigital Library
  80. [80] Tavakkol Arash, Sadrosadati Mohammad, Ghose Saugata, Kim Jeremie, Luo Yixin, Wang Yaohua, Ghiasi Nika Mansouri, Orosa Lois, Gómez-Luna Juan, and Mutlu Onur. 2018. FLIN: Enabling fairness and enhancing performance in modern NVMe solid state drives. In Proceedings of the2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture. IEEE.Google ScholarGoogle ScholarDigital LibraryDigital Library
  81. [81] Houdt Benny Van. 2013. A mean field model for a class of garbage collection algorithms in flash-based solid state drives. ACM SIGMETRICS Performance Evaluation Review 41, 1 (2013), 191–202.Google ScholarGoogle ScholarDigital LibraryDigital Library
  82. [82] Wang Shucheng, Lu Ziyi, Cao Qiang, Jiang Hong, Yao Jie, Dong Yuanyuan, and Yang Puyuan. 2020. BCW: Buffer-controlled writes to HDDs for SSD-HDD hybrid storage server. In Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST’20).Google ScholarGoogle Scholar
  83. [83] Wei Wang, Jinyang Gao, Meihui Zhang, Sheng Wang, Gang Chen, Teck Khim Ng, Beng Chin Ooi, Jie Shao, and Moaz Reyad. 2018. Rafiki: machine learning as an analytics service system. Proc. VLDB Endow. 12, 2 (2018), 128–140. https://arxiv.org/abs/1804.06087Google ScholarGoogle Scholar
  84. [84] Wu Guanying and He Xubin. 2012. Reducing SSD read latency via NAND flash program and erase suspension.. In Proceedings of the File and Storage Technologies.Google ScholarGoogle Scholar
  85. [85] Yan Shiqin, Li Huaicheng, Hao Mingzhe, Tong Michael Hao, Sundararaman Swaminathan, Chien Andrew A, and Gunawi Haryadi S. 2017. Tiny-tail flash: Near-perfect elimination of garbage collection tail latencies in NAND SSDs. ACM Transactions on Storage 13, 3 (2017)1–26.Google ScholarGoogle ScholarDigital LibraryDigital Library
  86. [86] Yang Ming-Chang, Chang Yu-Ming, Tsao Che-Wei, Huang Po-Chun, Chang Yuan-Hao, and Kuo Tei-Wei. 2014. Garbage collection and wear leveling for flash memory: Past and future. In Proceedings of the 2014 International Conference on Smart Computing. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  87. [87] Yang Pan, Xue Ni, Zhang Yuqi, Zhou Yangxu, Sun Li, Chen Wenwen, Chen Zhonggang, Xia Wei, Li Junke, and Kwon Kihyoun. 2019. Reducing garbage collection overhead in SSD based on workload prediction. In Proceedings of the 11th USENIX Workshop on Hot Topics in Storage and File Systems.Google ScholarGoogle ScholarDigital LibraryDigital Library
  88. [88] Zhang Jie, Kwon Miryeong, Gouk Donghyun, Koh Sungjoon, Kim Nam Sung, Kandemir Mahmut Taylan, and Jung Myoungsoo. 2021. Revamping storage class memory with hardware automated memory-over-storage solution. In Proceedings of the 2021 ACM/IEEE 48th Annual International Symposium on Computer Architecture. IEEE.Google ScholarGoogle ScholarDigital LibraryDigital Library
  89. [89] Zhang Jie, Kwon Miryeong, Gouk Donghyun, Koh Sungjoon, Lee Changlim, Alian Mohammad, Chun Myoungjun, Kandemir Mahmut Taylan, Kim Nam Sung, Kim Jihong, and Jung Myoungsoo. 2018. FlashShare: Punching through server storage stack from kernel to firmware for ultra-low latency SSDs. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation, Arpaci-Dusseau Andrea C. and Voelker Geoff (Eds.). USENIX Association, 477492.Google ScholarGoogle Scholar
  90. [90] Zhang Jie, Park Gyuyoung, Donofrio David, Shalf John, and Jung Myoungsoo. 2020. DRAM-less: Hardware acceleration of data processing with new memory. In Proceedings of the 2020 IEEE International Symposium on High Performance Computer Architecture. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  91. [91] Zhang Meng, Wu Fei, He Xubin, Huang Ping, Wang Shunzhuo, and Xie Changsheng. 2016. REAL: A retention error aware LDPC decoding scheme to improve NAND flash read performance. In Proceedings of the 2016 32nd Symposium on Mass Storage Systems and Technologies. IEEE.Google ScholarGoogle ScholarCross RefCross Ref
  92. [92] Zhao Kai, Zhao Wenzhe, Sun Hongbin, Zhang Xiaodong, Zheng Nanning, and Zhang Tong. 2013. LDPC-in-SSD: Making advanced error correction codes work effectively in solid state drives. In Proceedings of the 11th USENIX Conference on File and Storage Technologies.Google ScholarGoogle Scholar
  93. [93] Zhao Mark, Agarwal Niket, Basant Aarti, Gedik Buğra, Pan Satadru, Ozdal Mustafa, Komuravelli Rakesh, Pan Jerry, Bao Tianshu, Lu Haowei, et al. 2022. Understanding data storage and ingestion for large-scale deep recommendation model training: Industrial product. In Proceedings of the 49th Annual International Symposium on Computer Architecture. 10421057.Google ScholarGoogle ScholarDigital LibraryDigital Library
  94. [94] Zhu Xiaoyong. (n.d.). Feathr: LinkedIn’s feature store is now available on Azure. https://azure.microsoft.com/en-us/blog/feathr-linkedin-s-feature-store-is-now-available-on-azure/.Google ScholarGoogle Scholar

Index Terms

  1. Realizing Strong Determinism Contract on Log-Structured Merge Key-Value Stores

      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 19, Issue 2
        May 2023
        269 pages
        ISSN:1553-3077
        EISSN:1553-3093
        DOI:10.1145/3585541
        Issue’s Table of Contents

        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 the author(s) 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: 25 March 2023
        • Online AM: 24 February 2023
        • Accepted: 23 January 2023
        • Received: 30 December 2022
        Published in tos Volume 19, Issue 2

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article
      • Article Metrics

        • Downloads (Last 12 months)325
        • Downloads (Last 6 weeks)59

        Other Metrics

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Full Text

      View this article in Full Text.

      View Full Text

      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!