CoroBase: Coroutine-Oriented Main-Memory Database Engine
Yongjun He, Jiacheng Lu, Tianzheng Wang

TL;DR
CoroBase introduces a coroutine-to-transaction paradigm in main-memory database engines, enabling inter-transaction batching and prefetching, significantly improving performance for read-intensive workloads without requiring application changes.
Contribution
It proposes a novel coroutine-to-transaction model that enhances data prefetching and batching in full database engines, overcoming limitations of prior component-focused solutions.
Findings
CoroBase achieves nearly 2x performance improvement on read-intensive workloads.
It maintains competitiveness on workloads less suited for prefetching.
The approach requires no changes to existing applications.
Abstract
Data stalls are a major overhead in main-memory database engines due to the use of pointer-rich data structures. Lightweight coroutines ease the implementation of software prefetching to hide data stalls by overlapping computation and asynchronous data prefetching. Prior solutions, however, mainly focused on (1) individual components and operations and (2) intra-transaction batching that requires interface changes, breaking backward compatibility. It was not clear how they apply to a full database engine and how much end-to-end benefit they bring under various workloads. This paper presents \corobase, a main-memory database engine that tackles these challenges with a new coroutine-to-transaction paradigm. Coroutine-to-transaction models transactions as coroutines and thus enables inter-transaction batching, avoiding application changes but retaining the benefits of prefetching. We…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Advanced Data Storage Technologies · Advanced Database Systems and Queries
