Cost Optimality and Predictability of Parallel Programming with Skeletons

  • Holger Bischof
  • Sergei Gorlatch
  • Emanuel Kitzelmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2790)


Skeletons are reusable, parameterized components with well-defined semantics and pre-packaged efficient parallel implementation. This paper develops a new, provably cost-optimal implementation of the DS (double-scan) skeleton for the divide-and-conquer paradigm. Our implementation is based on a novel data structure called plist (pointed list); implementation’s performance is estimated using an analytical model. We demonstrate the use of the DS skeleton for parallelizing a tridiagonal system solver and report experimental results for its MPI implementation on a Cray T3E and a Linux cluster: they confirm the performance improvement achieved by the cost-optimal implementation and demonstrate its good predictability by our performance model.


Time Complexity Parallel Machine Parallel Implementation Cost Optimality Tridiagonal System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    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)CrossRefGoogle Scholar
  2. 2.
    Bischof, H., Gorlatch, S., Kitzelmann, E.: The double-scan skeleton and its parallelization. Technical Report 2002/06, Technische Universität Berlin (2002)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Cole, M.I.: Algorithmic Skeletons: A Structured Approach to the Management of Parallel Computation. PhD thesis, University of Edinburgh (1988)Google Scholar
  5. 5.
    Cunha, J.C.: Future generations of problem solving environments. In: Proceedings of the IFIP WG 2.5 Conference on the Architecture of Scientific Software (2000)Google Scholar
  6. 6.
    Danelutto, M., Pasqualetti, F., Pelagatti, S.: Skeletons for data parallelism in P3L. In: Lengauer, C., Griebl, M., Gorlatch, S. (eds.) Euro-Par 1997. LNCS, vol. 1300, pp. 619–628. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Danelutto, M., Stigliani, M.: SKElib: parallel programming with skeletons in C. In: Bode, A., Ludwig, T., Karl, W.C., Wismüller, R. (eds.) Euro-Par 2000. LNCS, vol. 1900, pp. 1175–1184. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    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)CrossRefGoogle Scholar
  9. 9.
    Gorlatch, S., Lengauer, C.: Abstraction and performance in the design of parallel programs: overview of the SAT approach. Acta Informatica 36, 761–803 (2000)zbMATHCrossRefGoogle Scholar
  10. 10.
    Herrmann, C.A.: The Skeleton-Based Parallelization of Divide-and-conquer Recursions. PhD thesis (2000) ISBN 3-89722-556-5Google Scholar
  11. 11.
    Herrmann, C.A., Lengauer, C.: HDC: A higher-order language for divide-andconquer. Parallel Processing Letters 10, 239–250 (2000)CrossRefGoogle Scholar
  12. 12.
    Leighton, F.T.: Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann Publ., San Francisco (1992)Google Scholar
  13. 13.
    López, J., Zapata, E.L.: Unified architecture for divide and conquer based tridiagonal system solvers. IEEE Transactions on Computers 43, 1413–1424 (1994)CrossRefGoogle Scholar
  14. 14.
    O’Donnell, J.: Bidirectional fold and scan. In: Functional Programming: Glasgow 1993, Workshops in Computing, pp. 193–200 (1993)Google Scholar
  15. 15.
    Quinn, M.J.: Parallel Computing. McGraw-Hill, Inc., New York (1994)Google Scholar
  16. 16.
    Wang, H.H.: A parallel method for tridiagonal equations. ACM Transactions on Mathematical Software 7, 170–183 (1982)CrossRefGoogle Scholar
  17. 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)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Holger Bischof
    • 1
  • Sergei Gorlatch
    • 1
  • Emanuel Kitzelmann
    • 1
  1. 1.Technical University of BerlinGermany

Personalised recommendations