Publication | Closed Access
Exploiting virtual synchrony in distributed systems
262
Citations
0
References
1987
Year
Unknown Venue
EngineeringSoftware SystemsSoftware EngineeringFault ToleranceFault-tolerant MessagingFormal VerificationSynchronization ProtocolDistributed Programming ToolsDistributed EnvironmentDistributed Space SystemsIsis2 SystemDistributed SystemsComputer ScienceDistributed ApplicationOperating SystemsDistributed ComputingVirtual SynchronyAsynchronous SystemsSystem Software
The paper presents applications of a virtually synchronous environment that underpins distributed programming tools in the ISIS2 system. The approach uses a virtually synchronous environment that groups processes and treats broadcasts, membership changes, and activity migration as instantaneous events. The authors find that virtually synchronous programming lets distributed application components be handled independently while preserving correctness, enables synchronous‑style user code to execute concurrently, and offers a more straightforward, flexible, and reliable alternative to other methods.
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.