Content area
Abstract
We consider a distributed computing environment in which a high-level distributed programming language kernel, as contrasted with a distributed operating system, is sufficient support for programming applications and in which performance is of primary concern. We propose programming language support for such an environment and present the performance results of an implementation.
Using the distributed programming language StarMod as a basis, we describe communication primitives which provide interprocess communication, broadcast communication, remote invocation, and remote memory references. Each form of communication is integrated into StarMod in a consistent fashion maintaining the properties of transparency, full functionality, and modularity. The costs and benefits associated with the various models of communication are analyzed based on the results of an implementation that runs on 8 PDP 11/23 microprocessors connected by a one megabit/second network.
We conclude with a comparison of the communication primitives, including design, performance, ease of implementation, functionality, and tractability. We discuss general lessons learned in constructing distributed programming language kernels for "bare" machines and suggestions for the organization of an architecture that supports the efficient implementation of high-level language communication primitives.