The Linda Machine

  • Venkatesh Krishnaswamy
  • Sudhir Ahuja
  • Nicholas Carriero
  • David Gelernter


The Linda Machine is a parallel computer that has been designed to support the Linda parallel programming environment in hardware. Programs in Linda communicate through a logically shared, associative memory called tuple space. Physically-shared memory seems, however, to be a more complicated and less scalable basis for a multi-computer architecture than distributed memory, and the goal of the Linda Machine project is accordingly to implement Linda’s high-level shared-memory abstraction efficiently on a non-shared-memory architecture. We describe the machine’s special-purpose communication network and its associated protocols, the design of the Linda coprocessor and the way its interaction with the network supports global access to tuple space. The Linda Machine has been designed and is the process of fabrication. We discuss the machine’s projected performance and compare this with software versions of Linda.


Shared Memory Tuple Space Shared Memory System Computation Processor Operation Controller 
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. [Ah83]
    S. Ahuja, “S/Net: A high speed interconnect for multiple computers,” IEEE Selected Areas in Communication, pp751–756, Nov. 1983.Google Scholar
  2. [ACG86]
    S. Ahuja, N. Carriero, D. Gelernter, “Linda and Friends,” IEEE Computer, pp110–129, May 1986.Google Scholar
  3. [GKI85]
    J.R. Gurd, C.C. Krikham, I. Watson, “The Manchester Prototype Dataflow Computer,” Communications of the ACM, vol. 28, no. 1, January 1985.Google Scholar
  4. [ACGK87]
    S.R. Ahuja, N. Carriero, D. Gelernter and V. Krishnaswamy, “The Linda Machine”, Yale University Tech. Report, 1987.Google Scholar
  5. [AGP78]
    Arvind, K.P. Gostelow and W. Plouffe, “An Asynchronous Language and Computing Machine,” TR1Lia University of California, Irvine, January 1978.Google Scholar
  6. [BD86]
    P. Bitar and A. Despain, “Multiprocessor Cache Synchronization — Issues, Innovations, Evolution,” Proceedings, 13th Annual Intl. Symposium on Computer Architecture, pp 424–433, 1986.Google Scholar
  7. [BCG87]
    R. Bjornson, N. Carriero and D. Gelernter, “Linda on Distributed Memory Sytems,” Proc. 1988 Workshop on Hypercube Multiprocessors, to appear.Google Scholar
  8. [BSUH87]
    W.R. Bush, A.D. Samples, D. Ungar and P.N. Hillfinger, “ Compiling Smalltalk-80 on to a RISC,” Proceedings, 2nd Intl. Conf. on Architectural Support for Prog. Languages and Operating Systems, pp112–116, October 1987.Google Scholar
  9. [Ca87]
    N. Carriero, “Implementing Taple Space Machines,” PhD thesis, Yale University.Google Scholar
  10. [CG86]
    N. Carriero, D. Gelernter, “The S/Net’s Linda kernel,” ACM Trans. on Computer Systems, pp110–129, May 1986.Google Scholar
  11. [CGL86]
    N. Carriero, D. Gelernter, J. Leichter “Distributed Data Structures in Linda,” Proc. ACM Symp. on Principles of Prog. Lang., Jan 1986.Google Scholar
  12. [D87]
    W.J. Dally, L. Chao, A. Chien, S. Hassoun, W. Horwat, J. Kaplan, P. Song, B. Totty and S. Wills, “Architecture of a Message Driven Processor,” Proceedings, 14th Annual Intl. Symposium on Computer Architecture, pp 189–196, 1987.Google Scholar
  13. [F83]
    A.L. Fisher, H.T. Kung, L.M. Monier, H. Walker and Y. Dohi, “Design of the PSC: A Programmable Systolic Chip,” Proceedings of the Third Caltech Conference on Very Large Scale Integration, March 1983.Google Scholar
  14. [1185]
    D. Hillis, “The Connection Machine,” The ACM Distinguished Dissertation Series, MIT Press, 1985.Google Scholar
  15. [Ge184]
    D. Gelernter, “Dynamic global name spaces on network computers,” Proc. Intl. Conf. on Parallel Processing, pp25–31, Aug. 1984.Google Scholar
  16. [G82]
    A. Gottlieb, R. Grishman, C.P. Kruskal, K.P. McAuliffe, L. Rudolph and M. Snir, “The NYU Ultrcomputer - Designing an MIMD Shared Memory Parallel Computer,” Proceedings, 9th Annual Intl. Symposium on Computer Architecture, pp 27–42, 1982.Google Scholar
  17. [M85]
    D.A. Moon, “Architecture of the Symbolics 3600,” Proceedings, 12th Annual Intl. Symposium on Computer Architecture, pp 76–83, 1985.Google Scholar
  18. [Lu86]
    S. Lucco, “A heuristic Linda kernel for hypercube multiprocessors,” Proc. 1986 Workshop on Hypercube Multiprocessors, Sept. 1986.Google Scholar
  19. [W85]
    C. Whitby-Strevens, “The Transputer,” Proceedings, 12th Annual Intl. Symposium on Computer Architecture, pp 292–300, 1985.Google Scholar
  20. [W87]
    M.J. Wise “Prolog Multiprocessors,” Prentice-Hall, Australia, (in press).Google Scholar

Copyright information

© Plenum Press, New York 1988

Authors and Affiliations

  • Venkatesh Krishnaswamy
    • 1
  • Sudhir Ahuja
    • 2
  • Nicholas Carriero
    • 1
  • David Gelernter
    • 1
  1. 1.Department of Computer ScienceYale UniversityNew HavenUSA
  2. 2.AT&T Bell LabsHolmdelUSA

Personalised recommendations