{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,1]],"date-time":"2025-10-01T16:31:58Z","timestamp":1759336318515,"version":"3.41.0"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2017,12,1]],"date-time":"2017-12-01T00:00:00Z","timestamp":1512086400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2017,12]]},"abstract":"<jats:p>Key-value stores are an important tool in managing and accessing large in-memory data sets. As many applications benefit from having as much of their working state fit into main memory, an important design of the memory management of modern key-value stores is the use of log-structured approaches, enabling efficient use of the memory capacity, by compacting objects to avoid fragmented states.<\/jats:p>\n          <jats:p>However, with the emergence of thousand-core and peta-byte memory platforms (DRAM or future storage-class memories) log-structured designs struggle to scale, preventing parallel applications from exploiting the full capabilities of the hardware: careful coordination is required for background activities (compacting and organizing memory) to remain asynchronous with respect to the use of the interface, and for insertion operations to avoid contending for centralized resources such as the log head and memory pools.<\/jats:p>\n          <jats:p>\n            In this work, we present the design of a log-structured key-value store called Nibble that incorporates a\n            <jats:italic>multi-head log<\/jats:italic>\n            for supporting concurrent writes, a novel\n            <jats:italic>distributed epoch<\/jats:italic>\n            mechanism for scalable memory reclamation, and an optimistic concurrency index. We implement Nibble in the Rust language in ca. 4000 lines of code, and evaluate it across a variety of data-serving workloads on a 240-core cache-coherent server. Our measurements show Nibble scales linearly in uniform YCSB workloads, matching competitive non-log-structured key-value stores for write- dominated traces at 50 million operations per second on 1 TiB-sized working sets. Our memory analysis shows Nibble is efficient, requiring less than 10% additional capacity, whereas memory use by non-log-structured key-value store designs may be as high as 2x.\n          <\/jats:p>","DOI":"10.1145\/3186728.3164142","type":"journal-article","created":{"date-parts":[[2019,11,20]],"date-time":"2019-11-20T10:54:54Z","timestamp":1574247294000},"page":"458-471","source":"Crossref","is-referenced-by-count":5,"title":["Concurrent log-structured memory for many-core key-value stores"],"prefix":"10.14778","volume":"11","author":[{"given":"Alexander","family":"Merritt","sequence":"first","affiliation":[{"name":"Georgia Institute of Technology"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Ada","family":"Gavrilovska","sequence":"additional","affiliation":[{"name":"Georgia Institute of Technology"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Yuan","family":"Chen","sequence":"additional","affiliation":[{"name":"Hewlett-Packard Labs"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Dejan","family":"Milojicic","sequence":"additional","affiliation":[{"name":"Hewlett-Packard Labs"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2017,12]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Aug.","author":"Cavium Extend ARM","year":"2012","unstructured":"ARM and Cavium Extend Relationship with ARMv8 Architecture License . https:\/\/www.arm.com\/about\/newsroom\/arm-and-cavium-extend-relationship-with-armv8\\-architecture-license.php , Aug. 2012 . ARM and Cavium Extend Relationship with ARMv8 Architecture License. https:\/\/www.arm.com\/about\/newsroom\/arm-and-cavium-extend-relationship-with-armv8\\-architecture-license.php, Aug. 2012."},{"key":"e_1_2_1_2_1","volume-title":"http:\/\/media.zones.com\/images\/pdf\/Dell_PowerEdge_R920.pdf","author":"PowerEdge Specification Dell","year":"2014","unstructured":"Dell PowerEdge Specification . http:\/\/media.zones.com\/images\/pdf\/Dell_PowerEdge_R920.pdf , 2014 . Dell PowerEdge Specification. http:\/\/media.zones.com\/images\/pdf\/Dell_PowerEdge_R920.pdf, 2014."},{"key":"e_1_2_1_3_1","volume-title":"Oct.","author":"SGI","year":"2016","unstructured":"SGI UltraViolet 3000. https:\/\/www.sgi.com\/products\/servers\/uv\/uv_3000_30.html , Oct. 2016 . SGI UltraViolet 3000. https:\/\/www.sgi.com\/products\/servers\/uv\/uv_3000_30.html, Oct. 2016."},{"key":"e_1_2_1_4_1","volume-title":"Feb.","author":"Userspace Filesystem","year":"2017","unstructured":"Filesystem in Userspace . https:\/\/github.com\/libfuse\/libfuse , Feb. 2017 . Filesystem in Userspace. https:\/\/github.com\/libfuse\/libfuse, Feb. 2017."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592808"},{"key":"e_1_2_1_6_1","volume-title":"USENIX FAST","volume":"13","author":"Asanovic K.","year":"2014","unstructured":"K. Asanovic and D. Patterson . Firebox: A hardware building block for 2020 warehouse-scale computers . In USENIX FAST , volume 13 , 2014 . K. Asanovic and D. Patterson. Firebox: A hardware building block for 2020 warehouse-scale computers. In USENIX FAST, volume 13, 2014."},{"key":"e_1_2_1_7_1","first-page":"489","volume-title":"13th International Conference on Cryptology in India, Kolkata, India, December 9--12, 2012. Proceedings","author":"Aumasson J.","year":"2012","unstructured":"J. Aumasson and D. J. Bernstein . SipHash: A Fast Short-Input PRF. In Progress in Cryptology - INDOCRYPT 2012 , 13th International Conference on Cryptology in India, Kolkata, India, December 9--12, 2012. Proceedings , pages 489 -- 508 , 2012 . J. Aumasson and D. J. Bernstein. SipHash: A Fast Short-Input PRF. In Progress in Cryptology - INDOCRYPT 2012, 13th International Conference on Cryptology in India, Kolkata, India, December 9--12, 2012. Proceedings, pages 489--508, 2012."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.5555\/1247360.1247392"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/IGCC.2011.6008565"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/582419.582421"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1693453.1693488"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.5555\/645927.672375"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2150976.2150998"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2465351.2465373"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.5555\/3129633.3129639"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1807128.1807152"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2451116.2451157"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517349.2522714"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2694344.2694359"},{"key":"e_1_2_1_21_1","volume-title":"A Scalable Concurrent malloc(3) Implementation for FreeBSD","author":"Evans J.","year":"2006","unstructured":"J. Evans . A Scalable Concurrent malloc(3) Implementation for FreeBSD , 2006 . J. Evans. A Scalable Concurrent malloc(3) Implementation for FreeBSD, 2006."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/2831090.2831107"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/1012889.1012894"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814328"},{"key":"e_1_2_1_26_1","volume-title":"LevelDB. https:\/\/github.com\/google\/leveldb","author":"Ghemawat S.","year":"2016","unstructured":"S. Ghemawat and J. Dean . LevelDB. https:\/\/github.com\/google\/leveldb , 2016 . S. Ghemawat and J. Dean. LevelDB. https:\/\/github.com\/google\/leveldb, 2016."},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/2831090.2831092"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2741948.2741973"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.14778\/2735461.2735465"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2851141.2851146"},{"key":"e_1_2_1_31_1","volume-title":"January","author":"Hewlett Packard The Machine HPE.","year":"2016","unstructured":"HPE. Hewlett Packard The Machine . http:\/\/www.labs.hpe.com\/research\/themachine\/ , January 2016 . HPE. Hewlett Packard The Machine. http:\/\/www.labs.hpe.com\/research\/themachine\/, January 2016."},{"key":"e_1_2_1_32_1","volume-title":"January","author":"HPE.","year":"2016","unstructured":"HPE. HPE Integrity Superdome X. https:\/\/www.hpe.com\/us\/en\/servers\/superdome.html , January 2016 . HPE. HPE Integrity Superdome X. https:\/\/www.hpe.com\/us\/en\/servers\/superdome.html, January 2016."},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00778-004-0140-6"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/2813767.2813787"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2746480"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1217935.1217949"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/320613.320619"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2754169.2754178"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/286860.286880"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/319628.319663"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.14778\/2536206.2536215"},{"key":"e_1_2_1_43_1","volume-title":"High Performance Transactions in Deuteronomy. Conference on Innovative Data Systems Research (CIDR 2015)","author":"Levandoski J.","year":"2015","unstructured":"J. Levandoski , D. Lomet , S. Sengupta , R. Stutsman , and R. Wang . High Performance Transactions in Deuteronomy. Conference on Innovative Data Systems Research (CIDR 2015) , January 2015 . J. Levandoski, D. Lomet, S. Sengupta, R. Stutsman, and R. Wang. High Performance Transactions in Deuteronomy. Conference on Innovative Data Systems Research (CIDR 2015), January 2015."},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2592798.2592820"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043558"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.5555\/2616448.2616488"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872401"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICDE.2013.6544834"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.14778\/2994509.2994513"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1145\/2168836.2168855"},{"key":"e_1_2_1_51_1","first-page":"509","volume-title":"Parallel and Distributed Computing and Systems","author":"McKenney P. E.","year":"1998","unstructured":"P. E. McKenney and J. D. Slingwine . Read-Copy Update: Using Execution History to Solve Concurrency Problems . In Parallel and Distributed Computing and Systems , pages 509 -- 518 , Las Vegas, NV , October 1998 . P. E. McKenney and J. D. Slingwine. Read-Copy Update: Using Execution History to Solve Concurrency Problems. In Parallel and Distributed Computing and Systems, pages 509--518, Las Vegas, NV, October 1998."},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/103727.103729"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/2145816.2145874"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/571825.571829"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/s002360050048"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/78973.78977"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.5555\/2535461.2535480"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/121132.121137"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.5555\/2591305.2591307"},{"key":"e_1_2_1_60_1","volume-title":"May","author":"Sanfilippo S.","year":"2015","unstructured":"S. Sanfilippo . Redis. http:\/\/redis.io , May 2015 . S. Sanfilippo. Redis. http:\/\/redis.io, May 2015."},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/1133956.1133968"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/2213836.2213862"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.5555\/1268299.1268301"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01263046"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.5555\/2002181.2002192"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/2901318.2901356"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.5555\/645647.664690"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3186728.3164142","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3186728.3164142","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T19:07:31Z","timestamp":1750273651000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3186728.3164142"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,12]]},"references-count":64,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2017,12]]}},"alternative-id":["10.1145\/3186728.3164142"],"URL":"https:\/\/doi.org\/10.1145\/3186728.3164142","relation":{},"ISSN":["2150-8097"],"issn-type":[{"type":"print","value":"2150-8097"}],"subject":[],"published":{"date-parts":[[2017,12]]}}}