Skip to main content

A Preliminary Nested-Parallel Framework to Efficiently Implement Scientific Applications

  • Conference paper
High Performance Computing for Computational Science - VECPAR 2004 (VECPAR 2004)

Abstract

Nested-parallel programming models, where the task graph associated to a computation is series-parallel, present good analysis properties that can be exploited for scheduling, cost estimation or automatic mapping to different architectures.

In this work we present a preliminary framework approach to exploit some of these advantages. In our framework we reconstruct an application task graph from a high-level specification, where no scheduling or communication details are yet expressed. The obtained synchronization structure determines which mapping modules or back-ends are used to port the application to an specific platform.

The first results obtained with our prototype show that even simple balancing techniques for irregular scientific applications may be easily integrated in this nested-parallel framework, to obtain efficient implementations from high-level and portable specifications.

Topic: Parallel and Distributed Computing.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. In: Proc. Annual Symp. on FoCS, November 1994, pp. 356–368 (1994)

    Google Scholar 

  2. Bonorden, O., Juurlink, B., von Otte, I., Rieping, I.: The Paderborn University BSP (PUB) library - design, implementation, and performance. In: Proc. IPPS/SPDP 1999, San Juan, Puerto Rico, April 1999, IEEE Computer Society, New York (1999)

    Google Scholar 

  3. Cole, M.: Frame: An imperative coordination language for parallel programming. Technical Report EDI-INF-RR-0026, Div. Informatics, Univ. of Edinburgh (September 2000)

    Google Scholar 

  4. Darlington, J., Guo, Y., To, H.W., Yang, J.: Functional skeletons for parallel coordination. In: Europar 1995. LNCS, pp. 55–69 (1995)

    Google Scholar 

  5. Dorta, A.J., González, J.A., Rodríguez, C., de Sande, F.: Llc: A parallel skeletal language. Parallel Processing Letters 13(3), 437–448 (2003)

    Article  MathSciNet  Google Scholar 

  6. <eXpat/>. The Expat XML parser. WWW, http://expat.sourceforge.net/

  7. Finta, L., Liu, Z., Milis, I., Bampis, E.: Scheduling UET–UCT series–parallel graphs on two processors. Theoretical Computer Science 162, 323–340 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  8. Gelernter, D., Carriero, N.: Coordination languages and their significance. Communications of the ACM 35(2), 97–107 (1992)

    Article  Google Scholar 

  9. van Gemund, A.J.C.: The importance of synchronization structure in parallel program optimization. In: Proc. 11th ACM ICS, Vienna, July 1997, pp. 164–171 (1997)

    Google Scholar 

  10. González-Escribano, A., van Gemund, A.J.C., Cardeñoso, V.: Predicting the impact of implementation level aspects on parallel application performance. In: CPC 2001 Ninth Int. Workshop on Compilers for Parallel Computing, Edinburgh, Scotland, UK, June 2001, pp. 367–374 (2001)

    Google Scholar 

  11. González-Escribano, A., van Gemund, A.J.C., Cardeñoso-Payo, V.: Mapping unstructured applications into nested parallelism. In: Palma, J.M.L.M., Sousa, A.A., Dongarra, J., Hernández, V. (eds.) VECPAR 2002. LNCS, vol. 2565, pp. 93–104. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  12. Gorlatch, S.: Send-Recv considered harmful? myths and truths about parallel programming. In: Malyshkin, V.E. (ed.) PaCT 2001. LNCS, vol. 2127, pp. 243–257. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Kessler, C.W.: NestStep: nested parallelism and virtual shared memory for the BSP model. In: Int. Conf. on Parallel and Distributed Processing Techniques and Applications (PDPTA 1999), Las Vegas (USA), (June-July 1999)

    Google Scholar 

  14. Lodaya, K., Weil, P.: Series-parallel posets: Algebra, automata, and languages. In: Meinel, C., Morvan, M. (eds.) STACS 1998. LNCS, vol. 1373, pp. 555–565. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  15. National Institute of Standards and Technology (NIST). Matrix Market. WWW (2002), On, http://math.nist.gov/MatrixMarket/

  16. Sahner, R.A., Trivedi, K.S.: Performance and reliability analysis using directed acyclic graphs. IEEE Trans. on Software Eng. 13(10), 1105–1114 (1987)

    Article  Google Scholar 

  17. Salamon, A.Z.: Task Graph Performance Bounds Through Comparison Methods. MSc. Thesis, Fac. of Science, Univ. of the Witwatersrand, Johannesburg (January 2001)

    Google Scholar 

  18. Schloegel, K., Karypis, G., Kumar, V.: CRPC Parallel Computing Handbook. In: Chapter Graph Partitioning for High Performance Scientific Simulations. Morgan Kaufmann, San Francisco (2000)

    Google Scholar 

  19. Skillicorn, D.B.: A cost calculus for parallel functional programming. Journal of Parallel and Distributed Computing 28, 65–83 (1995)

    Article  MATH  Google Scholar 

  20. Skillicorn, D.B., Talia, D.: Models and languages for parallel computation. ACM Computing Surveys 30(2), 123–169 (1998)

    Article  Google Scholar 

  21. Valdés, J., Tarjan, R.E., Lawler, E.L.: The recognition of series parallel digraphs. SIAM Journal of Computing 11(2), 298–313 (1982)

    Article  MATH  Google Scholar 

  22. Valiant, L.G.: A bridging model for parallel computation. Comm. ACM 33(8), 103–111 (1990)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

González-Escribano, A., van Gemund, A.J.C., Cardeñoso-Payo, V., Portales-Fernández, R., Caminero-Granja, J.A. (2005). A Preliminary Nested-Parallel Framework to Efficiently Implement Scientific Applications. In: Daydé, M., Dongarra, J., Hernández, V., Palma, J.M.L.M. (eds) High Performance Computing for Computational Science - VECPAR 2004. VECPAR 2004. Lecture Notes in Computer Science, vol 3402. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11403937_41

Download citation

  • DOI: https://doi.org/10.1007/11403937_41

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-25424-9

  • Online ISBN: 978-3-540-31854-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics