Abstract: | This paper introduces a new methodology for building flexible and programmable multiprocessor systems. It is based on a distributed implementation of monitors which is supported by a system-wide address relocation mechanism. This provides the dynamic reallocation of processes and monitors within the system. Methods of implementing the communications subsystem based on a number of common network architectures are presented. An algorithm which effects dynamic resource allocation is presented. Its effect is that groups of processes which are interacting through a monitor will tend to accumulate at various sites in the system in a manner reflecting the dynamic interaction patterns of the program. This is accomplished without there being any centralized control, or even knowledge of the overall program interactions. The feasibility of the system has been investigated using a model system running on a loosely connected dual processor system. |