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
- Cristina Meinhardt (ORCID: https://orcid.org/0000-0003-1088-1000)
- Odorico Machado Mendizabal (ORCID: https://orcid.org/0000-0002-6339-5156)
- Luiz Gustavo C. Xavier (ORCID: https://orcid.org/0000-0001-6236-449X)
Institutions
- Universidade Federal de Santa Catarina (BR)
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