Francis C. M. Lau Computer Studies Department University of Hong Kong James P. Black Department of Com uter Science University of 47 aterloo Eric G. Manning Faculty of En ineering University of k ictoria Research Re srt CS-87-52 Septemger 1987 Naming of Objects in the Cluster System Francis C.M. Lau Computer Studies Department University of Hong Kong James P. Black Department of Computer Science University of Waterloo Eric G. Manning Faculty of Engineering University of Victoria ABSTRACT This paper introduces the Cluster Model as the basis for a new program- ming methodology, focusing in particular on the issues related to the naming of clusters (or hierarchies of processes) for efficient cluster-related operations. In this model, clusters replace conventional processes to provide a tool for imposing structure on process-based programs at runtime. To prove the practical feasibility of the model, a Cluster System has been built; the implementation is based on the principle of policy/mechanism separation. All cluster operations are imple- mentedas policy routines which are subsequently mapped into kernel calls. Inter-process communicationis exclusively by messages, using arbitrary names (ratherthannumeric process identifiers) as addresses; this avoids the need to know names internal to a cluster in order to communicate.
Naming of Objects in the Cluster System
Francis C. M. Lau Computer Studies Department University of Hong Kong
James P. Black Department of Com uter Science University of 47 aterloo
Eric G. Manning Faculty of En ineering University of k ictoria Research Re srt CS-87-52
Septemger 1987
Naming of Objects in the Cluster System
Francis C.M. Lau
Computer Studies Department University of Hong Kong
James P. Black
Department of Computer Science University of Waterloo
Eric G. Manning
Faculty of Engineering University of Victoria
ABSTRACT
This paper introduces the Cluster Model as the basis for a new program- ming methodology, focusing in particular on the issues related to the naming of clusters (or hierarchies of processes) for efficient cluster-related operations. In this model, clusters replace conventional processes to provide a tool for imposing structure on process-based programs at runtime. To prove the practical feasibility of the model, a Cluster System has been built; the implementation is based on the principle of policy/mechanism separation. All cluster operations are imple- mentedas policy routines which are subsequently mapped into kernel calls. Inter-process communicationis exclusively by messages, using arbitrary names (ratherthannumeric process identifiers) as addresses; this avoids the need to know names internal to a cluster in order to communicate.
Correspondence: Dr. J. P. Black, Department of Computer Science, University of Waterloo, Waterloo, Ontario, Canada N2L 3G1.
E-mail: jpblack@nith.waterloo.cdn
-2 -
1. Introduction
Software systems are constantly evolving towards greater size and complexity. The software problem [6] is becoming more and more,acute as this evolution continues, and as the techniques for engineering and managing software fail tokeep pace. We focus on a particular piece of software, the operating system, which is the heart of any software system. We present a model of a novel operating system; such an operating system can serve as an effective basis for the development of complex software. The model is called the cluster model, and software built from it is called a cluster system. The distinguishing feature of a cluster system is its support for the structuring of process-baseduser programs at runtime. Roughly, the cluster model provides a hierarchical generalization of conventional processes, supported by a novel naming and message passing mechanism called the rendezvous store.
A cluster system, at runtime, has within its boundary a number of executing clusters. A cluster has within its boundary a set of one or more processes and a (private) namespace. A cluster may also cont...