Combining Control and Data Parallelism: Data Parallel Extensions to the Mentat Programming LanguageReport
Control parallelism refers to concurrent execution of different instruction streams. Data parallelism refers to concurrent execution of the same instruction stream on multiple data. There are a number of languages which support control parallelism as well as several which support data parallelism. As yet, there is no language which combines the two. The Mentat Programming Language, MPL, is designed to express control parallelism. While expression of data parallelism is possible, it is awkward and unsupported by the current language features. In this research, we propose a set of data parallel extensions to the MPL. We define a new type of mentat class, the dataparallel mentat class, to complement the existing regular, persistent and sequential mentat classes. In a dataparallel mentat class, the programmer defines the structure of an element and the methods that operate on these elements. These methods are annotated to convey the distribution of the data set and inter and intra data set communication. All other data parallel languages to date simply allow element level parallelism. Our language extensions support subset level parallelism as well. In this work, we present the language design, a description of the implementation model, and the translations of the dataparallel class toMentat's parallel model.
Note: Abstract extracted from PDF text
All rights reserved (no additional license for public reuse)
West, Emily. "Combining Control and Data Parallelism: Data Parallel Extensions to the Mentat Programming Language." University of Virginia Dept. of Computer Science Tech Report (1994).
University of Virginia, Department of Computer Science