Nested parallelism in parallels paradigms - Piccoli, María Fabiana (2000)
Data parallelislm is one of the more successful efforts to introduce explicit parallelism to high level programming languages. This approach is taken because many useful computations can be framed in term of a set of independent sub-computation, each strongly associated with an element of a large data structure. Such computations are inherently parallelizable. Dala parallell programming is particularly convenient for two reasons. The first is its case of programming and the second is that it can scale easily to larger problem sizes. Several data parallel language implementations now exists. However, almost all discussion of data parallelism were limited to the simplest and least expressive form: unstructured data parallelism (flat). Many other generalizalions of the data parallel model have been proposed, which permit the nesling of data parallel constructors to specify parallel computation across nested and irregular data structures. These language implementations include the capability of nesled parallel invocations, combining the facility of programming on a data parallel model with the efficiency in the execution on irregular data structures of the task parellel model.