RISE-PARACOMP subproject
Composition of parallel software
Subproject members
Christoph Kessler, subproject leader
Mikhail Chalabine, PhD student
Subproject description
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 
algorithms developed 
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
developed in
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.
Subproject plan
- 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
    and NestStep
    as parallel language platform.
Subproject status
Publications
- [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.
Acknowledgment
This subproject is part of the RISE project at PELAB, IDA, Linköpings universitet,
and supported by 
SSF.
 
Christoph Kessler (chrke \at ida.liu.se)