Total Order Communications: A Practical Analysis

Total Order (TO) broadcast is a widely used communication abstraction that has been deeply investigated during the last decade. As such, the amount of relevant works may leave practitioners wondering how to select the TO implementation that best fits the requirements of their applications. Different implementations are indeed available, each providing distinct safety guarantees and performance. These aspects must be considered together in order to build a correct and sufficiently performing application. To this end, this paper analyzes six TO implementations embedded in three freely-distributed group communication systems, namely Ensemble, Spread and JavaGroups. Implementations are first classified according to the enforced specifications, which is given using a framework for specification tailored to total order communications. Then, implementations are compared under the performance viewpoint in a simple yet meaningful deployment scenario. In our opinion, this structured information should assist practitioners (i) in deeply understanding the ways in which implementations may differ (specifications, performance) and (ii) in quickly relating a set of total order algorithms to their specifications, implementations and performance.

[1]  Idit Keidar,et al.  Group communication specifications: a comprehensive study , 2001, CSUR.

[2]  Sape Mullender,et al.  Distributed systems , 1989 .

[3]  Louise E. Moser,et al.  The Totem single-ring ordering and membership protocol , 1995, TOCS.

[4]  Sam Toueg,et al.  The weakest failure detector for solving consensus , 1992, PODC '92.

[5]  André Schiper Dynamic group communication , 2005, Distributed Computing.

[6]  Roy Friedman,et al.  Packing messages as a tool for boosting the performance of total ordering protocols , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

[7]  Louise E. Moser,et al.  Extended virtual synchrony , 1994, 14th International Conference on Distributed Computing Systems.

[8]  Xavier Defago,et al.  AGREEMENT-RELATED PROBLEMS: FROM SEMI-PASSIVE REPLICATION TO TOTALLY ORDERED BROADCAST , 2000 .

[9]  Mark Garland Hayden,et al.  The Ensemble System , 1998 .

[10]  Roberto Baldoni,et al.  Total Order Communications over Asynchronous Distributed Systems : Specifications and Implementations ∗ , 2004 .

[11]  Yair Amir,et al.  The Spread Wide Area Group Communication System , 2007 .

[12]  Bernadette Charron-Bost,et al.  On the impossibility of group membership , 1996, PODC '96.

[13]  David Powell,et al.  Group communication , 1996, CACM.

[14]  Kenneth P. Birman,et al.  Exploiting virtual synchrony in distributed systems , 1987, SOSP '87.

[15]  Bela Ban Design and Implementation of a Reliable Group Communication Toolkit for Java , 1998 .

[16]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[17]  Robbert van Renesse,et al.  Reliable Distributed Computing with the Isis Toolkit , 1994 .

[18]  André Schiper,et al.  A Step Towards a New Generation of Group Communication Systems , 2003, Middleware.

[19]  Flaviu Cristian,et al.  A performance comparison of asynchronous atomic broadcast protocols , 1994, Distributed Syst. Eng..