  Among the paradigms for parallel and distributed computing, the one
popularized with Linda, and based on tuple spaces, is one of the least used,
despite the fact of being intuitive, easy to understand and to use. A tuple
space is a repository, where processes can add, withdraw or read tuples by
means of atomic operations. Tuples may contain different values, and processes
can inspect their content via pattern matching. The lack of a reference
implementation for this paradigm has prevented its widespread. In this paper,
first we perform an extensive analysis of a number of actual implementations of
the tuple space paradigm and summarise their main features. Then, we select
four such implementations and compare their performances on four different case
studies that aim at stressing different aspects of computing such as
communication, data manipulation, and cpu usage. After reasoning on strengths
and weaknesses of the four implementations, we conclude with some
recommendations for future work towards building an effective implementation of
the tuple space paradigm.
