An Operating Environment for the Jellybean Machine

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.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 1988
Accession Number
ADA201042

Entities

People

  • Brian K. Totty

Organizations

  • Massachusetts Institute of Technology

Tags

Communities of Interest

  • C4I
  • Energy and Power Technologies

DTIC Thesaurus Topics

  • Algorithms
  • Artificial Intelligence
  • Compilers
  • Computations
  • Computer Architecture
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Computing System Architectures
  • Hierarchies
  • High Level Languages
  • Instruction Set Architecture
  • Operating Systems
  • Parallel Processing
  • Programming Languages
  • System Software

Fields of Study

  • Computer science
  • Engineering

Readers

  • Parallel and Distributed Computing.