A Runtime Optimization System for OpenMP
This paper introduces stOMP: a specializing thread-library for OpenMP. Using a combined compile-time and run-time system, stOMP specializes OpenMP parallel regions for frequently-seen values and the configuration of the runtime system. An overview of stOMP is presented as well as motivation for the runtime optimization of OpenMP applications. The overheads incurred by a prototype implementation of stOMP are evaluated on three Spec OpenMP Benchmarks and the EPCC scheduling microbenchmark. The results are encouraging and suggest that there is a large potential for improvement by the runtime optimization of OpenMP applications.
KeywordsShared Variable Dynamic Optimizer Runtime System Parallel Region Chunk Size
Unable to display preview. Download preview PDF.
- 1.OpenMP Architecture Review Board. OpenMP Fortran Application Program Interface, V. 2.0, 2002.Google Scholar
- 2.OpenMP Architecture Review Board. OpenMP C and C++ Application Program Interface, V. 2.0, 2002.Google Scholar
- 3.The Omni OpenMP Compiler. http://phase.etl.go.jp/Omni/, 2003.
- 4.Sun Microsystems. The Java HotSpot Performance Engine Architecture. Technical White Paper, http://java.sun.com/products/hotspot/whitepaper.html, April 1999.
- 5.Matthew Arnold, Stephen Fink, David Grove, Michael Hind, and Peter F. Sweeney. Adaptive optimization in the jalapeno jvm. In Proc. of the ACM SIGPLAN 2000 Conf. on Object-Oriented Programming Systems, Languages and Applications, Minneapolis, MN, October 2000.Google Scholar
- 6.Standard ECMA-335: Common Language Infrastructure (CLI). http://www.ecma.ch/ecma1/STAND/ecma-335.htm, February 2002.
- 7.L. Peter Deutsch and Allan M. Schiffman. Efficient Implementation of the Smalltalk-80 System. In Proc. of the Conf. on Principles of Programming Languages, Salt Lake City, Utah, 1984.Google Scholar
- 8.Brian Grant, Matthai Philipose, Markus Mock, Craig Chambers, and Susan J. Eggers. An evaluation of staged run-time optimizations in DyC. In Proc. of the SIGPLAN’99 Conf. on Programming Language Design and Implementation, pages 293–304, Atlanta, GA, May 1999.Google Scholar
- 10.Renaud Marlet, Charles Consel, and Philippe Boinot. Efficient incremental runtime specialization for free. In Proc. of the SIGPLAN’99 Conf. on Programming Language Design and Implementation, pages 281–292, Atlanta, GA, May 1999.Google Scholar
- 11.Markus Mock, Craig Chambers, and Susan Eggers. Calpa: A Tool for Automating Selective Dynamic Compilation. In 33rd Annual Symposium on Microarchitecture, December 2000.Google Scholar
- 12.Michael Voss and Rudolf Eigenmann. High-Level Adaptive Program Optimization with ADAPT. In Proc. of PPoPP’01: Principles and Practice of Parallel Programming, Snow Bird, Utah, June 2001.Google Scholar
- 13.Vishal Aslot, Max Domeika, Rudolf Eigenmann, Greg Gaertner, Wesley B. Jones, and Bodo Parady. SPEComp: A New Benchmark Suite for Measuring Parallel Computer Performance. In Workshop on OpenMP Applications and Tools (WOMPAT), pages 1–10, July 2001.Google Scholar
- 14.J. M. Bull. Measuring Synchronization and Scheduling Overheads in OpenMP. In European Workshop on OpenMP (EWOMP), 1999.Google Scholar