Lune

SOSP2024顶会

LazyLog: A New Shared Log Abstraction for Low-Latency Applications

Xuhao Luo, Shreesha G. Bhat, Jiyu Hu, Ramnatthan Alagappan, Aishwarya Ganesan

2024年份
6被引次数
13顶会引用

摘要

Shared logs offer linearizable total order across storage shards. However, they enforce this order eagerly upon ingestion, leading to high latencies. We observe that in many modern shared-log applications, while linearizable ordering is necessary, it is not required eagerly when ingesting data but only later when data is consumed. Further, readers are naturally decoupled in time from writers in these applications. Based on this insight, we propose LazyLog, a novel shared log abstraction. LazyLog lazily binds records (across shards) to linearizable global positions and enforces this before a log position can be read. Such lazy ordering enables low ingestion latencies. Given the time decoupling, LazyLog can establish the order well before reads arrive, minimizing overhead upon reads. We build two LazyLog systems that provide linearizable total order across shards. Our experiments show that LazyLog systems deliver significantly lower latencies than conventional, eager-ordering shared logs.

Shared logs [35,36,38,41] have emerged as a crucial building block for datacenter applications. At its core, a shared log is a fault-tolerant, ordered sequence of records that many clients can simultaneously operate on. The interface to the shared log is simple. Applications ingest records via an append API, upon which they are linearizably [55] ordered and durably stored. Applications retrieve data via a read API, which takes a position and returns the record at that position.

This simple interface and the powerful abstraction make shared logs useful in a variety of modern applications. For instance, shared logs are used to record and analyze web accesses [8,41], build databases [53], log events for debugging [8,90], communicate between microservices [10], journal state for fault-tolerance [58], and stream data [15,52,89].

Unfortunately, today's shared logs incur high latencies † equal contribution

问问这篇 Paper

智能体会读完全文。

Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。

可以从这些问题问起

智能体调用

Luneget_paper_fulltext

在 Lune 里问

免费开始,无需绑卡

引用它的顶会 Paper13

问问它们各自怎么用它

它引用的顶会 Paper6

相关 Paper

黄昏的海面,两侧是细线勾勒的悬崖