Next: Language Embeddings. Up: Distributed Tuple-Spaces for Parallel Previous: Distributed Tuple-Spaces for Parallel

Tuple-space Kernel.

The key problem in incorporating LINDA into a language for parallel machines is in the provision of efficiently accessible tuple-spaces. In achieving this aim, we were able to:

  1. build a fully distributed kernel in which tuple-spaces, and their managing processes are distributed over multiple processors in such a way that each manager controls parts of several tuple-spaces.
  2. show that it was essential that, relative to a single process, the order of the LINDA out operations be preserved by a kernel. This does not appear to be the case in many Linda implementations (including the principal commercially-available product).
  3. develop techniques for the efficient implementation of the `bulk' data primitives proposed in previous work. These techniques enable the `logical' movement of data without physical inter-processor communications.
  4. provide two implementations of the kernel, one for a transputer network, and the other a portable version built on PVM.
Other notable features of the implementation include the incorporation of (partial) processor load-balancing, and the implementation of the Linda eval primitive using a closure mechanism.


wood@minster.york.ac.uk
Mon May 6 13:40:14 BST 1996