LazyLog: A New Shared Log Abstraction and Design for Modern Low-Latency Applications
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 o...
Saved in:
| Published in | ACM transactions on computer systems |
|---|---|
| Main Authors | , , , , |
| Format | Journal Article |
| Language | English |
| Published |
19.08.2025
|
| Online Access | Get full text |
| ISSN | 0734-2071 1557-7333 1557-7333 |
| DOI | 10.1145/3750445 |
Cover
| Summary: | 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. |
|---|---|
| ISSN: | 0734-2071 1557-7333 1557-7333 |
| DOI: | 10.1145/3750445 |