Skip to main content

The Virtual Synchrony Execution Model

  • Chapter
Guide to Reliable Distributed Systems

Part of the book series: Texts in Computer Science ((TCS))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 89.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 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. 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. 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)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • Amir, Y.: Replication using group communication over a partitioned network. Ph.D. diss., Hebrew University of Jerusalem (1995)

    Google Scholar 

  • 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

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Birman, K.P., Joseph, T.A.: Reliable communication in the presence of failures. ACM Trans. Comput. Syst. 5(1), 47–76 (1987b)

    Article  Google Scholar 

  • Birman, K.P., van Renesse, R. (eds.): Reliable Distributed Computing with the Isis Toolkit. IEEE Computer Society Press, New York (1994)

    Google Scholar 

  • Birman, K.P., van Renesse, R.: Software for reliable networks. Sci. Am. 274(5), 64–69 (1996)

    Article  Google Scholar 

  • 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

    Google Scholar 

  • Budhiraja, N., et al.: The primary-backup approach. In: Mullender, S.J. (ed.) Distributed System, 2nd edn. Addison-Wesley/ACM Press, Reading (1993)

    Google Scholar 

  • Chockler, G., Keidar, I., Vitenberg, R.: Group communication specifications: A comprehensive study. ACM Comput. Surv. 33(4), 1–43 (2001)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • Cristian, F.: Synchronous and asynchronous group communication. Commun. ACM 39(4), 88–97 (1996)

    Article  Google Scholar 

  • Dolev, D., Malkhi, D.: The Transis approach to high availability cluster communication. Commun. ACM 39(4), 64–70 (1996)

    Article  Google Scholar 

  • 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)

    Google Scholar 

  • Keidar, I.: Consistency and high availability of information dissemination in multi-processor networks. Ph.D. thesis, Hebrew University of Jerusalem, October (1998)

    Google Scholar 

  • Keidar, I.: Challenges in evaluating distributed algorithms. In: Future Directions in Distributed Computing. Lecture Notes in Computer Science, vol. 2584, pp. 40–44 (2010)

    Chapter  Google Scholar 

  • 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

    Chapter  Google Scholar 

  • Keidar, I., Khazan, R.: A virtually synchronous group multicast algorithm for WANs: Formal approach. SIAM J. Comput. 32(1), 78–130 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  • 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)

    Article  Google Scholar 

  • Keidar, I., Sussman, J., Marzullo, K., Dolev, D.: Moshe: A group membership service for wans. ACM Trans. Comput. Syst. 20(3), 1–48 (2002b)

    Article  Google Scholar 

  • Lamport, L.: Using time instead of timeout for fault-tolerant distributed systems. ACM Trans. Program. Lang. Syst. 6(2), 254–280 (1984)

    Article  Google Scholar 

  • Lamport, L.: Paxos made simple. Distrib. Comput. Column ACM SIGACT News 32(4), 51–58 (2001)

    Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Malkhi, D.: Multicast communication for high availability. Ph.D. diss., Hebrew University of Jerusalem (1994)

    Google Scholar 

  • 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)

    Article  Google Scholar 

  • Powell, D.: Introduction to special section on group communication. Commun. ACM 39(4), 50–53 (1996)

    Article  Google Scholar 

  • Pritchett, D.: BASE: An acid alternative. Queue 6(3), 48–55 (2008)

    Article  Google Scholar 

  • Reiter, M.K.: Distributing trust with the Rampart toolkit. Commun. ACM 39(4), 71–75 (1996)

    Article  MathSciNet  Google Scholar 

  • Schiper, A., Raynal, M.: From group communication to transactions in distributed systems. Commun. ACM 39(4), 84–87 (1996)

    Article  Google Scholar 

  • 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)

    Chapter  Google Scholar 

  • Schneider, F.B.: Implementing fault-tolerant services using the StateMachine approach. ACM Comput. Surv. 22(4), 299–319 (1990)

    Article  Google Scholar 

  • van Renesse, R.: Paxos made moderately simple. Technical report, Cornell University, March (2011)

    Google Scholar 

  • 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)

    Google Scholar 

  • 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics