Abstract
The protocols of Chap. 12 represent a new kind of building block from which a wide variety of sophisticated systems can be constructed. Here, we do so, exploring the needed mechanisms that will let us take the step from a world of protocols that live in isolation to a full-fledged toolkit for implementing applications. When the properties of the model are combined with these primitives, we will say that a virtually synchronous execution environment results (see Birman and Joseph 1987a, 1987b; Birman and van Renesse 1994). Our treatment here is detailed but not fully formalized; a more mathematical treatment is provided in Appendix A.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In some systems this is interpreted so that if a process fails, but its failure is not reported promptly, it is considered to have received multicasts that would have been delivered to it had it still been operational.
- 2.
In fact, Spread goes further and implements a single non-partitionable “group,” within which the user’s process groups are actually supported as subgroups. A multicast, for example, is performed by multicasting to the whole group but then filtering messages on arrival so only the appropriate subset of group members receive a copy. This proves to be an especially easy model to implement and performance is good. On the other hand, the “deliver, then filter and discard” approach imposes considerable overhead if most messages are destined for just a small subset of processes.
- 3.
Interested readers may also want to read about log-based recovery techniques, which we do not cover in this book because these techniques have not been applied in many real systems. Alvisi gives a very general log-based recovery algorithm and reviews other work in the area in his Ph.D. dissertation and in a paper with Marzullo.
References
Agapi, A., Birman, K., Broberg, R., Cotton, C., Kielmann, T., Millnert, M., Payne, R., Surton, R., van Renesse, R.: Routers for the cloud: Can the Internet achieve 5-nines availability? IEEE Internet Comput. 15(5), 72–77 (2011)
Agarwal, D.A.: Totem: A reliable ordered delivery protocol for interconnected local area networks. Ph.D. diss., Department of Electrical and Computer Engineering, University of California, Santa Barbara (1994)
Amir, Y.: Replication using group communication over a partitioned network. Ph.D. diss., Hebrew University of Jerusalem (1995)
Amir, Y., Danilov, C., Stanton, J.: A low latency, loss tolerant architecture and protocol for wide area group communication. In: International Conference on Dependable Systems and Networks (DCCA-8), New York, June 25–28, 2000
Birman, K.P., Joseph, T.A.: Exploiting virtual synchrony in distributed systems. In: Proceedings of the Eleventh Symposium on Operating Systems Principles, Austin, November 1987, pp. 123–138. ACM Press, New York (1987a)
Birman, K.P., Joseph, T.A.: Reliable communication in the presence of failures. ACM Trans. Comput. Syst. 5(1), 47–76 (1987b)
Birman, K.P., van Renesse, R. (eds.): Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, New York (1994)
Birman, K.P., van Renesse, R.: Software for reliable networks. Sci. Am. 274(5), 64–69 (1996)
Birman, K.P., Freedman, D.F., Huang, Q.: Overcoming CAP with consistent soft-state replication. IEEE Comput. Soc. Mag., special issue on the growing importance of the CAP conjecture, January/February 2012
Budhiraja, N., et al.: The primary-backup approach. In: Mullender, S.J. (ed.) Distributed System, 2nd edn. Addison-Wesley/ACM Press, Reading (1993)
Chockler, G., Keidar, I., Vitenberg, R.: Group communication specifications: A comprehensive study. ACM Comput. Surv. 33(4), 1–43 (2001)
Cooper, B.F., Ramakrishnan, R., Srivastava, U., Silberstein, A., Bohannon, P., Jacobsen, H.A., Puz, N., Weaver, D., Yerneni, R.: PNUTS: Yahoo!’s hosted data serving platform. In: Proc. 34th VLDB, August 2008, vol. 1, 2, pp. 1277–1288 (2008)
Cristian, F.: Synchronous and asynchronous group communication. Commun. ACM 39(4), 88–97 (1996)
Dolev, D., Malkhi, D.: The Transis approach to high availability cluster communication. Commun. ACM 39(4), 64–70 (1996)
Dolev, D., Malkhi, D., Strong, R.: A framework for partitionable membership service. Technical Report TR 95-4, Institute of Computer Science, Hebrew University of Jerusalem, March (1995)
Keidar, I.: Consistency and high availability of information dissemination in multi-processor networks. Ph.D. thesis, Hebrew University of Jerusalem, October (1998)
Keidar, I.: Challenges in evaluating distributed algorithms. In: Future Directions in Distributed Computing. Lecture Notes in Computer Science, vol. 2584, pp. 40–44 (2010)
Keidar, I., Dolev, D.: Totally ordered broadcast in the face of network partitions. Exploiting group communication for replication in partitionable networks. In: Avresky, D. (ed.) Dependable Network Computing, pp. 51–75. Kluwer Academic, Dordrecht (2000). Chap. 3
Keidar, I., Khazan, R.: A virtually synchronous group multicast algorithm for WANs: Formal approach. SIAM J. Comput. 32(1), 78–130 (2002)
Keidar, I., Khazan, R., Lynch, N., Shvartsman, A.: An inheritance-based technique for building simulation proofs incrementally. ACM Trans. Softw. Eng. Methodol. 11(1), 63–91 (2002a)
Keidar, I., Sussman, J., Marzullo, K., Dolev, D.: Moshe: A group membership service for wans. ACM Trans. Comput. Syst. 20(3), 1–48 (2002b)
Lamport, L.: Using time instead of timeout for fault-tolerant distributed systems. ACM Trans. Program. Lang. Syst. 6(2), 254–280 (1984)
Lamport, L.: Paxos made simple. Distrib. Comput. Column ACM SIGACT News 32(4), 51–58 (2001)
Lamport, L., Malkhi, D., Zhou, L.: Vertical Paxos and primary-backup replication. In: Proceedings of the 28th ACM Symposium on Principles of Distributed Computing (PODC’09), pp. 312–313 (2009a)
Malkhi, D.: Multicast communication for high availability. Ph.D. diss., Hebrew University of Jerusalem (1994)
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)
Powell, D.: Introduction to special section on group communication. Commun. ACM 39(4), 50–53 (1996)
Pritchett, D.: BASE: An acid alternative. Queue 6(3), 48–55 (2008)
Reiter, M.K.: Distributing trust with the Rampart toolkit. Commun. ACM 39(4), 71–75 (1996)
Schiper, A., Raynal, M.: From group communication to transactions in distributed systems. Commun. ACM 39(4), 84–87 (1996)
Schneider, F.B.: The StateMachine approach: A tutorial. In: Proceedings of the Workshop on Fault-Tolerant Distributed Computing, Asilomar, CA. Lecture Notes on Computer Science, vol. 448, pp. 18–41. Springer, Berlin (1988)
Schneider, F.B.: Implementing fault-tolerant services using the StateMachine approach. ACM Comput. Surv. 22(4), 299–319 (1990)
van Renesse, R.: Paxos made moderately simple. Technical report, Cornell University, March (2011)
Vogels, W.: Eventually consistent—Revisited. http://www.allthingsdistributed.com/2008/12/eventually_consistent.html. Dec (2008)
Zhao, B., Duan, Y., Huang, L., Joseph, A.D., Kubiatowicz, J.: Brocade: Landmark routing on overlay networks. In: IPTPS 2002, pp. 34–44 (2002a)
Zhao, Duan, B.Y., Huang, L., Joseph, A.D., Kubiatowicz, J.D.: Brocade: Landmark routing on overlay networks. In: First International Workshop on Peer-to-Peer Systems (IPTPS), Cambridge, MA, March 2002b
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). The Virtual Synchrony Execution Model. In: Guide to Reliable Distributed Systems. Texts in Computer Science. Springer, London. https://doi.org/10.1007/978-1-4471-2416-0_14
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2416-0_14
Publisher Name: Springer, London
Print ISBN: 978-1-4471-2415-3
Online ISBN: 978-1-4471-2416-0
eBook Packages: Computer ScienceComputer Science (R0)