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.


Argonne National Laboratory / fortran-m@mcs.anl.gov