Summary
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 easy 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 wide spreading. In this paper, first we perform an extensive analysis of a number of actual implementations of the tuple space paradigm and summarize 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.