Skip to main content

Enabling Low-Overhead Hybrid MPI/OpenMP Parallelism with MPC

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6132))

Abstract

With the advent of multicore- and manycore-based supercomputers, parallel programming models like MPI and OpenMP become more widely used to express various levels of parallelism in applications. But even though combining multiple models is possible, the resulting performance may not reach expected results. This is mainly due to collaboration issues between the runtime implementations. In this paper, we introduce an extended taxonomy of hybrid MPI/OpenMP programming and a new module to the MPC framework handling a fully 2.5-compliant OpenMP runtime completely integrated to an MPI 1.3 implementation. The design and implementation guidelines enable two features: (i) built-in oversubscribing capabilities with performance comparable to state-of-the-art implementations on pure OpenMP benchmarks and programs, and (ii) the possibility to run hybrid MPI/OpenMP applications with a limited overhead due to the mix of two different programming models.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. MPI Forum: MPI: A message passing interface standard (March 1994)

    Google Scholar 

  2. OpenMP Architectural Board: OpenMP API (2.5 and 3.0) (May 2008)

    Google Scholar 

  3. Pérache, M., Jourdren, H., Namyst, R.: MPC: A unified parallel runtime for clusters of NUMA machines. In: Luque, E., Margalef, T., Benítez, D. (eds.) Euro-Par 2008. LNCS, vol. 5168, pp. 78–88. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  4. Pérache, M., Carribault, P., Jourdren, H.: MPC-MPI: An MPI implementation reducing the overall memory consumption. In: Ropo, M., Westerholm, J., Dongarra, J. (eds.) PVM/PVI 2009. LNCS, vol. 5759, pp. 94–103. Springer, Heidelberg (2009)

    Google Scholar 

  5. Chen, L., Fujishiro, I.: Optimization strategies using hybrid MPI+OpenMP parallelization for large-scale data visualization on earth simulator. In: Chapman, B., Zheng, W., Gao, G.R., Sato, M., Ayguadé, E., Wang, D. (eds.) IWOMP 2007. LNCS, vol. 4935, pp. 112–124. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  6. Lusk, E.L., Chan, A.: Early experiments with the OpenMP/MPI hybrid programming model. In: Eigenmann, R., de Supinski, B.R. (eds.) IWOMP 2008. LNCS, vol. 5004, pp. 36–47. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  7. Thakur, R., Gropp, W.: Test suite for evaluating performance of MPI implementations that support MPI_THREAD_MULTIPLE. In: Cappello, F., Herault, T., Dongarra, J. (eds.) PVM/MPI 2007. LNCS, vol. 4757, pp. 46–55. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  8. Gropp, W.D., Thakur, R.: Issues in developing a thread-safe MPI implementation. In: Mohr, B., Träff, J.L., Worringen, J., Dongarra, J. (eds.) PVM/MPI 2006. LNCS, vol. 4192, pp. 12–21. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  9. Rabenseifner, R.: Hybrid parallel programming: Performance problems and chances. In: Proceedings of the 45th CUG (Cray User Group) Conference (2003)

    Google Scholar 

  10. Viet, T.Q., Yoshinaga, T., Sowa, M.: Optimization for hybrid MPI-OpenMP programs with thread-to-thread communication. Institute of Electronics, Information and Communication Engineers (IEICE) Technical Eeport, 19–24 (2004)

    Google Scholar 

  11. Jin, H., Chapman, B., Huang, L., an Mey, D., Reichstein, T.: Performance evaluation of a multi-zone application in different openmp approaches. Int. J. Parallel Program. 36(3), 312–325 (2008)

    Article  MATH  Google Scholar 

  12. Hager, G., Jost, G., Rabenseifner, R.: Communication characteristics and hybrid MPI/OpenMP parallel programming on clusters of multi-core SMP nodes. In: Proceedings of Cray User Group (2009)

    Google Scholar 

  13. Hoeflinger, J.: Extending openmp to clusters (2006)

    Google Scholar 

  14. Engler, D.R., Andrews, G.R., Lowenthal, D.K.: Filaments: Efficient support for fine-grain parallelism. Technical report (1994)

    Google Scholar 

  15. Goldstein, S.C., Schauser, K.E., Culler, D.E.: Lazy threads: implementing a fast parallel call. J. Parallel Distrib. Comput. 37(1), 5–20 (1996)

    Article  Google Scholar 

  16. Bull, J.M., O’Neill, D.: A microbenchmark suite for OpenMP 2.0. SIGARCH Comput. Archit. News 29(5), 41–48 (2001)

    Article  Google Scholar 

  17. Nanjegowda, R., Hernandez, O., Chapman, B.M., Jin, H.: Scalability evaluation of barrier algorithms for OpenMP. In: Müller, M.S., de Supinski, B.R., Chapman, B.M. (eds.) IWOMP 2009. LNCS, vol. 5568, pp. 42–52. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  18. Jin, H., Frumkin, M., Yan, J.: The OpenMP implementation of NAS parallel benchmarks and its performance. Technical Report: NAS-99-011 (1999)

    Google Scholar 

  19. Bull, J.M., Enright, J.P., Ameer, N.: A microbenchmark suite for mixed-mode OpenMP/MPI. In: Müller, M.S., de Supinski, B.R., Chapman, B.M. (eds.) IWOMP 2009. LNCS, vol. 5568, pp. 118–131. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  20. Corbalán, J., Duran, A., Labarta, J.: Dynamic load balancing of MPI+OpenMP applications. In: ICPP, pp. 195–202. IEEE Computer Society, Los Alamitos (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Carribault, P., Pérache, M., Jourdren, H. (2010). Enabling Low-Overhead Hybrid MPI/OpenMP Parallelism with MPC. In: Sato, M., Hanawa, T., Müller, M.S., Chapman, B.M., de Supinski, B.R. (eds) Beyond Loop Level Parallelism in OpenMP: Accelerators, Tasking and More. IWOMP 2010. Lecture Notes in Computer Science, vol 6132. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13217-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-13217-9_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-13216-2

  • Online ISBN: 978-3-642-13217-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics