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.
- 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 ScholarDigital Library
- Birrell Birrell, A., Nelson, B. Implementing remote procedure calls. A CM Transactions on Computer Systems 2, I (Feb. 1984), 39-59. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- Chang Chang, J, Maxemchuk, N. Reliable broadcast protocols. ACM Transactions on Computing Systems 2, 3 (Aug. 1984), 251-273. Google ScholarDigital Library
- 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 ScholarDigital Library
- Cooper Cooper, E. Replicated distributed programs. Proc. lOth ACM SiGOPS Symposium on Operating Systems Principles. Orcas Island, Washington, Dec. 1985, 63-78. Google ScholarDigital Library
- 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 Scholar
- Gifford Gifford, D. Weighted voting for replicated data. Proc. 7th A CM SIGOPS Symposium on Operating Systems Principles. December 1979. Google ScholarDigital Library
- Herlihy Herlihy, M. Replication methods for abstract data types. Ph.D. thesis, Dept. of Computer Science, MIT (LCS 84-319), May 1984. Google ScholarDigital Library
- Jefferson Jefferson, D. Virtual time. USC Technical report TR-83-213, University of Southern California, Los Angeles, May 1983.Google Scholar
- 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 ScholarDigital Library
- Lamport-a Lamport, L. Using time instead of timeout for fault-tolerance in distributed systems. ACM TOPLAS 6, 2 (April 1984), 254-280. Google ScholarDigital Library
- Lamport-b Lamport, L. Time, clocks, and the ordering of events in a distributed system. CACM 21, 7, July 1978, 558-565. Google ScholarDigital Library
- 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 ScholarDigital Library
- Moss Moss, E. Nested transactions: An approach to reliable, distributed computing. Ph.D. thesis, MIT Dept of EECS, TR 260, April 1981. Google ScholarDigital Library
- 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 Scholar
- Schneider-a Schneider, F. Synchronization in distributed programs. ACM TOPLAS 4, 2 (April 1982), 179-195. Google ScholarDigital Library
- Schneider-b Schneider, F., Gries, D., Schlicting, R. Reliable broadcast protocols. Science of Computer Programming 3, 2 (March 1984).Google Scholar
- 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 Scholar
- Skeen Skeen, D. Determining the last process to fail. A CM Transactions on Computing Systems 3, 1, Feb. 1985.15-30. Google ScholarDigital Library
- Strom strom, R. and Yemini, S. Optimistic recovery in distributed systems. ACM Transactions on Computing Systems 3, 3 (April 1985), 204-226. Google ScholarDigital Library
Index Terms
- Exploiting virtual synchrony in distributed systems
Recommendations
Exploiting virtual synchrony in distributed systems
SOSP '87: Proceedings of the eleventh ACM Symposium on Operating systems principlesWe 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 ...
Comments