Efficient Fault Tolerance for Pipelined Query Engines via Write-ahead Lineage
Ziheng Wang, Alex Aiken
摘要
Modern distributed pipelined query engines either do not support intra-query fault tolerance or employ high-overhead approaches such as persisting intermediate outputs or checkpointing state. In this work, we present write-ahead lineage, a novel fault recovery technique that combines Spark's lineage-based replay and write-ahead logging. Unlike Spark, where the lineage is determined before query execution, write-ahead lineage persistently logs lineage at runtime to support dynamic task dependencies in pipelined query engines. Since only KB-sized lineages are persisted instead of MB-sized intermediate outputs, the normal execution overhead is minimal compared to spooling or checkpointing based approaches. To ensure fast fault recovery times, tasks only consume intermediate outputs with persisted lineage, preventing global rollbacks upon failure. In addition, lost tasks from different stages can be recovered in a pipelined parallel manner. We implement write-ahead lineage in a distributed pipelined query engine called Quokka. We show that Quokka is around 2x faster than SparkSQL on the TPC-H benchmark with similar fault recovery performance.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
它引用的顶会 Paper3
- Building An Elastic Query Engine on Disaggregated StorageMidhul Vuppalapati, Justin Miron, Rachit Agarwal, Dan Truong 等NSDI 2020 · 被引用 142 次
- Ownership: A Distributed Futures System for Fine-Grained TasksStephanie Wang, Eric Liang, Edward Oakes, Benjamin Hindman 等NSDI 2021 · 被引用 30 次
- ExoFlow: A Universal Workflow System for Exactly-Once DAGsSiyuan Zhuang, Stephanie Wang, Eric Liang, Yi Cheng 等OSDI 2023 · 被引用 9 次
相关 Paper
- Rethinking Logging, Checkpoints, and Recovery for High-Performance Storage EnginesMichael Haubenschild, Caetano Sauer, Thomas Neumann, Viktor LeisSIGMOD 2020 · 被引用 43 次
- Thrifty Query Execution via IncrementabilityDixin Tang, Zechao Shang, Aaron J. Elmore, Sanjay Krishnan 等SIGMOD 2020 · 被引用 9 次
- Fast Parallel Recovery for Transactional Stream Processing on MulticoresJianjun Zhao, Haikun Liu, Shuhao Zhang, Zhuohui Duan 等ICDE 2024 · 被引用 3 次
- Scabbard: Single-Node Fault-Tolerant Stream ProcessingGeorgios Theodorakis, Fotios Kounelis, Peter R. Pietzuch, Holger PirkVLDB 2022 · 被引用 21 次
- A Community Cache with Complete InformationMania Abdi, Amin Mosayyebzadeh, Mohammad Hossein Hajkazemi, Emine Ugur Kaynar 等FAST 2021 · 被引用 2 次
