Safer tuple spaces

  • Roel van der Goot
  • Jonathan Schaeffer
  • Gregory V. Wilson
Regular Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1282)


The simplicity and elegance of the Linda programming model is based on its single, global, typeless tuple space. However, these virtues come at a cost. First, the tuple space can be an impediment to scalable high performance. Second, the “black box” nature of the tuple space makes it an inherently dangerous data structure, prone to many types of programming errors.

Blossom is a C++ version of Linda with extensions. This paper introduces some of the novelties in Blossom, as they pertain to creating “safe” tuple spaces. These new features include multiple strongly typed tuple spaces, field access patterns, tuple space access patterns, and assertions.


Global Memory Access Pattern Strong Typing Programming Error Tuple Space 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bakken, D. E., and Schlichting, R. D. Supporting Fault-Tolerant Parallel Programming in Linda. IEEE Transactions on Parallel and Distributed Systems 6, 3 (1995), 287–302.CrossRefGoogle Scholar
  2. 2.
    Bennett, J. K., Carter, J. B., and Zwaenepoel, W. Munin: Distributed Shared Memory Based on Type-Specific Memory Coherence. In Second ACM SIGPLAN Symposium on Principles & Practice of Parallel Programming (PPoPP) (1990), pp. 168–176.Google Scholar
  3. 3.
    Brown, T., Jeong, K., Li, B., Talla, S., Wyckoff, P., and Shasha, D.PLinda User Manual., 1997.Google Scholar
  4. 4.
    Butcher, P., Wood, A., and Atkins, M. Global Synchronisation in Linda. Concurrency: Practice and Experience 6, 6 (Sept. 1994), 505–516.Google Scholar
  5. 5.
    Callsen, C. J., Cheng, I., and Hagen, P. L. The AUC C++Linda System. In Linda-Like Systems and Their Implementation, G. Wilson, Ed. Tech. Rep., EPCC TR91-13, Edinburgh Parallel Computing Centre, June 1991, ch. 4, pp. 39–73.Google Scholar
  6. 6.
    Carreira, J., Silva, L., and Silva, J. G. On the design of Eileen: a Linda-like library for MPI. In Proceedings of the 1994 Scalable Parallel Libraries Conference (1995), pp. 175–184.Google Scholar
  7. 7.
    Carriero, N., and Gelernter, D.How To Write Parallel Programs: A First Course. MIT Press, Cambridge, MA, 1990.Google Scholar
  8. 8.
    Carriero, N., and Gelernter, D.Tuple Analysis and Partial Evaluation Strategies in the Linda Precompiler. Research Monographs in Parallel and Distributed Computing. Pitman, London, 1990, ch. 7, pp. 114–125.Google Scholar
  9. 9.
    Ciancarini, P., and Rossi, D. Jada: Coordination and Communication for Java agents. In Mobile Object Systems: Towards the Programmable Internet, J. Vitek and C. Tschudin, Eds., vol. 1222 of Lecture Notes in Computer Science. Springer Verlag, 1997, pp. 213–228.Google Scholar
  10. 10.
    Gamma, E., Helm, R., Johnson, R., and Vlissides, J.Design Patterns. Addison-Wesley, 1995.Google Scholar
  11. 11.
    Gelernter, D. Multiple Tuple Spaces in Linda. In Proceedings PARLE'89: Parallel Architectures and Languages Europe (June 1989), pp. 20–27.Google Scholar
  12. 12.
    Halstead, A. MultiLisp: A Language for Concurrent Symbolic Computation. ACM Transactions on Programming Languages and Systems 7, 4 (1985), 501–538.CrossRefGoogle Scholar
  13. 13.
    Jellinghaus, R. Eiffel Linda: An Object-Oriented Linda Dialect. ACM SIGPLAN Notices 25, 12 (Dec. 1990), 70–84.Google Scholar
  14. 14.
    Kielmann, T. Designing a Coordination Model for Open Systems. In Coordination Languages and Models, First International Conference COORDINATION '96 (1996), P. Ciancarini and C. Hankin, Eds., pp. 267–284.Google Scholar
  15. 15.
    Matsuoka, S., and Kawai, S. Using Tuple-Space Communication in Distributed Object-Oriented Architectures. Proceedings ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA) 23,11 (1988), 276–284.Google Scholar
  16. 16.
    Rowstron, A., and Wood, A. Solving the Linda Multiple rd Problem. In Coordination Languages and Models, First International Conference COORDINATION '96 (1996), P. Ciancarini and C. Hankin, Eds., pp. 357–367.Google Scholar
  17. 17.
    Szafron, D., and Schaeffer, J. An Experiment to Measure the Usability of Parallel Programming Systems. Concurrency: Practice and Experience 8, 2 (1996), 147–166.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Roel van der Goot
    • 1
  • Jonathan Schaeffer
    • 2
  • Gregory V. Wilson
    • 3
  1. 1.Erasmus University RotterdamThe Netherlands
  2. 2.University of AlbertaCanada
  3. 3.Visible DecisionsCanada

Personalised recommendations