Exploiting virtual synchrony in distributed systems
SOSP '87 Proceedings of the eleventh ACM Symposium on Operating systems principles
The X-Kernel: An Architecture for Implementing Network Protocols
IEEE Transactions on Software Engineering
Using process groups to implement failure detection in asynchronous environments
PODC '91 Proceedings of the tenth annual ACM symposium on Principles of distributed computing
Lightweight causal and atomic group multicast
ACM Transactions on Computer Systems (TOCS)
Reliable Multicast between Micro-Kernels
Proceedings of the Workshop on Micro-kernels and Other Kernel Architectures
Integrating Security in a Group Oriented Distributed System
SP '92 Proceedings of the 1992 IEEE Symposium on Security and Privacy
Efficient message ordering in dynamic networks
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
Hi-index | 0.00 |
ISIS [1], developed at Cornell University, is a system for building applications consisting of cooperating, distributed processes. Group management and group communication are two basic building blocks provided by ISIS. ISIS has been very successful, and there is currently a demand for a version that will run on many different environments and transport protocols, and will scale to many process groups. Furthermore, performance is an important issue. For this purpose, ISIS is being redesigned and rebuilt from scratch [2]. Of particular importance to us is getting the new ISIS system to run well on modern microkernel technology, notably MACH [3] and Chorus [4]. The basic reasoning behind these plans is that microkernels appear to offer satisfactory support for memory management and communication between processes on the same machine, but that support for applications that run on multiple machines is weak. The current IPC mechanisms are adequate only for the simpler distributed applications, as they do not address any of the internal management issues of distribution.The new ISIS system has several well-defined layers. The lowest layers, which implement multicast transport and failure detection, are near completion and currently run on SUN OS using SUN LWP threads, on MACH using C Threads, and on the x-kernel [5]. This system can use several different network protocols at the same time, such as IP, UDP (with or without multicast support), and raw Ethernet. This enables processes on SUN OS, MACH, and Chorus to multicast among each other, even though the environments are very dissimilar. The system makes use of available hardware multicast if possible. It also queues messages if a backlog appears, so that multiple messages may be packed together in a single packet. Using this strategy, the number of messages per second can become very large, and in the current (simple) implementation about 10,000 per second can be sent between distributed SUN OS user processes, a figure that approaches the speed of local light-weight remote procedure call mechanisms. (The current round-trip time on SUN OS over Ethernet is about 3 milliseconds.)