Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Cole, M.I.: Algorithmic Skeletons: A Structured Approach to the Management of Parallel Computation. PhD thesis, University of Edinburgh (1988)
López, J., Zapata, E.L.: Unified architecture for divide and conquer based tridiagonal system solvers. IEEE Transactions on Computers 43, 1413–1424 (1994)
Leighton, F.T.: Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publ., San Francisco (1992)
Quinn, M.J.: Parallel Computing. McGraw-Hill, Inc., New York (1994)
Gorlatch, S.: Systematic efficient parallelization of scan and other list homomorphisms. In: Fraigniaud, P., Mignotte, A., Robert, Y., Bougé, L. (eds.) Euro-Par 1996. LNCS, vol. 1124, pp. 401–408. Springer, Heidelberg (1996)
Gorlatch, S., Bischof, H.: A generic MPI implementation for a data-parallel skeleton: Formal derivation and application to FFT. Parallel Processing Letters 8, 447–458 (1998)
Gorlatch, S.: Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming 33, 1–27 (1998)
Bischof, H., Gorlatch, S.: Double-scan: Introducing and implementing a new dataparallel skeleton. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 640–647. Springer, Heidelberg (2002)
Bischof, H., Gorlatch, S., Kitzelmann, E.: The double-scan skeleton and its parallelization. Technical Report 2002/06, Technische Universität Berlin (2002)
Pelagatti, S.: Structured development of parallel programs. Taylor&Francis, London (1998)
Botorog, G., Kuchen, H.: Efficient parallel programming with algorithmic skeletons. In: Fraigniaud, P., Mignotte, A., Bougé, L., Robert, Y. (eds.) Euro-Par 1996. LNCS, vol. 1123, pp. 718–731. Springer, Heidelberg (1996)
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)
Herrmann, C.A., Lengauer, C.: HDC: A higher-order language for divide-andconquer. Parallel Processing Letters 10, 239–250 (2000)
Stone, H.S.: An efficient parallel algorithm for the solution of a tridiagonal system of equations. ACM 20, 27–38 (1973)
Hockney, R.W., Jesshope, C.R.: Parallel Computers. Adam Hilger, Philadelphia (1988)
Hockney, R.W.: A fast direct solution of poisson’s equation using fourier analysis. JACM 12, 95–113 (1965)
Wang, X., Mou, Z.: A divide-and-conquer method of solving tridiagonal systems on hypercube massively parallel computers. In: Proceedings of the Third IEEE Symposium on Parallel and Distributed Processing, pp. 810–816. IEEE Computer Society Press, Los Alamitos (1991)
Wang, H.H.: A parallel method for tridiagonal equations. ACM Transactions on Mathematical Software 7, 170–183 (1982)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bischof, H., Gorlatch, S., Kitzelmann, E. (2003). Design and Implementation of a Cost-Optimal Parallel Tridiagonal System Solver Using Skeletons. In: Malyshkin, V.E. (eds) Parallel Computing Technologies. PaCT 2003. Lecture Notes in Computer Science, vol 2763. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-45145-7_39
Download citation
DOI: https://doi.org/10.1007/978-3-540-45145-7_39
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-40673-0
Online ISBN: 978-3-540-45145-7
eBook Packages: Springer Book Archive