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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Blumofe, R.D., Leiserson, C.E.: Scheduling multithreaded computations by work stealing. In: Proc. Annual Symp. on FoCS, November 1994, pp. 356–368 (1994)
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)
Cole, M.: Frame: An imperative coordination language for parallel programming. Technical Report EDI-INF-RR-0026, Div. Informatics, Univ. of Edinburgh (September 2000)
Darlington, J., Guo, Y., To, H.W., Yang, J.: Functional skeletons for parallel coordination. In: Europar 1995. LNCS, pp. 55–69 (1995)
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)
<eXpat/>. The Expat XML parser. WWW, http://expat.sourceforge.net/
Finta, L., Liu, Z., Milis, I., Bampis, E.: Scheduling UET–UCT series–parallel graphs on two processors. Theoretical Computer Science 162, 323–340 (1996)
Gelernter, D., Carriero, N.: Coordination languages and their significance. Communications of the ACM 35(2), 97–107 (1992)
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)
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)
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)
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)
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)
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)
National Institute of Standards and Technology (NIST). Matrix Market. WWW (2002), On, http://math.nist.gov/MatrixMarket/
Sahner, R.A., Trivedi, K.S.: Performance and reliability analysis using directed acyclic graphs. IEEE Trans. on Software Eng. 13(10), 1105–1114 (1987)
Salamon, A.Z.: Task Graph Performance Bounds Through Comparison Methods. MSc. Thesis, Fac. of Science, Univ. of the Witwatersrand, Johannesburg (January 2001)
Schloegel, K., Karypis, G., Kumar, V.: CRPC Parallel Computing Handbook. In: Chapter Graph Partitioning for High Performance Scientific Simulations. Morgan Kaufmann, San Francisco (2000)
Skillicorn, D.B.: A cost calculus for parallel functional programming. Journal of Parallel and Distributed Computing 28, 65–83 (1995)
Skillicorn, D.B., Talia, D.: Models and languages for parallel computation. ACM Computing Surveys 30(2), 123–169 (1998)
Valdés, J., Tarjan, R.E., Lawler, E.L.: The recognition of series parallel digraphs. SIAM Journal of Computing 11(2), 298–313 (1982)
Valiant, L.G.: A bridging model for parallel computation. Comm. ACM 33(8), 103–111 (1990)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)