ANN: PyLinda 0.2
Mon, 03 May 2004 12:02:53 +0100
By Andrew Wilkinson <aw at cs dot york dot ac dot uk>
Linda is an widely studied distributed computing environment, centred
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.
Full details can be found at the website
The package can be downloaded from
Changes In This Version
- New features
* Patch from Andreas Kostyrka to allow the server to be bound only to
localhost preventing any external connections.
Run as 'linda_server.py -a' to prevent any external access to the server.
* Patch from Andreas Kostyrka to allow limiting the server to certain IP
Run as 'linda_server.py --peer=<dns name/ip address/ip range>' where ip
range is of the form n.n.n.n/r.
- Bug Fixes
* Thanks to Andreas Kostyrka for spotting that printing the universal
tuplespace caused an exception.
* Fixed bug in tuple container that could cause a type error
- Efficency Updates
* Modify the client-side code so messages where the return message from the
server is not important don't block. If another message is sent to the
server before the return message is received then that message blocks.
- Packaging Updates
* Change examples and documentation to install under /usr/share/pylinda
* Set example programs to be marked as executable and have the shebang
lines modified to the local python install.
- Documentation Updates
* Distributed documentation does not now contain the internal structure of
* Moved documentation to a proxy c file which is easier for Doxygen to
* Changed "How To Install" to refer to the website, not my internal cvs
* Added a tutorial
* Better code commenting + a small tidy up