Skip to main content
  • 102 Accesses

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,...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Bibliography

  1. Gelernter D (1985) Generative communication in Linda. ACM Trans Program Lang Syst 7(1):80–112

    Article  MATH  Google Scholar 

  2. Wirth N (1976) Algorithms [plus] data structures. Prentice-Hall, Englewood Cliffs

    Google Scholar 

  3. 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

    Google Scholar 

  4. Carriero N (1987) Implementation of tuple space machines. Technical Report. Department of Computer Science, Yale University

    Google Scholar 

  5. Bjornson RD (1993) Linda on distributed memory multiprocessors. PhD dissertation, Deparment of Computer Science, Yale University

    Google Scholar 

  6. Freeman E, Arnold K, Hupfer S (1999) JavaSpaces principles, patterns, and practice. Addison-Wesley Longman, Reading

    Google Scholar 

  7. Gigaspaces Technologies Ltd. [cited; Available from: www.gigaspaces.com]

  8. TSpaces. [cited; Available from: http://www.almaden.ibm.com/cs/TSpaces]

  9. Bjornson R et al (2009) NetWorkSpace: a coordination system for high-productivity environments. Int J Parallel Program 37(1):106–125

    Article  MATH  Google Scholar 

  10. Bercovitz P, Carriero N (1990) TupleScope: a graphical monitor and debugger for Linda-based parallel programs. Technical Report. Department of Computer Science, Yale University

    Google Scholar 

  11. Carriero N et al (1995) Adaptive parallelism and Piranha. IEEE Comput 28(1):40–49

    Article  Google Scholar 

  12. 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

    Article  Google Scholar 

  13. Top 500 Supercomputing sites. [cited; Available from: www.top500.org]

  14. 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

  15. 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

    Google Scholar 

  16. Halstead Jr RH (1985) Multilisp: A language for concurrent symbolic computation. TOPLAS 7(4):501–538

    Article  MATH  Google Scholar 

  17. Hoare CAR (1978) Communicating sequential processes. Commun ACM 21(8):666–677

    Article  MATH  MathSciNet  Google Scholar 

  18. Shapiro E (1988) Concurrent prolog: a progress report. In: Concurrent prolog. MIT Press, Cambridge, pp 157–187

    Google Scholar 

  19. Gelernter D, Carriero N (1992) Coordination languages and their significance. Commun ACM 35(2):97–107

    Article  Google Scholar 

  20. 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

    Google Scholar 

  21. Carriero N, Gelernter DH (1990) How to write parallel programs: a first course. MIT Press, Cambridge, Massachusetts; London, 232 pp

    Google Scholar 

  22. Garlan D, Le Metayer D (1997) Coordination: languages and models. Springer, Berlin

    Book  Google Scholar 

  23. Ciancarini P, Hankin C (1996) Coordination languages and models. Springer, Berlin

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics