Abstract
Persistent Linda (PLinda hereafter) is based on the shared tuple space model of Linda. PLinda extends the model to facilitate the manipulation of sets and to implement transactional persistence. Its operations are upward compatible with Linda's. We have chosen Linda as a basis for the following reasons:
1) A shared memory model is the language of much parallel algorithms work, so implementing a parallel algorithm is easiest in that model. At the same time, a persistent data store is most useful as a shared resource.
2) In a distributed system, the cost of sending a message is often dominated by the cost of setting up the message. By encapsulating accesses into large semantic units (i.e. Linda tuples) as opposed to machine-dependent units such as words, Linda reduces the number of data transfers, thereby reducing set-up overhead. Shared data stores are also best accessed in large chunks for the same reason.
3) Associative retrieval of tuples is a convenient abstraction to the parallel programmer and is a good target of optimization for the database implementer.