The implementation of Linda In C and associated problems

Date of Award


Degree Type


Degree Name

Bachelor of Applied Sciences Honours


Faculty of Science and Technology

First Advisor

Geoff Sutcliffe


The parallel paradigm is accepted as playing a role of ever increasing importance. As expressed by Andrews (1975) quoted in Gelernter (1985, p. 80), there are "three basic kinds of mechanism, and three corresponding models of concurrent programming: monitors (shared variables), messages passing, and remote operations." The Linda model, first defined in 1983 by David Gelernter, represents a new fourth model. Linda provides "mechanisms for inter-process communication, process creation, and inter-process synchronisation" (Berndt, 1989, p. 1), in the form of six Linda operators, that are injected into a host language producing a parallel dialect of the host language. Processes communicate and synchronise by adding to, reading, and possibly removing "information structured as tuples" (Yuen and Wong, 1990, p. 2) from a common data area called the tuple space. The programming language C was originally designed by Dennis Ritchie. Like Linda it is very simple in its design. C compilers for different machine architectures are widely available. Furthermore, as Kerninghan and Ritchie (1988, p. xi) point out, "C is not tied to any particular hardware or system”. These two factors make systems written in C portable. This thesis describes the embedding of Linda into C resulting in DOS-C-Linda. DOS-C-Linda is targeted for an environment of PC's (Personal Computers) running DOS (Disk Operating System) linked by a LAN (Local Area Network) accessed through NetBlOS. The Linda operators are injected via a Linda library. The tuple space and PC's where processes created by the process operators may be run, are provided by the DOS-C-Linda Machine. The DOS-C-Linda Machine consists of a Tuple Server and multiple Client Shells, each on a separate PC connected to a LAN. The Tuple Server provides and manages the tuple space and the DOS-C-Linda Machine. A performance analysis of DOS-C-Linda reveals that applications using DOS-C-Linda can show the same performance gains that applications using Linda running on specialised hardware and software have shown. Two applications have been implemented using DOS-C·Linda. The first application is the dining philosophers problem posed by Dijkstra, the second a parallel genetic algorithm.

Access Note

Access to this thesis is restricted to current ECU staff and students. Email request to library@ecu.edu.au

Access to this thesis is restricted. Please see the Access Note below for access details.