Search papers, labs, and topics across Lattice.
This paper introduces Cykas, a novel sender-side protocol for causal message delivery in distributed systems that improves upon the traditional sender-side approach. Cykas achieves this by allowing eager message sending while enforcing causal delivery through constraints on message recipients. The protocol's safety and liveness were verified using the Stateright model checker, and experiments demonstrate that Cykas reduces overall execution time for applications with long-running jobs compared to the traditional sender-side method.
Cykas delivers a faster sender-side causal message delivery protocol by cleverly shifting constraints from senders to receivers, enabling earlier job starts and shorter execution times.
Protocols for causal message delivery are widely used in distributed systems. Traditionally, causal delivery can be enforced either on the message sender's side or on the receiver's side. The traditional sender-side approach avoids the message metadata overhead of the receiver-side approach, but is more conservative than necessary. We present Cykas ("Can you keep a secret?"), a new protocol for sender-side enforcement of causal delivery that sidesteps the conservativeness of the traditional sender-side approach by allowing eager sending of messages and constraining the behavior of their recipients. We implemented the Cykas protocol in Rust and checked the safety and liveness of our implementation using the Stateright implementation-level model checker. Our experiments show that for applications involving long-running jobs, Cykas has a performance advantage: Cykas lets long-running jobs start (and end) earlier, leading to shorter overall execution time compared to the traditional sender-side approach.