Skip to main content

A Dynamic Optimization Framework for OpenMP

  • Conference paper
OpenMP in the Petascale Era (IWOMP 2011)

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

Included in the following conference series:

Abstract

Developing shared memory parallel programs using OpenMP is straightforward, but getting good performance in terms of speedup and scalability can be difficult. This paper demonstrates the functionality of a collector-based dynamic optimization framework called DARWIN that uses collected performance data as feedback to affect the behavior of the program through the OpenMP runtime, thus able to optimizing certain aspects. The DARWIN framework utilizes the OpenMP Collector API to drive the optimization activity and various open source libraries to support its data collection and optimizations.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. SQLite, http://www.sqlite.org/

  2. Bruening, D., Garnett, T., Amarasinghe, S.: An Infrastructure for Adaptive Dynamic Optimization. In: Proceedings of the International Symposium on Code Generation and Optimization (2003)

    Google Scholar 

  3. Buck, B.R., Hollingsworth, J.K.: Data Centric Cache Measurement on the Intel Itanium 2 Processor. In: Proceedings of SuperComputing 2004 (2004)

    Google Scholar 

  4. Bui, V., Hernandez, O., Chapman, B., Kufrin, R., Gopalkrishnan, P., Tafti, D.: Towards an Implementation of the OpenMP Collector API. In: PARCO (2007)

    Google Scholar 

  5. Dagum, L., Menon, R.: OpenMP: An Industry-Standard API for Shared-Memory Programming. IEEE Computational Science and Engineering (1998)

    Google Scholar 

  6. Eranian, S.: Perfmon2: A flexible Performance Monitoring Interface for Linux. In: Proceedings of the 2006 Ottawa Linux Symposium (2006)

    Google Scholar 

  7. Hernandez, O., Chapman, B., et al.: Open Source Software Support for the OpenMP Runtime API for Profiling. In: The Second International Workshop on Parallel Programming Models and Systems Software for High-End Computing, P2S2 (2009)

    Google Scholar 

  8. Huck, K.A., Hernandez, O., Bui, V., Chandrasekaran, S., Chapman, B., Malony, A.D., McInnes, L.C., Norris, B.: Capturing Performance Knowledge for Automated Analysis (submitted to SC 2008)

    Google Scholar 

  9. Intel. Intel Itanium2 Processor Reference Manual for Software Development and Optimization, vol. 1 (2004)

    Google Scholar 

  10. Itzkowitz, M., Mazurov, O., Copty, N., Lin, Y.: White Paper: An OpenMP Runtime API for Profiling. Technical report, Sun Microsystems, Inc. (2007)

    Google Scholar 

  11. Jarp, S.: A Methodology for using the Itanium-2 Performance Counters for Bottleneck Analysis. Technical report, HP Labs (August 2002)

    Google Scholar 

  12. Jin, H., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and Its Performance. Technical report (1999)

    Google Scholar 

  13. Kim, J., Hsu, W.-C., Yew, P.-C.: COBRA: An Adaptive Runtime Binary Optimization Framework for Multithreaded Applications. In: 2007 International Conference on Parallel Processing (2007)

    Google Scholar 

  14. Klug, J.W.T., Ott, M., Trinitis, C.: Autopin - Automated Optimization of Thread-to-core Pinning on Multicore Systems. In: Transactions on HiPEAC (2008)

    Google Scholar 

  15. Liao, C., Hernandez, O., Chapman, B., Chen, W., Zheng, W.: Open UH: An Optimizing, Portable OpenMP Compiler. In: 12th Workshop on Compilers for Parallel Computers (2006)

    Google Scholar 

  16. Marathe, J., Mueller, F.: Hardware Profile-guided Automatic Page Placement for ccNUMA Systems. In: PPoPP 2006: Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 90–99. ACM Press, New York (2006)

    Google Scholar 

  17. Nikolopoulos, D.S., Papatheodorou, T.S., Polychronopoulos, C.D., Labarta, J., Ayguadé, E.: UPMLIB: A runtime system for tuning the memory performance of openMP programs on scalable shared-memory multiprocessors. In: Dwarkadas, S. (ed.) LCR 2000. LNCS, vol. 1915, pp. 85–99. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  18. U. of Oregon. ParaProf User’s Manual, http://www.cs.uoregon.edu/research/tau/docs/paraprof/

  19. Pousa, C.R., Castro, M., Fernandes, L.G., Mehaut, J.-F., Carissimi, A.: Memory Affinity for Hierarchical Shared Memory Multiprocessors. In: International Symposium on Computer Architecture and High Performance Computing (2009)

    Google Scholar 

  20. Shende, S.S., Malony, A.D.: The TAU Parallel Performance System. Int. J. High Perform. Comput. Appl. (2006)

    Google Scholar 

  21. Zhang, W., Calder, B., Tullsen, D.M.: An Event-Driven Multithreaded Dynamic Optimization Framework. In: Proceedings of the International Conference on Parallel Architectures and Compilation Techniques (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wicaksono, B., Nanjegowda, R.C., Chapman, B. (2011). A Dynamic Optimization Framework for OpenMP. In: Chapman, B.M., Gropp, W.D., Kumaran, K., Müller, M.S. (eds) OpenMP in the Petascale Era. IWOMP 2011. Lecture Notes in Computer Science, vol 6665. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21487-5_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21487-5_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21486-8

  • Online ISBN: 978-3-642-21487-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics