go back

Volume 15, No. 3

Rearchitecting In-Memory Object Stores for Low Latency

Authors:
Danyang Zhuo (Duke University)* Kaiyuan Zhang (University of Washington) Zhuohan Li (UC Berkeley) Siyuan Zhuang (UC Berkeley) Stephanie Wang (UC Berkeley) Ang Chen (Rice University) Ion Stoica (UC Berkeley)

Abstract

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. 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 an order of magnitude on five standard NoSQL workloads and up to 7.4x 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 45%.

PVLDB is part of the VLDB Endowment Inc.

Privacy Policy