skip to main content
article
Free Access

Exploiting virtual synchrony in distributed systems

Published:01 November 1987Publication History
Skip Abstract Section

Abstract

We describe applications of a virtually synchronous environment for distributed programming, which underlies a collection of distributed programming tools in the ISIS2 system. A virtually synchronous environment allows processes to be structured into process groups, and makes events like broadcasts to the group as an entity, group membership changes, and even migration of an activity from one place to another appear to occur instantaneously — in other words, synchronously. A major advantage to this approach is that many aspects of a distributed application can be treated independently without compromising correctness. Moreover, user code that is designed as if the system were synchronous can often be executed concurrently. We argue that this approach to building distributed and fault-tolerant software is more straightforward, more flexible, and more likely to yield correct solutions than alternative approaches.

References

  1. Babaoglu Babaoglu, O., and Drummond, R. Streets of Byzantium: Network architectures for fast reliable broadcasts. IEEE TSE SE-11, 6 (June 1985), 546-554.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Birrell Birrell, A., Nelson, B. Implementing remote procedure calls. A CM Transactions on Computer Systems 2, I (Feb. 1984), 39-59. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Birman-a Birman, K. and Joseph, T. Reliable communication in the presence of failures. A CM Transactions on Compurer Systems 5, 1 (Feb. 1987). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Birman-b Birman, K. Replication and fault-tolerance in the ISIS system. Proc. lOth ACM SiGOPS Symposium on Operating Systems Principles. Orcas Island, Washington, Dec. 1985, 79-86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Birman-c Birman, K., Joseph, T. and Schmuck, F. ISIS Systern Documentation, Release I. Available as TR-87-849, Department of Computer Science, Cornell University, July 1987.Google ScholarGoogle Scholar
  6. Birman-d Birman, K. and Joseph, T. Programming with shared bulletin boards in asynchronous distributed systerns. Dept. of Computer Science TR-86-772, Cornell University (August 1986; Revised December 1986). Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chang Chang, J, Maxemchuk, N. Reliable broadcast protocols. ACM Transactions on Computing Systems 2, 3 (Aug. 1984), 251-273. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cheriton Cheriton, D. and Zwaenepoel, W. Distributed process groups in the V kernel. A CM Transactions on Compurer Systems 3, 2 (May. 1985), 77-107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Cooper Cooper, E. Replicated distributed programs. Proc. lOth ACM SiGOPS Symposium on Operating Systems Principles. Orcas Island, Washington, Dec. 1985, 63-78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Cristian Cristian, F., Aghili, H., Strong, R., Dolev, D. Atomic broadcast: From simple message diffusion to Byzantine agreement, iBM Technical Report RJ 4540 (48668) 12/10/84.Google ScholarGoogle Scholar
  11. Gifford Gifford, D. Weighted voting for replicated data. Proc. 7th A CM SIGOPS Symposium on Operating Systems Principles. December 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Herlihy Herlihy, M. Replication methods for abstract data types. Ph.D. thesis, Dept. of Computer Science, MIT (LCS 84-319), May 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Jefferson Jefferson, D. Virtual time. USC Technical report TR-83-213, University of Southern California, Los Angeles, May 1983.Google ScholarGoogle Scholar
  14. Joseph Joseph, T. and Birman, K. Low cost management of replicated data in fault-tolerant distributed systems. A CM Transactions on Computing Systems 4, I (Feb. 1986), 54- 70. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Lamport-a Lamport, L. Using time instead of timeout for fault-tolerance in distributed systems. ACM TOPLAS 6, 2 (April 1984), 254-280. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Lamport-b Lamport, L. Time, clocks, and the ordering of events in a distributed system. CACM 21, 7, July 1978, 558-565. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Liskov Liskov, B., Ladin, R. High Available Distributed Servers and Fault Tolerant Garbage Collection. Proc 5th ACM SIGACT/SIGOPS Symposium on Principles of Distributed Computing, Aug. 1986, 40-51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Moss Moss, E. Nested transactions: An approach to reliable, distributed computing. Ph.D. thesis, MIT Dept of EECS, TR 260, April 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Peterson Peterson, L. Preserving context information in an IPC abstraction. Proc. 6th Symposium on Reliability in Distributed Software and Database Systems, March 1987, 22-31.Google ScholarGoogle Scholar
  20. Schneider-a Schneider, F. Synchronization in distributed programs. ACM TOPLAS 4, 2 (April 1982), 179-195. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Schneider-b Schneider, F., Gries, D., Schlicting, R. Reliable broadcast protocols. Science of Computer Programming 3, 2 (March 1984).Google ScholarGoogle Scholar
  22. Schmuck Schmuck, F. Picking the cheapest broadcast protocols in a distributed program. Ph.D. thesis, Cornell Univ. Dept. of Computer Science, (expected) Dec. 1987.Google ScholarGoogle Scholar
  23. Skeen Skeen, D. Determining the last process to fail. A CM Transactions on Computing Systems 3, 1, Feb. 1985.15-30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Strom strom, R. and Yemini, S. Optimistic recovery in distributed systems. ACM Transactions on Computing Systems 3, 3 (April 1985), 204-226. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Exploiting virtual synchrony in distributed systems

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGOPS Operating Systems Review
      ACM SIGOPS Operating Systems Review  Volume 21, Issue 5
      Nov. 1987
      162 pages
      ISSN:0163-5980
      DOI:10.1145/37499
      Issue’s Table of Contents
      • cover image ACM Conferences
        SOSP '87: Proceedings of the eleventh ACM Symposium on Operating systems principles
        November 1987
        162 pages
        ISBN:089791242X
        DOI:10.1145/41457

      Copyright © 1987 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 November 1987

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader