{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,1]],"date-time":"2026-06-01T20:35:56Z","timestamp":1780346156488,"version":"3.54.1"},"reference-count":54,"publisher":"Association for Computing Machinery (ACM)","issue":"7","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2020,3]]},"abstract":"<jats:p>Modern applications employ key-value stores (KVS) in at least some point of their software stack, often as a caching system or a storage manager. Many of these applications also require a high degree of responsiveness and performance predictability. However, most KVS have similar design decisions which focus on improving throughput metrics, at times by sacrificing latency. While latency can be occasionally reduced by over provisioning hardware, this entails significant increase in costs. In this paper we present RStore, a KVS which focus on low tail latency as its primary goal, while also enabling efficient usage of hardware resources. To that aim, we argue in favor of techniques such as an asynchronous programming model, message-passing communication, and log-structured storage on modern hardware. Throughout the paper we discuss these and other design decisions of RStore that differ from those of more traditional systems. Our evaluation shows that RStore scales its throughput with an increasing number of cores while maintaining a robust behavior with low and predictable latency.<\/jats:p>","DOI":"10.14778\/3384345.3384356","type":"journal-article","created":{"date-parts":[[2020,3,26]],"date-time":"2020-03-26T14:21:06Z","timestamp":1585232466000},"page":"1091-1104","source":"Crossref","is-referenced-by-count":23,"title":["Enabling low tail latency on multicore key-value stores"],"prefix":"10.14778","volume":"13","author":[{"given":"Lucas","family":"Lersch","sequence":"first","affiliation":[{"name":"TU Dresden &amp; SAP SE"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ivan","family":"Schreter","sequence":"additional","affiliation":[{"name":"SAP SE"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Ismail","family":"Oukid","sequence":"additional","affiliation":[{"name":"Snowflake Computing"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Wolfgang","family":"Lehner","sequence":"additional","affiliation":[{"name":"TU Dresden"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2020,3,26]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Accessed","author":"Acorn P.","year":"2019"},{"issue":"4","key":"e_1_2_1_3_1","first-page":"337","volume":"10","author":"Arulraj J.","year":"2016","journal-title":"Write-Behind Logging. PVLDB"},{"key":"e_1_2_1_4_1","first-page":"53","volume-title":"ACM SIGMETRICS Performance Evaluation Review","author":"Atikoglu B.","year":"2012"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-7091-8871-2_3"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1137\/S0097539701389956"},{"key":"e_1_2_1_7_1","first-page":"41","article-title":"Orleans: Distributed virtual actors for programmability and scalability","author":"Bernstein P. A.","year":"2014","journal-title":"MSR-TR-"},{"key":"e_1_2_1_8_1","volume-title":"8th Biennial Conference on Innovative Data Systems Research (CIDR)","author":"Bernstein P. A.","year":"2017"},{"key":"e_1_2_1_9_1","volume-title":"Hyder - A Transactional Record Manager for Shared Flash. In 5th Biennial Conference on Innovative Data Systems Research (CIDR)","author":"Bernstein P. A.","year":"2011"},{"key":"e_1_2_1_10_1","volume-title":"Accessed","author":"Bon\u00e9r J.","year":"2019"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183713.3196898"},{"key":"e_1_2_1_12_1","volume-title":"Improving hash join performance through prefetching. ACM Transactions on Database Systems (TODS), 32(3):17","author":"Chen S.","year":"2007"},{"key":"e_1_2_1_13_1","volume-title":"Persistent B+-Trees in Non-Volatile Main Memory. PVLDB, 8(7):786--797","author":"Chen S.","year":"2015"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/3035918.3064054"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2408776.2408794"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1294261.1294281"},{"key":"e_1_2_1_18_1","first-page":"42","volume-title":"Proceedings of the Thirteenth EuroSys Conference","author":"Eisenman A."},{"key":"e_1_2_1_19_1","volume-title":"https:\/\/rocksdb.org\/. Accessed","author":"DB.","year":"2019"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.14778\/2180912.2180917"},{"key":"e_1_2_1_21_1","first-page":"349","volume-title":"Larson. B-Tree Indexes and CPU Caches. In Proceedings of the 17th International Conference on Data Engineering","author":"Graefe G.","year":"2001"},{"key":"e_1_2_1_22_1","volume-title":"Systems Performance: Enterprise and the Cloud","author":"Gregg B.","year":"2013","edition":"1"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1376616.1376713"},{"key":"e_1_2_1_24_1","volume-title":"IJCAI","author":"Hewitt C.","year":"1973"},{"key":"e_1_2_1_25_1","first-page":"703","volume-title":"Log-Structured Non-Volatile Main Memory. In USENIX Annual Technical Conference","author":"Hu Q.","year":"2017"},{"key":"e_1_2_1_26_1","volume-title":"Accessed","year":"2019"},{"key":"e_1_2_1_27_1","first-page":"691","volume-title":"Proceedings of the 2015 International Conference on Management of Data","author":"Kimura H.","year":"2015"},{"issue":"4","key":"e_1_2_1_28_1","first-page":"252","volume":"9","author":"Kocberber O.","year":"2015","journal-title":"Asynchronous Memory Access Chaining. PVLDB"},{"key":"e_1_2_1_29_1","first-page":"257","volume-title":"Proceedings of the 15th USENIX Conference on File and Storage Technologies","author":"Lee S. K.","year":"2017"},{"issue":"10","key":"e_1_2_1_30_1","first-page":"877","volume":"6","author":"Levandoski J.","year":"2013","journal-title":"LLAMA: A Cache\/Storage Subsystem for Modern Hardware. PVLDB"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930595"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043558"},{"key":"e_1_2_1_33_1","volume-title":"https:\/\/www.dpdk.org\/. Accessed","author":"Foundation Linux","year":"2019"},{"key":"e_1_2_1_34_1","volume-title":"The Case for Log Structuring in Database Systems. In Intl Workshop on High Performance Transaction Systems","author":"Lomet D.","year":"1995"},{"key":"e_1_2_1_35_1","volume-title":"3D XPoint Technology. https:\/\/www.micron.com\/products\/advanced-solutions\/3d-xpoint-technology","year":"2018"},{"key":"e_1_2_1_36_1","volume-title":"Accessed","author":"Mott N.","year":"2019"},{"key":"e_1_2_1_37_1","first-page":"305","volume-title":"USENIX Annual Technical Conference","author":"Ongaro D.","year":"2014"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915251"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2806887"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1007\/s002360050048"},{"issue":"2","key":"e_1_2_1_41_1","first-page":"121","volume":"7","author":"Pelley S.","year":"2013","journal-title":"Storage Management in the NVRAM Era. PVLDB"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.14778\/3149193.3149202"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591305.2591307"},{"key":"e_1_2_1_45_1","volume-title":"https:\/\/www.scylladb.com\/. Accessed","author":"ScyllaDB Inc. ScyllaDB.","year":"2019"},{"key":"e_1_2_1_46_1","volume-title":"http:\/\/seastar.io\/. Accessed","author":"ScyllaDB Inc. Seastar.","year":"2019"},{"key":"e_1_2_1_47_1","volume-title":"Operating System Concepts Essentials","author":"Silberschatz A.","year":"2014"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2882916"},{"key":"e_1_2_1_49_1","first-page":"1150","volume-title":"VLDB","author":"Stonebraker M.","year":"2007"},{"key":"e_1_2_1_50_1","volume-title":"The mind behind linux. https:\/\/www.ted. com\/talks\/linus_torvalds_the_mind_behind_linux","author":"Talk TED","year":"2016"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.14778\/2336664.2336673"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.14778\/2732951.2732960"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2018.00044"},{"key":"e_1_2_1_54_1","first-page":"349","volume-title":"HiKV: A Hybrid Index Key-Value Store for DRAM-NVM Memory Systems. In USENIX Annual Technical Conference","author":"Xia F.","year":"2017"},{"key":"e_1_2_1_55_1","first-page":"167","volume-title":"Proceedings of the 13th USENIX Conference on File and Storage Technologies","author":"Yang J.","year":"2015"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3384345.3384356","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T09:54:10Z","timestamp":1672221250000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3384345.3384356"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,3]]},"references-count":54,"journal-issue":{"issue":"7","published-print":{"date-parts":[[2020,3]]}},"alternative-id":["10.14778\/3384345.3384356"],"URL":"https:\/\/doi.org\/10.14778\/3384345.3384356","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2020,3]]}}}