Linköpings universitet's sign

Mikhail Chalabine / Research

Composition of parallel software

Project members

Christoph Kessler
Mikhail Chalabine

Project 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. 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.

Acknowledgment

This project is part of the RISE project at PELAB, IDA, Linköpings universitet, and supported by SSF.