Subproject RISE-PARACOMP 2002-2005

Composition of parallel software

Subproject members

Christoph Kessler, subproject leader
Mikhail Chalabine, PhD student

This project is continued in the second funding period 2006-2007 as a main activity in the work package RISE-ARECOMP.

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

Publications

For publications based on research in the second funding period, see the page for the RISE-ARECOMP workpackage 2006-2007.

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)