A RISC approach to process groups

  • Authors:
  • Robbert van Renesse;Robert Cooper;Bradford Glade;Patrick Stephenson

  • Affiliations:
  • Cornell University, Ithaca, NY;Cornell University, Ithaca, NY;Cornell University, Ithaca, NY;Cornell University, Ithaca, NY

  • Venue:
  • EW 5 Proceedings of the 5th workshop on ACM SIGOPS European workshop: Models and paradigms for distributed systems structuring
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.)