A non-blocking lightweight implementation of causal order message delivery
This paper presents an algorithm to implement point-topoint causal order message delivery in distributed systems which does not force the sender to wait and which does not piggyback control information (such as timestamps) on messages. The algorithm is based on a message transmission protocol using low-level acknowledgements between FIFO buffers. We show that on the one hand causal order can easily and efficiently be realized in that way, but that on the other hand the loss of knowledge—induced by not using dependency matrices as in previously known protocols—leads to a slight restriction with respect to the applicability of the new protocol. The advantages of our scheme, however, are obvious because it is non-blocking and the piggybacking of huge control information on messages is avoided. Furthermore, the new algorithm is easily implementable since many distributed systems and low-level transmission protocols already provide message buffers and explicit or implicit message acknowledgements.
Unable to display preview. Download preview PDF.
- [AV94]Alagar S., Venkatesan S., An Optimal Algorithm for Distributed Snapshots with Causal Message Ordering. Information Processing Letters 50, 1994, pp. 311–316Google Scholar
- [BJ87]Birman K., Joseph T., Reliable Communication in the Presence of Failures, ACM Trans. on Computer Systems 5, 1987, pp. 47–76Google Scholar
- [BR94]Birman K., van Renesse R. (eds.), Reliable Distributed Computing with the Isis Toolkit, IEEE Computer Society Press, 1994Google Scholar
- [BSS91]Birman K., Schiper A., Stephenson P., Lightweight Causal and Atomic Group Multicast, ACM Trans. on Computer Systems, 9(3) (August 1991), 272–314Google Scholar
- [CMT94]Charron-Bost B., Mattern F., Tel G., Synchronous, Asynchronous, and Causally Ordered Communication. Submitted to Distributed Computing, 1994Google Scholar
- [Fid88]Fidge C., Timestamps in Message-Passing Systems that Preserve the Partial Ordering. Proc. 11th Autralian Computer Science Conf., University of Queensland, 1988, pp. 55–66Google Scholar
- [KK89]Kearns P., Koodalattupuram B., Immediate Ordered Service in Distributed Systems. Proc. 9th International Conference on Distributed Computing Systems, Newport Beach, California, June 5–9, 1989, pp. 611–618Google Scholar
- [Lam78]Lamport L., Time, Clocks, and the Ordering of Events in a Distributed System. Comm. of the ACM 21 (7), 1978, pp. 558–565Google Scholar
- [Mat88]Mattern F., Virtual Time and Global States of Distributed Systems. In: Cosnard M. et al. (eds.): Proc. Workshop on Parallel and Distributed Algorithms, Bonas, France, 1988, pp. 215–226. (Reprinted in: Z. Yang, T.A. Marsland (eds.), Global States and Time in Distributed Systems, IEEE, 1994, pp. 123–133)Google Scholar
- [RST91]Raynal M., Schiper A., Toueg S., The Causal Ordering Abstraction and a Simple Way to Implement it. Information Processing Letters 39, 1991, pp. 343–350Google Scholar
- [SES89]Schiper A., Eggli J., Sandoz A., A New Algorithm to Implement Causal Ordering. In: J.-C. Bermond, M. Raynal (eds.), Distributed Algorithms, Vol. 392 of Lecture Notes in Computer Science, Springer-Verlag, 1989, pp. 219–232Google Scholar
- [SM94]Schwarz R., Mattern F., Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail. Distributed Computing 7 (3), 1994, pp. 149–174Google Scholar
- [TM93]Tel G., Mattern F., The Derivation of Distributed Termination Detection Algorithms from Garbage Collection Schemes, ACM Trans. on Prog. Lang. Sys. 15 (1), 1993, pp. 1–35Google Scholar