A Transformation Approach to Derive Efficient Parallel Implementations
IEEE Transactions on Software Engineering - Special issue on architecture-independent languages and software tools parallel processing
Introduction of Static Load Balancing in Incremental Parallel Programming
Euro-Par '01 Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing
Parallel and Distributed Haskells
Journal of Functional Programming
Hi-index | 0.00 |
A large number of numerical algorithms exhibit a two-level structure with both method parallelism and system parallelism. This structure can be exploited to produce alternative parallel implementations on distributed memory machines. The compiler system TwoL (Two L}evel) provides interactive and semiautomatic support for the design and realization of efficient parallel algorithms in this two-level parallel programming model. The design is structured into well-defined decision steps which are formalized in a TwoL specification language, and transformations on this language. We show how the design steps lead to a parallel algorithm, how the design is formalized in the TwoL system, how this compiler system is realized, and which algorithms are amenable to automated decision steps. Design or derivation steps are based on parameterized cost functions arising from runtime predictions for the specific parallel target machine. The design process is illustrated by the parallelization of several methods from the area of differential equations.