Abstract
Protocol design is just part of the challenge when building distributed systems: our protocols also need to be presented in an easily-used form that lends itself to high performance and scalability. This chapter discusses some of the challenges. The Isis2 system, available for use by readers of this text, is an example of one embodiment of the ideas we explore here, but we’ll also look at several other approaches, exploring some of the benefits and limitations of each.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
It is common to say that a message is stable when processing has completed and associated information can be garbage collected. Horus standardizes the handling of stability information, but leaves the actual semantics of stability to the user. Thus, an application for which stability means “logged to disk” can share this Horus functionality with an application for which stability means “displayed on the screen.”
- 2.
This protocol differs from the Total protocol in the Trans/Total (see Moser et al. 1996) project in that the Horus protocol only rotates the token among the current set of senders, while the Trans/Total protocol rotates the token among all members.
- 3.
This version of Horus ultimately evolved into the Ensemble system, but the two are not identical. Ensemble was a complete rewrite by Mark Hayden and Ohad Rodeh.
References
Abbott, M., Peterson, L.: Increasing network throughput by integrating protocol layers. IEEE/ACM Trans. Netw. 1(5), 600–610 (1993)
Birman, K.P., van Renesse, R.: Software for reliable networks. Sci. Am. 274(5), 64–69 (1996)
Braun, T., Diot, C.: Protocol implementation using integrated layer processing. In: Proceedings of SIGCOMM-95, September 1995
Bressoud, T.C., Schneider, F.B.: Hypervisor-based fault tolerance. In: Proceedings of the Fifteenth Symposium on Operating Systems Principles, Copper Mountain Resort, CO, December 1995, pp. 1–11. ACM Press, New York (1995). Also ACM Trans. Comput. Syst. 13(1) (1996)
Clark, D., Tennenhouse, M.: Architectural considerations for a new generation of protocols. In: Proceedings of SIGCOMM-87, August 1987, pp. 353–359 (1987)
Clark, D., Tennenhouse, D.L.: Architectural considerations for a new generation of protocols. In: Proceedings of the 1990 Symposium on Communication Architectures and Protocols, Philadelphia, September 1990, pp. 200–208. ACM Press, New York (1990)
Cristian, F.: Probabilistic clock synchronization. Distrib. Comput. 3(3), 146–158 (1989)
Deering, S.E.: Multicast routing in internetworks and extended LANs. Comput. Commun. Rev. 18(4), 55–64 (1988)
Friedman, R., Birman, K.P.: Using group communication technology to implement a reliable and scalable distributed IN coprocessor. In: TINA’96: The Convergence of Telecommunications and Distributed Computing Technologies, Heidelberg, September 1996, pp. 25–42. VDE-Verlag, Berlin (1996). Also Technical Report, Department of Computer Science, Cornell University, March (1996)
Friedman, R., van Renesse, R.: Packing messages as a tool for boosting the performance of total ordering protocols. Technical Report 95-1527, Department of Computer Science, Cornell University, July (1995b). IEEE Trans. Netw. (submitted)
Glade, B.B., Birman, K.P., Cooper, R.C., van Renesse, R.: Lightweight process groups in the Isis system. Distrib. Syst. Eng. J. (1993)
Hunt, G.D.: Multicast flow control on local area networks. Ph.D. diss., Department of Computer Science, Cornell University, February (1995). Also available as Technical Report TR-95-1479
Kalantar, M.: Issues in ordered multicast performance: A simulation study. Ph.D. diss., Department of Computer Science, Cornell University, August (1995). Also Technical Report TR-95-1531
Karamcheti, V., Chien, A.A.: Software overhead in messaging layers: Where does the time go? In: Proceedings of the Sixth ACM Symposium on Principles of Programming Languages and Operating Systems, San Jose, CA, October 1994. ACM Press, New York (1994)
Kay, J., Pasquale, J.: The importance of nondata touching processing overheads. In: Proceedings of SIGCOMM-93, August 1993, pp. 259–269 (1993)
Liu, X., Kreitz, C., van Renesse, R., Hickey, J., Hayden, M., Birman, K.P., Constable, R.: Building reliable, high-performance communication systems from components. In: Proc. of the 17th ACM Symposium on Operating System Principles, Kiawah Island Resort, SC, December 1999
Maffeis, S.: Adding group communication and fault tolerance to CORBA. In: Proceedings of the 1995 USENIX Conference on Object-Oriented Technologies, Monterey, CA, June 1995
Milner, R., Tofte, M., Harper, R.: The Definition of Standard ML. MIT Press, Cambridge (1990)
Mogul, J., Rashid, R., Accetta, M.: The packet filter: An efficient mechanism for user-level network code. In: Proceedings of the Eleventh ACM Symposium on Operating Systems Principles, Austin, November 1987, pp. 39–51. ACM Press, New York (1987)
Moser, L.E., Melliar-Smith, P.M., Agarwal, D.A., Budhia, R.K., Lingley-Papadopoulos, C.A.: Totem: A fault-tolerant multicast group communication system. Commun. ACM 39(4), 54–63 (1996)
Reed, D.P., Kanodia, R.K.: Synchronization with eventcounts and sequencers. Commun. ACM 22(2), 115–123 (1979)
Rodrigues, L., Guo, K., Verissimo, P., Birman, K.P.: A dynamic light-weight group service. J. Parallel Distrib. Comput. 60, 1449–1479 (2000)
Rowe, L.A., Smith, B.C.: A continuous media player. In: Proceedings of the Third International Workshop on Network and Operating Systems Support for Digital Audio and Video, San Diego, CA, November 1992
van Renesse, R., Birman, K.P., Friedman, R., Hayden, M., Karr, D.: A framework for protocol composition in Horus. In: Proceedings of the Fourteenth Symposium on the Principles of Distributed Computing, Ottawa, August 1995, pp. 80–89. ACM Press, New York (1995)
van Renesse, R., Birman, K.P., Maffeis, S.: Horus: A flexible group communication system. Commun. ACM 39(4), 76–83 (1996)
von Eicken, T., Basu, A., Buch, V., Vogels, W.: U-Net: A user-level network interface for parallel and distributed computing. In: Proceedings of the Fifteenth Symposium on Operating Systems Principles, Copper Mountain Resort, CO, December 1995, pp. 40–53. ACM Press, New York (1995)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag London Limited
About this chapter
Cite this chapter
Birman, K.P. (2012). Software Architectures for Group Communication. In: Guide to Reliable Distributed Systems. Texts in Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-2416-0_17
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2416-0_17
Publisher Name: Springer, London
Print ISBN: 978-1-4471-2415-3
Online ISBN: 978-1-4471-2416-0
eBook Packages: Computer ScienceComputer Science (R0)