Definition
Linda [1] is a coordination language for parallel and distributed computing, invented by David Gelernter and first implemented by Nicholas Carriero. Work on Linda was initially done at SUNY Stony Brook and continued at Yale University. Linda uses tuple spaces as the mechanism for communication, coordination, and process control. The goal is to provide a tool that makes it simple to develop parallel programs that are easy to understand, portable and efficient.
Discussion
Introduction
Linda is a coordination language concerned with issues related to parallelism and distributed computing, such as communication of data, coordination of activities, and creation and control of new threads/processes. Linda is not concerned with other programming language issues such as control structures (testing, looping), file I/O, variable declaration, etc. Thus, it is orthogonal to issues of traditional programming languages, and is normally embedded in a sequential language such as C, Fortran,...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Bibliography
Gelernter D (1985) Generative communication in Linda. ACM Trans Program Lang Syst 7(1):80–112
Wirth N (1976) Algorithms [plus] data structures. Prentice-Hall, Englewood Cliffs
Jeong K, Shasha D (1994) PLinda 2.0: A transactional/checkpointing approach to fault tolerant Linda. In: 13th symposium on reliable distributed systems, Dana Point, pp 96–105
Carriero N (1987) Implementation of tuple space machines. Technical Report. Department of Computer Science, Yale University
Bjornson RD (1993) Linda on distributed memory multiprocessors. PhD dissertation, Deparment of Computer Science, Yale University
Freeman E, Arnold K, Hupfer S (1999) JavaSpaces principles, patterns, and practice. Addison-Wesley Longman, Reading
Gigaspaces Technologies Ltd. [cited; Available from: www.gigaspaces.com]
TSpaces. [cited; Available from: http://www.almaden.ibm.com/cs/TSpaces]
Bjornson R et al (2009) NetWorkSpace: a coordination system for high-productivity environments. Int J Parallel Program 37(1):106–125
Bercovitz P, Carriero N (1990) TupleScope: a graphical monitor and debugger for Linda-based parallel programs. Technical Report. Department of Computer Science, Yale University
Carriero N et al (1995) Adaptive parallelism and Piranha. IEEE Comput 28(1):40–49
Bonachea D, Duell J (2004) Problems with using MPI 1.1 and 2.0 as compilation targets for parallel language implementations. Int J High Perform Comput Network 1(1/2/3):91–99
Top 500 Supercomputing sites. [cited; Available from: www.top500.org]
Steele GL, Sussman GJ (1975) Scheme: An interpreter for extended lambda calculus.Massachusetts Institute of Technology, Artificial Intelligence Laboratory. http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-349.pdf
Dijkstra EW (2002) Cooperating sequential processes. In: Per Brinch Hansen (ed) The origin of concurrent programming: from semaphores to remote procedure calls. Springer, New York, pp 65–138
Halstead Jr RH (1985) Multilisp: A language for concurrent symbolic computation. TOPLAS 7(4):501–538
Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677
Shapiro E (1988) Concurrent prolog: a progress report. In: Concurrent prolog. MIT Press, Cambridge, pp 157–187
Gelernter D, Carriero N (1992) Coordination languages and their significance. Commun ACM 35(2):97–107
Bjornson R, Carriero N, Gelernter D (1997) From weaving threads to untangling the web: a view of coordination from Linda’s perspective. In: Proceedings of the second international conference on coordination languages and models, Springer, New York
Carriero N, Gelernter DH (1990) How to write parallel programs: a first course. MIT Press, Cambridge, Massachusetts; London, 232 pp
Garlan D, Le Metayer D (1997) Coordination: languages and models. Springer, Berlin
Ciancarini P, Hankin C (1996) Coordination languages and models. Springer, Berlin
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
Bjornson, R. (2011). Linda. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_233
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_233
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering