A probabilistic Dynamic Clock Set to capture message causality
Résumé
Several scalable constant size clocks were proposed in the literature for tracking causality of events in distributed systems with a high accuracy, even though they do capture but not characterize causality. Moreover, their size is fixed at initialization and cannot vary during execution. The efficiency of constant size clocks to causally order messages is negatively impacted by the message load, but such impact can be reduced by varying the size of the clock according to the message load. The clock proposed in this papier adapts its size to the message load. Causal broadcast is a fundamental building block of many distributed and parallel applications, where processes collaborate to perform common tasks, such as high performance computing or providing a service to many users. To this end, processes require a broadcast primitive to share information that often requires to be causally ordered to be meaningful. In this paper, we present the Dynamic Clock Set (DCS), which consists of a set of constant size clocks. The size of the set can dynamically vary during execution. We also propose a causal broadcast algorithm using DCS clocks. Performance evaluation conducted on OMNET++ in scenarios where message load varies show the effectiveness of DCS clocks.