Skip to main content

Exact Dependence Analysis for Increased Communication Overlap

  • Conference paper

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

Abstract

MPI programs are often challenged to scale up to several million cores. In doing so, the programmer tunes every aspect of the application code. However, for large applications, this is often not practical and expensive tracing tools and post-mortem analysis are employed to guide the tuning efforts finding hot-spots and performance bottlenecks. In this paper we revive the use of compiler analysis techniques to automatically unveil opportunities for communication/computation overlap using the result of exact data dependence analysis provided by the polyhedral model. We apply our technique to a 5-point stencil code showing performance improvements up to 28% using 512 cores.

Keywords

  • Message passing
  • Compiler Analysis
  • Data Dependence Analysis
  • Polyhedral Model

This research has been partially funded by the Austrian Research Promotion Agency under contract nr. 824925 (OpenCore) and under contract 834307 (AutoCore).

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-33518-1_14
  • Chapter length: 11 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   49.99
Price excludes VAT (USA)
  • ISBN: 978-3-642-33518-1
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   64.99
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Benabderrahmane, M.-W., Pouchet, L.-N., Cohen, A., Bastoul, C.: The Polyhedral Model Is More Widely Applicable Than You Think. In: Gupta, R. (ed.) CC 2010. LNCS, vol. 6011, pp. 283–303. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

  2. Danalis, A., Pollock, L., Swany, M.: Automatic MPI application transformation with ASPhALT. In: Par. and Distr. Proc. Symp., IPDPS 2007, pp. 1–8 (March 2007)

    Google Scholar 

  3. Danalis, A., Kim, K.Y., Pollock, L., Swany, M.: Transformations to parallel codes for communication-computation overlap. In: Proceedings of the 2005 ACM/IEEE Conference on Supercomputing, SC 2005, Washington, DC, USA, p. 58 (2005)

    Google Scholar 

  4. Danalis, A., Pollock, L., Swany, M., Cavazos, J.: MPI-aware compiler optimizations for improving communication-computation overlap. In: Proceedings of the 23rd International Conference on Supercomputing, ICS 2009, pp. 316–325 (2009)

    Google Scholar 

  5. Distributed and Parallel Systems Group, University of Innsbruck: Insieme Comiler and Runtime Infrastructure, http://insieme-compiler.org

  6. Fahringer, T., Mehofer, E.: Buffer-Safe Communication Optimization Based on Data Flow Analysis and Performance Prediction. In: Malyshkin, V.E. (ed.) PaCT 1997. LNCS, vol. 1277, pp. 189–200. Springer, Heidelberg (1997)

    CrossRef  Google Scholar 

  7. Geimer, M., Wolf, F., Wylie, B.J.N., Ábrahám, E., Becker, D., Mohr, B.: The Scalasca performance toolset architecture. CCPE Journal 22(6), 702–719 (2010)

    Google Scholar 

  8. Girbal, S., et al.: Semi-automatic composition of loop transformations for deep parallelism and memory hierarchies. Intl. Journal of Par. Progr. 34(3), 261–317 (2006)

    MATH  CrossRef  Google Scholar 

  9. Gropp, W., Lusk, E., Skjellum, A.: Using MPI: portable parallel programming with the message-passing interface, 2nd edn. MIT Press, Cambridge (1999)

    Google Scholar 

  10. Kennedy, K., Allen, J.R.: Optimizing compilers for modern architectures: a dependence-based approach, San Francisco, CA, USA (2002)

    Google Scholar 

  11. Knüpfer, A., et al.: The vampir performance analysis tool-set. In: Tools for High Performance Computing, pp. 139–155 (2008)

    Google Scholar 

  12. MPI Forum: MPI: A Message-Passing Interface Standard. Version 2.2 (September 4, 2009), http://www.mpi-forum.org (December 2009)

  13. Shende, S.S., Malony, A.D.: The Tau Parallel Performance System. Int. J. High Perform. Comput. Appl. 20(2), 287–311 (2006)

    CrossRef  Google Scholar 

  14. Thakur, R., Balaji, P., Buntinas, D., Goodell, D., Gropp, W., Hoefler, T., Kumar, S., Lusk, E., Traeff, J.L.: MPI at Exascale. In: Procceedings of SciDAC 2010 (June 2010)

    Google Scholar 

  15. Truong, H.-L., Fahringer, T.: SCALEA: A Performance Analysis Tool for Distributed and Parallel Programs. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 41–55. Springer, Heidelberg (2002)

    CrossRef  Google Scholar 

  16. Vasilache, N., Cohen, A., Bastoul, C., Girbal, S.: Violated dependence analysis. In: ACM ICS (2006)

    Google Scholar 

  17. Verdoolaege, S.: isl: An Integer Set Library for the Polyhedral Model. In: Fukuda, K., van der Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 299–302. Springer, Heidelberg (2010)

    CrossRef  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Pellegrini, S., Hoefler, T., Fahringer, T. (2012). Exact Dependence Analysis for Increased Communication Overlap. In: Träff, J.L., Benkner, S., Dongarra, J.J. (eds) Recent Advances in the Message Passing Interface. EuroMPI 2012. Lecture Notes in Computer Science, vol 7490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33518-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-33518-1_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-33517-4

  • Online ISBN: 978-3-642-33518-1

  • eBook Packages: Computer ScienceComputer Science (R0)