The York Linda Kernel

The York Linda Kernel is a distributed Linda server. It consists of a number of processes, each of which manages a proportion of all tuple spaces (if we consider tuple space to be a cake, where each layer is a separate tuple space, then each physical process manages a slice of the cake).

Tuple placement is performed using a two stage hashing mechanism. A tuple is assigned to a tuple space process according to its value. Tuple lookup performs a similar hashing strategy on templates in order to find the tuple space process where a matching tuple would be placed.

Our kernel provides truly concurrent access to tuple space, which aids speedup of programs. It is designed to be general - no specific processor topology is catered for, and no specific hashing algorithms are required. This means that when the kernel is used in interpreted environments, general hashing algorithms can be used to provide adequate performance, but it is possible that a compiler phase might produce very specific hashing functions for optimum performance.

At present, our kernel runs on a Meiko Computing Surface. A PVM port has been completed - watch this space for more information!

For further details, see our paper, Linda Implementation Revisited


Linda Home Page