Publisher Summary Parallel applications in the area of scientific computing are often designed in a data parallel SPMD (single program multiple data) style based on the MPI (message passing interface) standard. The advantage of this method is a clear programming model but on large parallel platforms or cluster systems, the speedup and scalability can be limited especially when collective communication operations are used frequently. The combination of task and data parallelism can improve the scalability of many applications but requires a more intricate program development. The combination of task and data parallelism can lead to an improvement of speedup and scalability for parallel applications on distributed memory machines. To support a systematic design of mixed task and data parallel programs, the TwoL model has been introduced. A key feature of this model is the development support for applications, using multiprocessor tasks on top of data parallel modules. This chapter discusses implementation issues of the TwoL model as an open framework. It focuses on the design of the framework and its internal algorithms and data structures. As examples, fast parallel matrix multiplication algorithms are discussed to illustrate the applicability of approach.
[1]
Hans-Wolfgang Loidl,et al.
Parallel and Distributed Haskells
,
2002,
Journal of Functional Programming.
[2]
David B. Skillicorn,et al.
Coordinating Programs in the Network of Tasks Model
,
2001,
J. Syst. Integr..
[3]
Thomas Rauber,et al.
The compiler TwoL for the design of parallel implementations
,
1996,
Proceedings of the 1996 Conference on Parallel Architectures and Compilation Technique.
[4]
Thomas Rauber,et al.
A Transformation Approach to Derive Efficient Parallel Implementations
,
2000,
IEEE Trans. Software Eng..
[5]
Henk Sips,et al.
A Unified Compiler Framework for Work and Data Placement
,
2001
.
[6]
Matthew Haines,et al.
Approaches for integrating task and data parallelism
,
1998,
IEEE Concurr..
[7]
John A. Chandy,et al.
The Paradigm Compiler for Distributed-Memory Multicomputers
,
1995,
Computer.
[8]
V. Strassen.
Gaussian elimination is not optimal
,
1969
.
[9]
K. Mani Chandy,et al.
Fortran M: A Language for Modular Parallel Programming
,
1995,
J. Parallel Distributed Comput..
[10]
Jaspal Subhlok,et al.
A new model for integrated nested task and data parallel programming
,
1997,
PPOPP '97.