Design and Implementation of a Cost-Optimal Parallel Tridiagonal System Solver Using Skeletons
We address the problem of systematically designing correct parallel programs and developing their efficient implementations on parallel machines. The design process starts with an intuitive, sequential algorithm and proceeds by expressing it in terms of well-defined, pre-implemented parallel components called skeletons. We demonstrate the skeleton-based design process using the tridiagonal system solver as our example application. We develop step by step three provably correct, parallel versions of our application, and finally arrive at a cost-optimal implementation in MPI (Message Passing Interface). The performance of our solutions is demonstrated experimentally on a Cray T3E machine.
Unable to display preview. Download preview PDF.
- 1.Cole, M.I.: Algorithmic Skeletons: A Structured Approach to the Management of Parallel Computation. PhD thesis, University of Edinburgh (1988)Google Scholar
- 4.Quinn, M.J.: Parallel Computing. McGraw-Hill, Inc., New York (1994)Google Scholar
- 9.Bischof, H., Gorlatch, S., Kitzelmann, E.: The double-scan skeleton and its parallelization. Technical Report 2002/06, Technische Universität Berlin (2002)Google Scholar
- 10.Pelagatti, S.: Structured development of parallel programs. Taylor&Francis, London (1998)Google Scholar
- 12.Breitinger, S., Loogen, R., Ortega-Mallén, Y., Peña, R.: The Eden coordination model for distributed memory systems. In: High-Level Parallel Programming Models and Supportive Environments (HIPS). IEEE Press, Los Alamitos (1997)Google Scholar