Title :
Braid: integrating task and data parallelism
Author :
West, Emily A. ; Grimshaw, Andrew S.
Author_Institution :
Dept. of Comput. Sci., Virginia Univ., Charlottesville, VA, USA
Abstract :
Archetype data parallel or task parallel applications are well served by contemporary languages. However, for applications containing a balance of task and data parallelism the choice of language is less clear. While there are languages that enable both forms of parallelism, e.g., one can write data parallel programs using a task parallel language, there are few languages which support both. We present a set of data parallel extensions to the Mentat Programming Language (MPL) which allow us to integrate task parallelism, data parallelism, and nested task and data parallelism within a single language on top of a single run time system. The result is an object-oriented language, Braid, that supports both task and data parallelism on MIMD machines. In addition, the data parallel extensions define a language in and of itself which makes a number of contributions to the data parallel programming style. These include subset-level operations (a more general notion of element-level operations), compiler provided iteration within a data parallel data set and the ability to define complex data parallel operations
Keywords :
object-oriented languages; parallel languages; parallel programming; Braid; Mentat Programming Language; data parallel programs; data parallelism; nested task; object-oriented language; single run time system; subset-level operations; task parallel language; task parallelism; task/data parallelism integration; Application software; Atmospheric modeling; Computer languages; Computer science; Convolution; Object oriented modeling; Parallel languages; Parallel processing; Parallel programming; Pipelines;
Conference_Titel :
Frontiers of Massively Parallel Computation, 1995. Proceedings. Frontiers '95., Fifth Symposium on the
Conference_Location :
McLean, VA
Print_ISBN :
0-8186-6965-9
DOI :
10.1109/FMPC.1995.380446