论文标题
因果关系测试的绽放时钟
The Bloom Clock for Causality Testing
论文作者
论文摘要
测试分布式执行中事件之间的因果关系是一个基本问题。向量时钟解决了这个问题,但不能很好地扩展。概率的绽放时钟可以确定比向量时钟较低的事件之间的因果关系。但是,预测遭受误报。我们基于计数布鲁姆过滤器提供了布鲁姆时钟的协议,并研究其特性,包括阳性结果的概率和假阳性。我们展示了广泛的实验的结果,以确定这些上述概率如何随着被测试的两个事件的绽放时间戳的函数而变化,并确定彼此相互接近的执行中包含事件的片段的准确性,精度和误报率。基于这些实验,我们为设置Bloom Clock参数提出建议。我们从应用程序的角度来假设因果关系传播假设,以表明Bloom Clocks是否适合具有高信心的正确预测。如果应用程序可以容忍误报,则可以用作矢量钟的可行空间,时间和消息空间替代方案。
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 Bloom clock parameters. We postulate the causality spread hypothesis from the application's perspective to indicate whether Bloom clocks will be suitable for correct predictions with high confidence. The Bloom clock design can serve as a viable space-, time-, and message-space-efficient alternative to vector clocks if false positives can be tolerated by an application.