Abstract
The Jellybean Machine is a scalable MIMD concurrent processor consisting of special-purpose RISC processors loosely coupled into a low latency network. The problem with such a machine is to find a way to efficiently coordinate the collective power of the distributed processing elements. A foundation of efficient, powerful services is required to support this system. To provide this supportive operating environment, I developed an operating system kernel that serves many of the initial needs of our machine. This Jellybean Operating System Software provides an object-based storage model, where typed contiguous blocks act as the basic metric of storage. This memory model is complemented by a global virtual naming scheme that can reference objects residing on any node of the network. Migration mechanisms allow object relocation among different nodes, and permit local catching of code. A low cost process control system based on fast-allocated contexts allows parallelism at a significantly fine gain (on the order of 30 instructions per task). The system services are developed in detail, and may be of interest to other designers of fine gain, distributed memory processing networks. The initial performance estimates are satisfactory. Optimizations will require more insight into how the machine will perform under real-world conditions. Keywords: Operating systems, Jellybean machine, Parallel processing, Ensemble machines, Distributed systems, Networks, Virtual memory, Multiprocessors, Computer programs.

This publication has 0 references indexed in Scilit: