By Andrew Wilkinson <aw at cs dot york dot ac dot uk>
3. Using Linda
4. Known Problems
Linda is an widely studied distributed computing environment, centered
around the notion of a tuple space. A tuple space is a bag (also called a
multi-set) of tuples. A tuple is an ordered, typed chunk of data. Tuple
spaces exist independently of processes in the system, and the data placed
into a tuple space also exist independently. See "Generative communication
in Linda" (1985) and "Multiple tuple spaces in Linda" both by David
Gelernter for more information on Linda.
PyLinda is a simple implementation of a linda system, however it also
includes several of the more recently proposed extensions to Linda in the
form of multiple tuple spaces, garbage collection, sane non-blocking
primitives and bulk tuple operations.
To install simply unpack the tarball, and execute 'python setup.py install'.
PyLinda requires a Python 2.3+ and has only been tested on Linux and
Solaris, however it should be possible for it to other operating systems.
It may be possible for the server and some client programs to run under
Windows, however since it does not support 'fork' several of the included
examples will not work.
3. Using Linda
First a server must be started - 'linda_server.py'.
Then a client program must be started, the simplest is just the python
>>> import linda
If you want to add a new computer to the linda network simply run
'linda_server.p -c<ip address or dns name>' where the computer you supply
is already running a linda server.
4. Known Problems
* The actual implementation is quite slow. The process of storing tuples is
slow and uses a large amount of memory, this could probably be fixed by
rewriting that bit in C.
* No support for the eval primitive.
* Only built in types (and tuplespace references) can be included in
tuples. This will change in the future, and is the subject of my PhD.
* Documentation is very thin and could do with improving. People with some
knowlege of Linda should not have a problem using PyLinda however.
PyLinda is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
PyLinda is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with PyLinda; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Pour des besoins propres, j'ai fait un logiciel qui ressemble à PyLinda. Je
l'ai appelé TPS (Télé-Persistance-Server).
Le principe de focntionnement est assez ressemblant. Par contre j'ai mis
d'autres "connecteurs" : e-mail ; COM (Ole, sous windows) ;
J'ai également ajouté la possibilité "d'exécuter un message" (en fait le
message est alors un script).
Je me sers beaucoup de TPS, que j'installe systématiquement chez tous mes
clients. C'est très pratique pour échanger des informations entre