Safer tuple spaces
- 109 Downloads
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.
KeywordsGlobal Memory Access Pattern Strong Typing Programming Error Tuple Space
Unable to display preview. Download preview PDF.
- 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.Brown, T., Jeong, K., Li, B., Talla, S., Wyckoff, P., and Shasha, D.PLinda User Manual. http://merv.cs.nyu.edu:8001/-binli/plinda/manual.ps, 1997.Google Scholar
- 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.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.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.Carriero, N., and Gelernter, D.How To Write Parallel Programs: A First Course. MIT Press, Cambridge, MA, 1990.Google Scholar
- 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.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.Gamma, E., Helm, R., Johnson, R., and Vlissides, J.Design Patterns. Addison-Wesley, 1995.Google Scholar
- 11.Gelernter, D. Multiple Tuple Spaces in Linda. In Proceedings PARLE'89: Parallel Architectures and Languages Europe (June 1989), pp. 20–27.Google Scholar
- 13.Jellinghaus, R. Eiffel Linda: An Object-Oriented Linda Dialect. ACM SIGPLAN Notices 25, 12 (Dec. 1990), 70–84.Google Scholar
- 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.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.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