The Bloom Clock for Causality Testing
Anshuman Misra, Ajay D. Kshemkalyani

TL;DR
The paper introduces the Bloom clock, a probabilistic causality testing method that offers a more scalable alternative to vector clocks in distributed systems, with detailed analysis of its properties and practical recommendations.
Contribution
It presents a novel Bloom clock protocol based on Counting Bloom filters, analyzing its false positive rates and providing guidelines for parameter settings.
Findings
Bloom clock reduces space, time, and message overhead compared to vector clocks.
Extensive experiments characterize false positive probabilities and accuracy.
Recommendations enable practical deployment of Bloom clocks in distributed systems.
Abstract
Testing for causality between events in distributed executions is a fundamental problem. Vector clocks solve this problem but do not scale well. The probabilistic Bloom clock can determine causality between events with lower space, time, and message-space overhead than vector clock; however, predictions suffer from false positives. We give the protocol for the Bloom clock based on Counting Bloom filters and study its properties including the probabilities of a positive outcome and a false positive. We show the results of extensive experiments to determine how these above probabilities vary as a function of the Bloom timestamps of the two events being tested, and to determine the accuracy, precision, and false positive rate of a slice of the execution containing events in the temporal proximity of each other. Based on these experiments, we make recommendations for the setting of the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
