Skip to main content

Design and Implementation of a Cost-Optimal Parallel Tridiagonal System Solver Using Skeletons

  • Conference paper
Parallel Computing Technologies (PaCT 2003)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2763))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Cole, M.I.: Algorithmic Skeletons: A Structured Approach to the Management of Parallel Computation. PhD thesis, University of Edinburgh (1988)

    Google Scholar 

  2. López, J., Zapata, E.L.: Unified architecture for divide and conquer based tridiagonal system solvers. IEEE Transactions on Computers 43, 1413–1424 (1994)

    Article  Google Scholar 

  3. Leighton, F.T.: Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publ., San Francisco (1992)

    MATH  Google Scholar 

  4. Quinn, M.J.: Parallel Computing. McGraw-Hill, Inc., New York (1994)

    Google Scholar 

  5. 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)

    Chapter  Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. Gorlatch, S.: Extracting and implementing list homomorphisms in parallel program development. Science of Computer Programming 33, 1–27 (1998)

    Article  MathSciNet  Google Scholar 

  8. 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)

    Chapter  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 

  11. 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)

    Chapter  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 

  13. Herrmann, C.A., Lengauer, C.: HDC: A higher-order language for divide-andconquer. Parallel Processing Letters 10, 239–250 (2000)

    Article  Google Scholar 

  14. Stone, H.S.: An efficient parallel algorithm for the solution of a tridiagonal system of equations. ACM 20, 27–38 (1973)

    Article  MATH  Google Scholar 

  15. Hockney, R.W., Jesshope, C.R.: Parallel Computers. Adam Hilger, Philadelphia (1988)

    MATH  Google Scholar 

  16. Hockney, R.W.: A fast direct solution of poisson’s equation using fourier analysis. JACM 12, 95–113 (1965)

    Article  MathSciNet  MATH  Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. Wang, H.H.: A parallel method for tridiagonal equations. ACM Transactions on Mathematical Software 7, 170–183 (1982)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics