{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,25]],"date-time":"2026-04-25T08:34:49Z","timestamp":1777106089678,"version":"3.51.4"},"reference-count":80,"publisher":"Association for Computing Machinery (ACM)","issue":"3","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2021,11]]},"abstract":"<jats:p>Low latency is increasingly critical for modern workloads, to the extent that compute functions are explicitly scheduled to be co-located with their in-memory object stores for faster access. However, the traditional object store architecture mandates that clients interact with the server via inter-process communication (IPC). This poses a significant performance bottleneck for low-latency workloads. Meanwhile, in many important emerging AI workloads, such as parallel tree search and reinforcement learning, all the worker processes accessing the object store belong to a single user.<\/jats:p>\n          <jats:p>We design Lightning, an in-memory object store rearchitected for modern, low-latency workloads in a single-user, multi-process setting. Lightning departs from the traditional design by adopting a shared memory model, enabling clients to directly access the object store without IPC boundary. Instead, client isolation is achieved by a novel integration of Intel Memory Protect Keys (MPK) hardware, transaction logging, and formal verification. Our evaluations show that Lightning outperforms state-of-the-art in-memory object stores by up to 9.0x on five standard NoSQL workloads and up to 4.5x in scaling up a Python tree search program. Lightning improves the throughput of a popular reinforcement learning framework that uses an in-memory object store for data sharing by up to 40%.<\/jats:p>","DOI":"10.14778\/3494124.3494138","type":"journal-article","created":{"date-parts":[[2022,2,5]],"date-time":"2022-02-05T00:31:46Z","timestamp":1644021106000},"page":"555-568","source":"Crossref","is-referenced-by-count":6,"title":["Rearchitecting in-memory object stores for low latency"],"prefix":"10.14778","volume":"15","author":[{"given":"Danyang","family":"Zhuo","sequence":"first","affiliation":[{"name":"Duke University"}]},{"given":"Kaiyuan","family":"Zhang","sequence":"additional","affiliation":[{"name":"University of Washington"}]},{"given":"Zhuohan","family":"Li","sequence":"additional","affiliation":[{"name":"University of California"}]},{"given":"Siyuan","family":"Zhuang","sequence":"additional","affiliation":[{"name":"University of California"}]},{"given":"Stephanie","family":"Wang","sequence":"additional","affiliation":[{"name":"University of California"}]},{"given":"Ang","family":"Chen","sequence":"additional","affiliation":[{"name":"Rice University"}]},{"given":"Ion","family":"Stoica","sequence":"additional","affiliation":[{"name":"University of California"}]}],"member":"320","published-online":{"date-parts":[[2022,2,4]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/3317550.3321434"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359656"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/3026877.3026930"},{"key":"e_1_2_1_4_1","unstructured":"arrow 2020. Apache Arrow: Powering In-Memory Analytics. https:\/\/github.com\/apache\/arrow.  arrow 2020. Apache Arrow: Powering In-Memory Analytics. https:\/\/github.com\/apache\/arrow."},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/3323298.3323315"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685070"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.5555\/2566972.2566979"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/103720.114701"},{"key":"e_1_2_1_9_1","volume-title":"arXiv preprint arXiv:1606.01540","author":"Brockman Greg","year":"2016","unstructured":"Greg Brockman , Vicki Cheung , Ludwig Pettersson , Jonas Schneider , John Schulman , Jie Tang , and Wojciech Zaremba . 2016. Open AI Gym . arXiv preprint arXiv:1606.01540 ( 2016 ). Greg Brockman, Vicki Cheung, Ludwig Pettersson, Jonas Schneider, John Schulman, Jie Tang, and Wojciech Zaremba. 2016. OpenAI Gym. arXiv preprint arXiv:1606.01540 (2016)."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/3051092"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.5555\/3291168.3291191"},{"key":"e_1_2_1_12_1","volume-title":"Raluca Ada Popa, and Donald E. Porter","author":"Tsai Chia","year":"2020","unstructured":"Chia che Tsai , Jeongseok Son , Bhushan Jain , John McAvey , Raluca Ada Popa, and Donald E. Porter . 2020 . Civet : An Efficient Java Partitioning Framework for Hardware Enclaves. In USENIX Security . Chia che Tsai, Jeongseok Son, Bhushan Jain, John McAvey, Raluca Ada Popa, and Donald E. Porter. 2020. Civet: An Efficient Java Partitioning Framework for Hardware Enclaves. In USENIX Security."},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132776"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/3386691.3386714"},{"key":"e_1_2_1_15_1","unstructured":"coq 2020. The Coq Proof Assistant. https:\/\/coq.inria.fr\/.  coq 2020. The Coq Proof Assistant. https:\/\/coq.inria.fr\/."},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.5555\/1777826.1777833"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/3423211.3425671"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/3323234.3323242"},{"key":"e_1_2_1_19_1","unstructured":"dlmalloc 2020. A Memory Allocator. http:\/\/gee.cs.oswego.edu\/dl\/html\/malloc.html.  dlmalloc 2020. A Memory Allocator. http:\/\/gee.cs.oswego.edu\/dl\/html\/malloc.html."},{"key":"e_1_2_1_20_1","doi-asserted-by":"crossref","unstructured":"Mingkai Dong Heng Bu Jifei Yi Benchao Dong and Haibo Chen. 2019. Performance and Protection in the ZoFS User-Space NVM File System.  Mingkai Dong Heng Bu Jifei Yi Benchao Dong and Haibo Chen. 2019. Performance and Protection in the ZoFS User-Space NVM File System.","DOI":"10.1145\/3341301.3359637"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/2616448.2616486"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.5555\/2482626.2482662"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132782"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.artint.2011.03.007"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/356842.356847"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.5555\/3489146.3489173"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/3026877.3026928"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.5555\/2969033.2969199"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3487291"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2815400.2815428"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685062"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/3358807.3358849"},{"key":"e_1_2_1_33_1","unstructured":"hiredis 2020. Minimalistic C client for Redis &gt;= 1.2. https:\/\/github.com\/redis\/hiredis.  hiredis 2020. Minimalistic C client for Redis &gt;= 1.2. https:\/\/github.com\/redis\/hiredis."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/3241189.3241232"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/2616448.2616490"},{"key":"e_1_2_1_36_1","unstructured":"jackson 2020. Jackson Project Home. https:\/\/github.com\/FasterXML\/jackson.  jackson 2020. Jackson Project Home. https:\/\/github.com\/FasterXML\/jackson."},{"key":"e_1_2_1_37_1","unstructured":"jemalloc 2020. jemalloc. http:\/\/jemalloc.net\/.  jemalloc 2020. jemalloc. http:\/\/jemalloc.net\/."},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132764"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.5555\/3323234.3323245"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1629575.1629596"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3190508.3190518"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.5555\/977395.977673"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.5555\/1939141.1939161"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132756"},{"key":"e_1_2_1_45_1","unstructured":"Eric Liang Richard Liaw Robert Nishihara Philipp Moritz Roy Fox Ken Goldberg Joseph Gonzalez Michael Jordan and Ion Stoica. 2018. RLlib: Abstractions for Distributed Reinforcement Learning. In ICML.  Eric Liang Richard Liaw Robert Nishihara Philipp Moritz Roy Fox Ken Goldberg Joseph Gonzalez Michael Jordan and Ion Stoica. 2018. RLlib: Abstractions for Distributed Reinforcement Learning. In ICML."},{"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\/269005.266665"},{"key":"e_1_2_1_48_1","unstructured":"mctspy 2020. mctspy. https:\/\/pypi.org\/project\/mctspy\/.  mctspy 2020. mctspy. https:\/\/pypi.org\/project\/mctspy\/."},{"key":"e_1_2_1_49_1","unstructured":"memcached 2020. Memcached. https:\/\/memcached.org\/.  memcached 2020. Memcached. https:\/\/memcached.org\/."},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/3045390.3045594"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.5555\/3291168.3291210"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.5555\/3488766.3488769"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1145\/3132747.3132748"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/2043556.2043560"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.5555\/3358807.3358829"},{"key":"e_1_2_1_56_1","unstructured":"plasma 2020. The Plasma In-Memory Object Store. https:\/\/arrow.apache.org\/docs\/python\/plasma.html.  plasma 2020. The Plasma In-Memory Object Store. https:\/\/arrow.apache.org\/docs\/python\/plasma.html."},{"key":"e_1_2_1_57_1","unstructured":"plasmaclient 2020. Plasma Client. https:\/\/github.com\/apache\/arrow\/blob\/master\/cpp\/src\/plasma\/client.h.  plasmaclient 2020. Plasma Client. https:\/\/github.com\/apache\/arrow\/blob\/master\/cpp\/src\/plasma\/client.h."},{"key":"e_1_2_1_58_1","unstructured":"postgreslog 2020. Chapter 29. Reliability and the Write-Ahead Log. https:\/\/www.postgresql.org\/docs\/9.1\/wal-intro.html.  postgreslog 2020. Chapter 29. Reliability and the Write-Ahead Log. https:\/\/www.postgresql.org\/docs\/9.1\/wal-intro.html."},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.5555\/1247360.1247368"},{"key":"e_1_2_1_60_1","unstructured":"redis 2020. Redis. https:\/\/redis.io\/.  redis 2020. Redis. https:\/\/redis.io\/."},{"key":"e_1_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/146941.146943"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/173668.168631"},{"key":"e_1_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.5555\/3026877.3026879"},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.5555\/3291168.3291190"},{"key":"e_1_2_1_65_1","volume-title":"Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, et al.","author":"Silver David","year":"2016","unstructured":"David Silver , Aja Huang , Chris J Maddison , Arthur Guez , Laurent Sifre , George Van Den Driessche , Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, et al. 2016 . Mastering the Game of Go with Deep Neural Networks and Tree Search. Nature 529, 7587 (2016), 484. David Silver, Aja Huang, Chris J Maddison, Arthur Guez, Laurent Sifre, George Van Den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, et al. 2016. Mastering the Game of Go with Deep Neural Networks and Tree Search. Nature 529, 7587 (2016), 484."},{"key":"e_1_2_1_66_1","doi-asserted-by":"crossref","unstructured":"David Silver Thomas Hubert Julian Schrittwieser Ioannis Antonoglou Matthew Lai Arthur Guez Marc Lanctot Laurent Sifre Dharshan Kumaran Thore Graepel etal 2018. A General Reinforcement Learning Algorithm that Masters Chess Shogi and Go Through Self-play. Science 362 6419 (2018) 1140--1144.  David Silver Thomas Hubert Julian Schrittwieser Ioannis Antonoglou Matthew Lai Arthur Guez Marc Lanctot Laurent Sifre Dharshan Kumaran Thore Graepel et al. 2018. A General Reinforcement Learning Algorithm that Masters Chess Shogi and Go Through Self-play. Science 362 6419 (2018) 1140--1144.","DOI":"10.1126\/science.aar6404"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/3381052.3381326"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.5555\/3294996.3295026"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.5555\/3154690.3154752"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.5555\/3361338.3361423"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.14778\/3397230.3397247"},{"key":"e_1_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359653"},{"key":"e_1_2_1_73_1","unstructured":"whitedb 2020. Whitedb. http:\/\/whitedb.org\/.  whitedb 2020. Whitedb. http:\/\/whitedb.org\/."},{"key":"e_1_2_1_74_1","unstructured":"ycsb 2020. Yahoo! Cloud Serving Benchmark. https:\/\/github.com\/brianfrankcooper\/YCSB\/.  ycsb 2020. Yahoo! Cloud Serving Benchmark. https:\/\/github.com\/brianfrankcooper\/YCSB\/."},{"key":"e_1_2_1_75_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359647"},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.5555\/2930583.2930596"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.14778\/2809974.2809984"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.5555\/3388242.3388258"},{"key":"e_1_2_1_79_1","doi-asserted-by":"publisher","DOI":"10.1145\/3452296.3472897"},{"key":"e_1_2_1_80_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341301.3359644"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3494124.3494138","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:28:02Z","timestamp":1672226882000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3494124.3494138"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,11]]},"references-count":80,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2021,11]]}},"alternative-id":["10.14778\/3494124.3494138"],"URL":"https:\/\/doi.org\/10.14778\/3494124.3494138","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2021,11]]}}}