Academia.eduAcademia.edu

Outline

Crash-tolerant causal broadcast in O(n) messages

2019, Information Processing Letters

https://doi.org/10.1016/J.IPL.2019.105837

Abstract

Causal broadcast is a communication abstraction designed for asynchronous systems. It ensures that the messages broadcast by the processes are delivered in their broadcast causality order, namely, if the broadcast of a message m causally precedes the broadcast of a message m , no process delivers m unless it has previously delivered m. Several algorithms implementing causal broadcast have been proposed for asynchronous systems prone to any number of process crashes. These algorithms rely on an underlying Reliable Broadcast abstraction, whose message cost is n 2. This paper presents a simple causal broadcast algorithm whose cost is n messages per causal broadcast. This is obtained at the cost of protocol messages whose size can be up to n application messages. Hence, the proposed algorithm is particularly interesting for applications whose messages are small.

References (14)

  1. Birman K.P., A response to Cheriton and Skeen's criticism of causal and totally ordered communication. Operating Systems Review, 28(1):11-21 (1994)
  2. Birman K.P. and Cooper R., The ISIS project: real experience with a fault tolerant programming system. Proc. 4th ACM SIGOPS European workshop, Operating Systems Review, ACM Press, 25(2):103-107 (1991)
  3. Birman K.P. and Joseph T.A., Reliable communication in the presence of failures. ACM Transactions on Computer Systems, 5(1):47-76 (1987)
  4. Birman K.P., Schiper A., and Stephenson P., Lightweigt causal and atomic group multicast. ACM Transac- tions on Computer Systems, 9(3): 272-314 (1991)
  5. Cachin Ch., Guerraoui R., and Rodrigues L., Reliable and secure distributed programming, Springer, 367 pages, ISBN 978-3-642-15259-7 (2011)
  6. Kshemkalyani A. and Singhal M., Necessary and sufficient conditions on information for causal message ordering and their optimal implementation. Distributed Computing, 11(2):91-111 (1998)
  7. Lamport L., Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 21(7)-558-565 (1978)
  8. Murty V.V. and Garg V.K., Characterization of message ordering specifications and protocols. Proc. 7th Int'l Conference on Distributed Computer Systems (ICDCS'97), IEEE Press, pp. 492-499 (1997)
  9. Peterson L.L., Bucholz N.C., and Schilchting R.D., Preserving and using context information in interprocess communication. ACM Transactions on Computer Systems, 7(3):217-246 (1989)
  10. Raynal M., Distributed algorithms for message-passing systems. Springer, 510 pages, ISBN 978-3-642- 38122-5 (2013)
  11. Raynal M., Fault-tolerant message-passing distributed systems: an algorithmic approach. Springer, 550 pages, ISBN: 978-3-319-94140-0 (2018)
  12. Raynal M., Schiper A., and Toueg S., The causal ordering abstraction and a simple way to simple to imple- ment it. Information Processing Letters, 39(6):343-350 (1991)
  13. Schiper A., Eggli J., and Sandoz A., A new algorithm to implement causal ordering. Proc. 3rd Int'l Workshop on Distributed Algorithms (WDAG'89), Springer LNCS 392, pp. 219-232 (1989)
  14. Schwarz R. and Mattern F., Detecting causal relationships in distributed computations: in search of the Holy Grail. Distributed Computing, 7:149-174 (1994)