Composition of parallel software
Christoph Kessler, subproject leader
Mikhail Chalabine, PhD student
Writing programs for parallel computers is a complex and error-prone task.
Often it is not sufficient to simply parallelize some loops in an already
existing sequential program. On the other hand, most explicitly parallel
so far are based on only a few basic parallel algorithmic techniques
such as data parallelism, task farming,
parallel divide-and-conquer, pipelining etc., and some formalizations
of these in the form of
algorithmic skeletons are currently
being developed in several
projects world-wide. However, skeletons are
usually implemented just as generic parallel subroutines,
i.e., black-box components that can be parameterized in user code.
Beyond the algorithmic and the parallelization aspects,
further aspects such as data locality
must be taken into account to write efficient parallel code.
In this project, we investigate how the invasive software composition approach
the RISE project
can be applied to the composition of parallel programs
from separate specifications of (sequential) user code, parallel algorithmic
paradigms, and data distributions, in an elegant and efficient way, and
thereby develop an alternative to skeleton programming.
- Phase 1: Case studies in parallel programming [C21];
studies of foundations of parallel algorithms and skeleton programming.
- Phase 2: Design of a system for parallel software composition.
Limitation to a few parallel algorithmic paradigms (such as data parallelism
and parallel divide-and-conquer) and a few array distribution strategies.
- Phase 3: Implementation, probably using
COMPOST as weaving tool
as parallel language platform.
- [C21] Optimising Intensive Interprocess Communication in a
Parallelised Telecommunication Traffic Simulator
M. Chalabine, C.W. Kessler, S. Wiklund
Proc. HPC-2003 High-Performance Computing (track of the Advanced Simulation
Technology Conference), Orlando, Florida, USA, April 2003.
This subproject is part of the RISE project at PELAB, IDA, Linköpings universitet,
and supported by
Christoph Kessler (chrke \at ida.liu.se)