Integrating Task and Data Parallelism
Task and data parallelism are often considered mutually exclusive
approaches to parallel programming. Yet many applications can benefit
from both forms of parallelism. This is the case in so-called
multidisciplinary simulation, in which a computer model of a complex
physical system (such as an aircraft or the earth's climate) is
constructed from models of system components. A parallel
implementation of such a system requires the ability to coordinate the
execution of dissimilar (and possibly data-parallel) simulations.
Similarly, many image-processing applications can be structured as
pipelines of data-parallel operations.
The development of integrated task/data parallel programming systems
introduces challenging technical issues in the areas of language
design, compilation, and run-time system design, which we are
investigating in our research. This page will eventually provide more
information about this work, some of which is performed in
collaboration with Caltech, Syracuse University, and Rice University.
For now, we provide a pointer to a repository of
information concerning the integration of task and data
parallelism.