Subject: What exactly is LINDA

From: [email-masked]
Date: Wed, 29 Dec 1999 10:31:43 +0100 (MET)

What (exactly) is LINDA? Is it (merely) a message-passing library
a la PVM or MPI with a user-interface simulating a virtual shared
memory? What are you really paying for if you buy LINDA?

LINDA is known to me only in the context of parallel GAUSSIAN, so what
is the advantage of LINDA over PVM or MPI or other portable and
more-or-less standardized message passing systems? -- Does the combination
GAUSSIN/LINDA beat alternative implementations (e.g. with PVM) in terms
of speed or ease-of-use?

---------------------------+------------------------------------------------
Christoph van Wullen       | Fon (University):  +49 234 32 26485
Theoretical Chemistry      | Fax (University):  +49 234 32 14109
Ruhr-Universitaet          | Fon/Fax (private): +49 234 33 22 75 
D-44780 Bochum, Germany    | eMail: [email-masked]
---------------------------+------------------------------------------------

---

From: "Mattson, Timothy G" <[email-masked]>
Date: Wed, 29 Dec 1999 14:30:56 -0800

Linda is NOT just another message passing programming environment. 

Linda is a coordination language for parallel programming.  It is based on
the generative communication model proposed by David Gelernter and first
implemented by Nick Carriero -- both of Yale University.  It is (in my only
slightly biased opinion) one of the most elegant and effetive parallel
programming models available.

With Linda, processes interacts through 6 operations that write and read a
virtual shared memory called a tuple space.   These 6 operations are added
to a standard sequential programming language (C and Fortran --- I don't
know if they've got C++ done yet) to give you one of the simplest parallel
programming environments you can find. 

How about efficiency?  Well, using very clever compile time analysis (fully
described in Nick Carriero's Ph.D. dissertation and partially described in
one of my Linda papers -- "The efficiency of Linda for general purpose
Scientific Computing",
Scientific Programming, vol 3, p. 61 (1994)) the overhead due to management
of the tuple space is largely eliminated.  The result is that for many
applications, Linda performs as well as MPI or PVM. 

So to the programmer, Linda can be a God-send.  To the user of a parallel
program written by someone else, however, it doesn't make any significant
difference if a program was parallelized with Linda, PVM or MPI.  Its pretty
much all the same.

If you have further questions (or better yet, disagreements --- I love
contorversy), feel free to email me.

--Tim Mattson 

P.S. In the spirit of full disclosure, I used to work with Scientific
Computing Associates.  I left just as the Gaussian project was getting off
the ground.

P.P.S. Of course, these opinions are my own and in now way reflect the view
of my current employer.

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]]
Sent: Wednesday, December 29, 1999 1:32 AM
To: [email-masked]
Subject: CCL:What exactly is LINDA

-= This is automatically added to each message by mailing script =-
[email-masked] -- To Everybody    |   [email-masked] -- To
Admins
[email-masked] -- HELP CHEMISTRY or HELP SEARCH
[email-masked] -- archive search    |    Gopher: gopher.ccl.net 70
Ftp: ftp.ccl.net  |  WWW: http://www.ccl.net/chemistry/   | Jan: [email-masked]