Abstract
This paper presents hompi, a framework for programming and executing task-based parallel applications on clusters of multiprocessors and multi-cores, while providing interoperability with existing programming systems such as mpi and OpenMP. hompi facilitates expressing irregular and adaptive master-worker and divide-and-conquer applications avoiding explicit mpi calls. It also allows hybrid sharedmemory / message-passing programming, exploiting fully the availability of multiprocessor and multi-core nodes, as it integrates by design with OpenMP; the runtime infrastructure presents a unified substrate that handles local threads and remote tasks seamlessly, allowing both programming flexibility and increased performance opportunities.
This work is supported in part by the Artemisia SMECY project (grant 100230).
Chapter PDF
Similar content being viewed by others
References
Blumofe, R.D., Joerg, C.F., et al.: Cilk: An efficient multithreaded runtime system. J. Parallel Distrib. Comput. 37(1), 55–69 (1996)
OpenMP Architecture Review Board: OpenMP Specifications, http://www.openmp.org
Ohara, M., Inoue, H., Sohda, Y., Komatsu, H., Nakatani, T.: MPI microtask for programming the cell broadband engine processor. IBM Syst. Journal 45(1) (2006)
IBM Corporation: Accelerated Library Framework (ALF) for Cell Broadband Engine programmer’s guide and API reference. SDK for Multicore Acceleration V3.0
Augonnet, C., Thibault, S., Namyst, R., Wacrenier, P.-A.: starPU: A unified platform for task scheduling on heterogeneous multicore architectures. In: Sips, H., Epema, D., Lin, H.-X. (eds.) Euro-Par 2009. LNCS, vol. 5704, pp. 863–874. Springer, Heidelberg (2009)
Dolbeau, R., et al.: HMPP: A hybrid multi-core parallel programming environment. In: 1st Wrkshp on General Purpose Processing on GPUs, Boston, MA (2007)
Planas, J., Badia, R.M., et al.: Hierarchical task-based programming with StarSs. Int’l. J. of High Perf. Comput. Applic. 23(3), 284–299 (2009)
Geist, A., Gropp, W., Lusk, E., et al.: MPI-2: Extending the message-passing interface. In: Fraigniaud, P., Mignotte, A., Robert, Y., Bougé, L. (eds.) Euro-Par 1996. LNCS, vol. 1124, Springer, Heidelberg (1996)
Li, K., Hudak, P.: Memory coherence in shared virtual memory systems. ACM Trans. on Computer Systems 7(4), 321–359 (1989)
Hadjidoukas, P.E., Dimakopoulos, V.V.: TORC: a tasking library for multicore clusters. Tech. Report TR-2011-6, CS Dept., University of Ioannina, Greece (2011)
Hadjidoukas, P.E., Dimakopoulos, V.V.: Nested parallelism in the OMPi OpenMP C compiler. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, Springer, Heidelberg (2007)
Philos, G.C., Dimakopoulos, V.V., Hadjidoukas, P.E.: A runtime architecture for ubiquitous support of OpenMP. In: 7th Int’l. Symposium on Parallel and Distrib. Comput., Krakow, Poland (2008)
Jegou, Y.: Implementation of page management in Mome, a user-level DSM. In: 3rd IEEE Int’l. Symposium on Cluster Comput. and the Grid, Tokyo, Japan (2003)
Kise, K., et al.: Evaluation of the acknowledgment reduction in a sDSM system. In: 6th Int’l. Conf. on Parallel Processing and Applied Math., Poznan, Poland (2005)
ADLB library, http://www.cs.mtsu.edu/~rbutler/adlb/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dimakopoulos, V.V., Hadjidoukas, P.E. (2011). HOMPI: A Hybrid Programming Framework for Expressing and Deploying Task-Based Parallelism. In: Jeannot, E., Namyst, R., Roman, J. (eds) Euro-Par 2011 Parallel Processing. Euro-Par 2011. Lecture Notes in Computer Science, vol 6853. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-23397-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-642-23397-5_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-23396-8
Online ISBN: 978-3-642-23397-5
eBook Packages: Computer ScienceComputer Science (R0)