Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Exploiting virtual synchrony in distributed systems

Published: 01 November 1987 Publication History

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, O., and Drummond, R. Streets of Byzantium: Network architectures for fast reliable broadcasts. IEEE TSE SE-11, 6 (June 1985), 546-554.
[2]
Birrell, A., Nelson, B. Implementing remote procedure calls. A CM Transactions on Computer Systems 2, I (Feb. 1984), 39-59.
[3]
Birman, K. and Joseph, T. Reliable communication in the presence of failures. A CM Transactions on Compurer Systems 5, 1 (Feb. 1987).
[4]
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.
[5]
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.
[6]
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).
[7]
Chang, J, Maxemchuk, N. Reliable broadcast protocols. ACM Transactions on Computing Systems 2, 3 (Aug. 1984), 251-273.
[8]
Cheriton, D. and Zwaenepoel, W. Distributed process groups in the V kernel. A CM Transactions on Compurer Systems 3, 2 (May. 1985), 77-107.
[9]
Cooper, E. Replicated distributed programs. Proc. lOth ACM SiGOPS Symposium on Operating Systems Principles. Orcas Island, Washington, Dec. 1985, 63-78.
[10]
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.
[11]
Gifford, D. Weighted voting for replicated data. Proc. 7th A CM SIGOPS Symposium on Operating Systems Principles. December 1979.
[12]
Herlihy, M. Replication methods for abstract data types. Ph.D. thesis, Dept. of Computer Science, MIT (LCS 84-319), May 1984.
[13]
Jefferson, D. Virtual time. USC Technical report TR-83-213, University of Southern California, Los Angeles, May 1983.
[14]
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.
[15]
Lamport, L. Using time instead of timeout for fault-tolerance in distributed systems. ACM TOPLAS 6, 2 (April 1984), 254-280.
[16]
Lamport, L. Time, clocks, and the ordering of events in a distributed system. CACM 21, 7, July 1978, 558-565.
[17]
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.
[18]
Moss, E. Nested transactions: An approach to reliable, distributed computing. Ph.D. thesis, MIT Dept of EECS, TR 260, April 1981.
[19]
Peterson, L. Preserving context information in an IPC abstraction. Proc. 6th Symposium on Reliability in Distributed Software and Database Systems, March 1987, 22-31.
[20]
Schneider, F. Synchronization in distributed programs. ACM TOPLAS 4, 2 (April 1982), 179-195.
[21]
Schneider, F., Gries, D., Schlicting, R. Reliable broadcast protocols. Science of Computer Programming 3, 2 (March 1984).
[22]
Schmuck, F. Picking the cheapest broadcast protocols in a distributed program. Ph.D. thesis, Cornell Univ. Dept. of Computer Science, (expected) Dec. 1987.
[23]
Skeen, D. Determining the last process to fail. A CM Transactions on Computing Systems 3, 1, Feb. 1985.15-30.
[24]
strom, R. and Yemini, S. Optimistic recovery in distributed systems. ACM Transactions on Computing Systems 3, 3 (April 1985), 204-226.

Cited By

View all
  • (2024)Inductive Diagrams for Causal ReasoningProceedings of the ACM on Programming Languages10.1145/36498308:OOPSLA1(529-554)Online publication date: 29-Apr-2024
  • (2024)Expected linear round synchronization: the missing link for linear Byzantine SMRDistributed Computing10.1007/s00446-023-00459-937:1(19-33)Online publication date: 8-Jan-2024
  • (2024)Transaktionale Semantik für global verteilte AnwendungenSchnelles und skalierbares Cloud-Datenmanagement10.1007/978-3-031-54388-3_6(141-159)Online publication date: 3-May-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

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
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: 01 November 1987
Published in SIGOPS Volume 21, Issue 5

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)343
  • Downloads (Last 6 weeks)49
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Inductive Diagrams for Causal ReasoningProceedings of the ACM on Programming Languages10.1145/36498308:OOPSLA1(529-554)Online publication date: 29-Apr-2024
  • (2024)Expected linear round synchronization: the missing link for linear Byzantine SMRDistributed Computing10.1007/s00446-023-00459-937:1(19-33)Online publication date: 8-Jan-2024
  • (2024)Transaktionale Semantik für global verteilte AnwendungenSchnelles und skalierbares Cloud-Datenmanagement10.1007/978-3-031-54388-3_6(141-159)Online publication date: 3-May-2024
  • (2024)IntroductionFundamentals of Information Systems Interoperability10.1007/978-3-031-48322-6_1(1-16)Online publication date: 19-Apr-2024
  • (2023)Detecting Data Anomalies from Their Formal Specifications: A Case Study in IoT SystemsElectronics10.3390/electronics1203063012:3(630)Online publication date: 27-Jan-2023
  • (2023)Specification and Runtime Checking of Derecho, A Protocol for Fast Replication for Cloud ServicesProceedings of the 5th workshop on Advanced tools, programming languages, and PLatforms for Implementing and Evaluating algorithms for Distributed systems10.1145/3584684.3597275(1-10)Online publication date: 19-Jun-2023
  • (2023)Sub Data Path Filtering Protocol for Subscription of Event Parts and Event Regeneration in Pub/Sub PatternAdvanced Engineering, Technology and Applications10.1007/978-3-031-50920-9_36(464-481)Online publication date: 23-Dec-2023
  • (2022)Verified Causal Broadcast with Liquid HaskellProceedings of the 34th Symposium on Implementation and Application of Functional Languages10.1145/3587216.3587222(1-13)Online publication date: 31-Aug-2022
  • (2022)Robot Operating System 2: Design, architecture, and uses in the wildScience Robotics10.1126/scirobotics.abm60747:66Online publication date: 11-May-2022
  • (2022)Decentralized Voltage Stability Monitoring and Control With Distributed Computing CoordinationIEEE Systems Journal10.1109/JSYST.2021.305761416:2(2251-2260)Online publication date: Jun-2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media