Extending Fluke IPC for Transparent Remote Communication

Linus Kamb
Department of Computer Science
University of Utah, Salt Lake City, UT 84112
kamb@cs.utah.edu

Master's Thesis
December, 1998

Abstract

Distributed systems such as client-server applications and cluster-based parallel computation are an important part of modern computing. Distributed computing allows the balancing of processing load, increases program modularity, isolates functionality, and can provide an element of fault tolerance. In these environments, systems must be able to synchronize and share data through some mechanism for remote interprocess communication (IPC). Although distributed systems have many advantages, they also pose several challenges. One important challenge is transparency. It is desirable that applications can be written to a communication interface that hides the details of distribution. One way to achieve transparency is through the extension of local communication mechanisms over a network for remote communication. The ability to transparently extend local communication depends on the semantics of the local IPC mechanisms. Unfortunately, those semantics are often driven by other architectural goals of the system and may not necessarily be best suited for remote communication. This work describes a remote IPC implementation for the Fluke operating system and an analysis of the Fluke architecture, IPC system, and IPC semantics, with regard to the extension of local IPC for transparent remote communication. It shows that the overall complexity of both the kernel IPC subsystem and the network IPC implementation is considerably less than similar operating systems' IPC mechanisms, and that the Fluke IPC architecture is generally well-suited for transparent remote IPC. However, it also shows that the lack of kernel-provided reference counting caused more problems than it solved, and that the generality of an important Fluke kernel object, the ``reference,'' makes it impossible for the network IPC system to provide completely transparent remote IPC without extensive additional services.

Full thesis.