%T The Investigation of Communications Patterns in Occam Programs
%A Rosemary Candlin, Qiangyi Luo, Neil Skilling
%E J. Wexler
%B OUG\-11: Developing Transputer Applications
%X The performance of a concurrent computation running on a
multiprocessor system may depend critically on the way in
which the program is decomposed and placed on the machine.
In order to exploit the potential of parallel processors, it
is necessary to balance the advantage of spreading the
computational load as thinly as possible over the
processors, with the disadvantage that increased
communication delays may slow down the computation. In
general, there is no satisfactory theoretical model of the
complex interaction between the amount of computation
carried out by the individual processes, their frequency of
communication and the topology of the underlying machine.
For many programs, it is not easy to see in advance how
computation will interact with communication, and placement
strategies which depend only on a static analysis of the
program structure may not be sufficient. The work described
here is an attempt to provide useful tools for the occam
programmer which can be used to investigate communications
patterns, and to explore different configurations rapidly.We
think that this approach will be particularly valuable for
programs which can be decomposed in a natural way into a
fairly large number of top\-level occam processes, so that
the preliminary parallelization arises out of the nature of
the application, and the main problem is to place these
processes on a smaller number of physical processors. This
is often the case for programs which model real\-time
systems, and we have taken as an example an application from
chemical engineering. In programs like this, there is
natural concurrency in the real world which can be easily
represented in terms of occam processes. At the moment, we
do not attempt to extract parallelism automatically, or
handle shared data, though there are a number of systems
that have tackled these problems (see, for example  and
). Our main aim at this stage is to provide a programmer
with profiling tools, and see to what extent they can help
to produce an efficient implementation of the program.
If you have any comments on this database, including inaccuracies, requests to remove or add information, or suggestions for improvement, the WoTUG web team are happy to hear of them. We will do our best to resolve problems to everyone's satisfaction.
Copyright for the papers presented in this database normally resides with the authors; please contact them directly for more information. Addresses are normally presented in the full paper.
Pages © WoTUG, or the indicated author. All Rights Reserved.
Comments on these web pages should be addressed to: www at wotug.org