Beelog: Online Log Compaction for Dependable Systems

Logs are a known abstraction used to develop dependable and secure distributed systems. By logging entries on a sequential global log, systems can synchronize updates over replicas and provide a consistent state recovery in the presence of faults. However, their usage incurs a non-negligible overhead on the application's performance. This article presents Beelog, an approach to reduce logging impact and accelerate recovery on log-based protocols by safely discarding entries from logs. The technique involves executing a log compaction during run-time concurrently with the persistence and execution of commands. Besides compacting logging information, the proposed technique splits the log file and incorporates strategies to reduce logging overhead, such as batching and parallel I/O. We evaluate the proposed approach by implementing it as a new feature of the etcd key-value store and comparing it against etcd's standard logging. Utilizing workloads from the YCSB benchmark and experimenting with different configurations for batch size and number of storage devices, our results indicate that Beelog can reduce application recovery time, especially in write-intensive workloads with a small number of keys and a probability favoring the most recent keys to be updated. In such scenarios, we observed up to a 50% compaction in the log file size and a 65% improvement in recovery time compared to etcd's standard recovery protocol. As a side effect, batching results in higher command execution latency, ranging from <inline-formula><tex-math notation="LaTeX">$ \text{100 ms}$</tex-math></inline-formula> to <inline-formula><tex-math notation="LaTeX">$ \text{350 ms}$</tex-math></inline-formula> with Beelog, compared to the default etcd's <inline-formula><tex-math notation="LaTeX">$ \text{90 ms}$</tex-math></inline-formula>. Except for the latency increase, the proposed technique does not impose other significant performance costs, making it a practical solution for systems where fast recovery and reduced storage are priorities.

Authors

Institutions

Publication Details

Journal
IEEE Transactions on Parallel and Distributed Systems
Published
2025-02-13
DOI
https://doi.org/10.1109/tpds.2025.3541628
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Beelog: Online Log Compaction for Dependable Systems

Cristina Meinhardt, Odorico Machado Mendizabal, Luiz Gustavo C. Xavier
IEEE Transactions on Parallel and Distributed Systems
Parallel Computing and Optimization Techniques
article

Beelog: Online Log Compaction for Dependable Systems

Cristina Meinhardt, Odorico Machado Mendizabal, Luiz Gustavo C. Xavier
article en

Abstract

Logs are a known abstraction used to develop dependable and secure distributed systems. By logging entries on a sequential global log, systems can synchronize updates over replicas and provide a consistent state recovery in the presence of faults. However, their usage incurs a non-negligible overhead on the application's performance. This article presents Beelog, an approach to reduce logging impact and accelerate recovery on log-based protocols by safely discarding entries from logs. The technique involves executing a log compaction during run-time concurrently with the persistence and execution of commands. Besides compacting logging information, the proposed technique splits the log file and incorporates strategies to reduce logging overhead, such as batching and parallel I/O. We evaluate the proposed approach by implementing it as a new feature of the etcd key-value store and comparing it against etcd's standard logging. Utilizing workloads from the YCSB benchmark and experimenting with different configurations for batch size and number of storage devices, our results indicate that Beelog can reduce application recovery time, especially in write-intensive workloads with a small number of keys and a probability favoring the most recent keys to be updated. In such scenarios, we observed up to a 50% compaction in the log file size and a 65% improvement in recovery time compared to etcd's standard recovery protocol. As a side effect, batching results in higher command execution latency, ranging from <inline-formula><tex-math notation="LaTeX">$ \text{100 ms}$</tex-math></inline-formula> to <inline-formula><tex-math notation="LaTeX">$ \text{350 ms}$</tex-math></inline-formula> with Beelog, compared to the default etcd's <inline-formula><tex-math notation="LaTeX">$ \text{90 ms}$</tex-math></inline-formula>. Except for the latency increase, the proposed technique does not impose other significant performance costs, making it a practical solution for systems where fast recovery and reduced storage are priorities.

IEEE Transactions on Parallel and Distributed SystemsVol. 36(4)
Universidade Federal de Santa Catarina (BR)
Openalex Percentile: Top 98%
Parallel Computing and Optimization Techniques
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.