{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T23:20:53Z","timestamp":1780356053805,"version":"3.54.1"},"reference-count":44,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2023,3,6]],"date-time":"2023-03-06T00:00:00Z","timestamp":1678060800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/501100001809","name":"NSF of China","doi-asserted-by":"crossref","award":["62272253, 62272252, 62141412"],"award-info":[{"award-number":["62272253, 62272252, 62141412"]}],"id":[{"id":"10.13039\/501100001809","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100012226","name":"Fundamental Research Funds for the Central Universities","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100012226","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Storage"],"published-print":{"date-parts":[[2023,5,31]]},"abstract":"<jats:p>\n            The Log-Structured Merge Tree (LSM-Tree) is widely used in key-value (KV) stores because of its excwrite performance. But LSM-Tree-based KV stores still have the overhead of write-ahead log and write stall caused by slow\n            <jats:italic>\n              L\n              <jats:sub>0<\/jats:sub>\n            <\/jats:italic>\n            flush and\n            <jats:italic>\n              L\n              <jats:sub>0<\/jats:sub>\n            <\/jats:italic>\n            -\n            <jats:italic>\n              L\n              <jats:sub>1<\/jats:sub>\n            <\/jats:italic>\n            compaction. New byte-addressable, persistent memory (PM) devices bring an opportunity to improve the write performance of LSM-Tree. Previous studies on PM-based LSM-Tree have not fully exploited PM\u2019s \u201cdual role\u201d of main memory and external storage. In this article, we analyze two strategies of memtables based on PM and the reasons write stall problems occur in the first place. Inspired by the analysis result, we propose FlatLSM, a specially designed flat LSM-Tree for non-volatile memory based KV stores. First, we propose PMTable\u00a0with separated index and data. The PM Log utilizes the Buffer Log to store KVs of size less than 256B. Second, to solve the write stall problem, FlatLSM merges the volatile memtables and the persistent\n            <jats:italic>\n              L\n              <jats:sub>0<\/jats:sub>\n            <\/jats:italic>\n            into large PMTables, which can reduce the depth of LSM-Tree and concentrate I\/O bandwidth on\n            <jats:italic>\n              L\n              <jats:sub>0<\/jats:sub>\n            <\/jats:italic>\n            -\n            <jats:italic>\n              L\n              <jats:sub>1<\/jats:sub>\n            <\/jats:italic>\n            compaction. To mitigate write stall caused by flushing large PMTables\u00a0to SSD, we propose a parallel flush\/compaction algorithm based on KV separation. We implemented FlatLSM based on RocksDB and evaluated its performance on Intel\u2019s latest PM device, the Intel Optane DC PMM with the state-of-the-art PM-based LSM-Tree KV stores, FlatLSM improves the throughput 5.2\u00d7 on random write workload and 2.55\u00d7 on YCSB-A.\n          <\/jats:p>","DOI":"10.1145\/3579855","type":"journal-article","created":{"date-parts":[[2023,1,21]],"date-time":"2023-01-21T11:46:21Z","timestamp":1674301581000},"page":"1-26","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["FlatLSM: Write-Optimized LSM-Tree for PM-Based KV Stores"],"prefix":"10.1145","volume":"19","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4726-4615","authenticated-orcid":false,"given":"Kewen","family":"He","sequence":"first","affiliation":[{"name":"Nankai University, Jinnan District, Tianjin"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6670-8472","authenticated-orcid":false,"given":"Yujie","family":"An","sequence":"additional","affiliation":[{"name":"Nankai University, Jinnan District, Tianjin"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8846-4875","authenticated-orcid":false,"given":"Yijing","family":"Luo","sequence":"additional","affiliation":[{"name":"Nankai University, Jinnan District, Tianjin"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-9010-3278","authenticated-orcid":false,"given":"Xiaoguang","family":"Liu","sequence":"additional","affiliation":[{"name":"Nankai University, Jinnan District, Tianjin"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0387-2501","authenticated-orcid":false,"given":"Gang","family":"Wang","sequence":"additional","affiliation":[{"name":"Nankai University, Jinnan District, Tianjin"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2023,3,6]]},"reference":[{"key":"e_1_3_1_2_2","unstructured":"2017. NVM Programming Model (Version 1.2) SNIA NVM Programming Technical Working Group"},{"key":"e_1_3_1_3_2","unstructured":"2018. Titan: A RocksDB Plugin to Reduce Write Amplification. Retrieved April 25 2019 from https:\/\/pingcap.com\/blog\/titan-storage-engine-design-and-implementation."},{"key":"e_1_3_1_4_2","article-title":"HBase","year":"2014","unstructured":"Apache. 2014. HBase. Retrieved January 30, 2023 from https:\/\/hbase.apache.org\/.","journal-title":"https:\/\/hbase.apache.org\/."},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2749441"},{"key":"e_1_3_1_6_2","unstructured":"Oana Balmau Diego Didona Rachid Guerraoui Willy Zwaenepoel Huapeng Yuan Aashray Arora Karan Gupta and Pavan Konka. 2017. TRIAD: Creating synergies between memory disk and log in log structured key-value stores. In Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC\u201917) . 363\u2013375."},{"key":"e_1_3_1_7_2","unstructured":"Oana Balmau Florin Dinu Willy Zwaenepoel Karan Gupta Ravishankar Chandhiramoorthi and Diego Didona. 2019. SILK: Preventing latency spikes in log-structured merge key-value stores. In Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC\u201919) . 753\u2013766."},{"key":"e_1_3_1_8_2","first-page":"1","volume-title":"Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201910)","author":"Beaver Doug","year":"2010","unstructured":"Doug Beaver, Sanjeev Kumar, Harry C. Li, Jason Sobel, and Peter Vajgel. 2010. Finding a needle in haystack: Facebook\u2019s photo storage. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI\u201910). 1\u20138."},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1145\/1365815.1365816"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","DOI":"10.1145\/3373376.3378515"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_3_1_12_2","article-title":"Intel Optane DC Persistent Memory Product Brief","author":"Corporation Intel","year":"2019","unstructured":"Intel Corporation. 2019. Intel Optane DC Persistent Memory Product Brief. Retrieved January 30, 2023 from https:\/\/www.intel.com\/content\/www\/us\/en\/products\/docs\/memory-storage\/optane-persistent-memory\/optane-dc-persistent-memory-brief.html.","journal-title":"https:\/\/www.intel.com\/content\/www\/us\/en\/products\/docs\/memory-storage\/optane-persistent-memory\/optane-dc-persistent-memory-brief.html."},{"key":"e_1_3_1_13_2","article-title":"Persistent Memory Development Kit","author":"Corporation Intel","year":"2019","unstructured":"Intel Corporation. 2019. Persistent Memory Development Kit. Retrieved January 30, 2023 from https:\/\/pmem.io\/pmdk\/.","journal-title":"https:\/\/pmem.io\/pmdk\/."},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/3299869.3319903"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","DOI":"10.1145\/1323293.1294281"},{"key":"e_1_3_1_16_2","first-page":"1","volume-title":"Proceedings of the 13th EuroSys Conference","author":"Eisenman Assaf","year":"2018","unstructured":"Assaf Eisenman, Darryl Gardner, Islam AbdelRahman, Jens Axboe, Siying Dong, Kim Hazelwood, Chris Petersen, Asaf Cidon, and Sachin Katti. 2018. Reducing DRAM footprint with NVM in Facebook. In Proceedings of the 13th EuroSys Conference. 1\u201313."},{"key":"e_1_3_1_17_2","article-title":"Cassandra","year":"2008","unstructured":"Facebook. 2008. Cassandra. Retrieved January 30, 2023 from https:\/\/cassandra.apache.org\/.","journal-title":"https:\/\/cassandra.apache.org\/."},{"key":"e_1_3_1_18_2","article-title":"RocksDB","year":"2013","unstructured":"Facebook. 2013. RocksDB. Retrieved January 30, 2023 from https:\/\/rocksdb.org\/.","journal-title":"https:\/\/rocksdb.org\/."},{"key":"e_1_3_1_19_2","first-page":"1","volume-title":"Proceedings of the 15th European Conference on Computer Systems","author":"Gilad Eran","year":"2020","unstructured":"Eran Gilad, Edward Bortnikov, Anastasia Braginsky, Yonatan Gottesman, Eshcar Hillel, Idit Keidar, Nurit Moscovici, and Rana Shahout. 2020. EvenDB: Optimizing key-value storage for spatial locality. In Proceedings of the 15th European Conference on Computer Systems. 1\u201316."},{"key":"e_1_3_1_20_2","article-title":"LevelDB","year":"2011","unstructured":"Google. 2011. LevelDB. Retrieved January 30, 2023 from https:\/\/github.com\/google\/leveldb.","journal-title":"https:\/\/github.com\/google\/leveldb."},{"key":"e_1_3_1_21_2","unstructured":"Deukyeon Hwang Wook-Hee Kim Youjip Won and Beomseok Nam. 2018. Endurable transient inconsistency in byte-addressable persistent B+-tree. In Proceedings of the 16th USENIX Conference on File and Storage Technologies (FAST\u201918) . 187\u2013200."},{"key":"e_1_3_1_22_2","unstructured":"Intel. 2019. What Is Intel Optane DC Persistent Memory? Retrieved January 30 2023 from https:\/\/www.boston.co.uk\/blog\/2019\/07\/10\/intel-optane-dc-persistant-memory.aspx."},{"key":"e_1_3_1_23_2","article-title":"Basic performance measurements of the Intel Optane DC persistent memory module","author":"Izraelevitz Joseph","year":"2019","unstructured":"Joseph Izraelevitz, Jian Yang, Lu Zhang, Juno Kim, Xiao Liu, Amirsaman Memaripour, Yun Joon Soh, et\u00a0al. 2019. Basic performance measurements of the Intel Optane DC persistent memory module. arXiv preprint arXiv:1903.05714 (2019).","journal-title":"arXiv preprint arXiv:1903.05714"},{"key":"e_1_3_1_24_2","unstructured":"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\u201919) . 191\u2013205."},{"key":"e_1_3_1_25_2","unstructured":"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 (USENIX ATC\u201918) . 993\u20131005."},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359628"},{"key":"e_1_3_1_27_2","unstructured":"Jianhong Li Andrew Pavlo and Siying Dong. 2017. NVMRocks: RocksDB on non-volatile memory systems."},{"key":"e_1_3_1_28_2","first-page":"673","volume-title":"Proceedings of the 2021 USENIX Annual Technical Conference (USENIX ATC\u201921)","author":"Li Yongkun","year":"2021","unstructured":"Yongkun Li, Zhen Liu, Patrick P. C. Lee, Jiayu Wu, Yinlong Xu, Yi Wu, Liu Tang, Qi Liu, and Qiu Cui. 2021. Differentiated key-value storage management for balanced IO performance. In Proceedings of the 2021 USENIX Annual Technical Conference (USENIX ATC\u201921). 673\u2013687."},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2020.3017651"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","DOI":"10.1145\/3033273"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168855"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1145\/3267809.3267829"},{"key":"e_1_3_1_33_2","unstructured":"Moohyeon Nam Hokeun Cha Young-Ri Choi Sam H. Noh and Beomseok Nam. 2019. Write-optimized dynamic hashing for persistent memory. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST\u201919) . 31\u201344."},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915251"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/s002360050048"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132765"},{"key":"e_1_3_1_37_2","doi-asserted-by":"publisher","DOI":"10.1147\/rd.524.0465"},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213862"},{"key":"e_1_3_1_39_2","unstructured":"Fei Xia Dejun Jiang Jin Xiong and Ninghui Sun. 2017. HiKV: A hybrid index key-value store for DRAM-NVM memory systems. In Proceedings of the 2017 USENIX Annual Technical Conference (USENIX ATC\u201917) . 349\u2013362."},{"key":"e_1_3_1_40_2","first-page":"476","volume-title":"Proceedings of the 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA\u201915)","author":"Xu Cong","year":"2015","unstructured":"Cong Xu, Dimin Niu, Naveen Muralimanohar, Rajeev Balasubramonian, Tao Zhang, Shimeng Yu, and Yuan Xie. 2015. Overcoming the challenges of crossbar resistive memory architectures. In Proceedings of the 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA\u201915). IEEE, Los Alamitos, CA, 476\u2013488."},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","DOI":"10.14778\/3467861.3467875"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","DOI":"10.5555\/3386691.3386708"},{"key":"e_1_3_1_43_2","unstructured":"Ting Yao Jiguang Wan Ping Huang Yiwen Zhang Zhiwen Liu Changsheng Xie and Xubin He. 2019. GearDB: A GC-free key-value store on HM-SMR drives with gear compaction. In Proceedings of the 17th USENIX Conference on File and Storage Technologies (FAST\u201919) . 159\u2013171."},{"key":"e_1_3_1_44_2","unstructured":"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 (USENIX ATC\u201920) . 17\u201331."},{"key":"e_1_3_1_45_2","unstructured":"Pengfei Zuo Yu Hua and Jie Wu. 2018. Write-optimized and high-performance hashing index scheme for persistent memory. In Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation (OSDI\u201918) . 461\u2013476."}],"container-title":["ACM Transactions on Storage"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3579855","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3579855","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T17:51:27Z","timestamp":1750182687000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3579855"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,3,6]]},"references-count":44,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2023,5,31]]}},"alternative-id":["10.1145\/3579855"],"URL":"https:\/\/doi.org\/10.1145\/3579855","relation":{},"ISSN":["1553-3077","1553-3093"],"issn-type":[{"value":"1553-3077","type":"print"},{"value":"1553-3093","type":"electronic"}],"subject":[],"published":{"date-parts":[[2023,3,6]]},"assertion":[{"value":"2022-04-26","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2022-11-22","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2023-03-06","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}