Skip to main content

Atune-IL: An Instrumentation Language for Auto-tuning Parallel Applications

  • Conference paper

Part of the Lecture Notes in Computer Science book series (LNTCS,volume 5704)

Abstract

Auto-tuners automate the performance tuning of parallel applications. Three major drawbacks of current approaches are 1) they mainly focus on numerical software; 2) they typically do not attempt to reduce the large search space before search algorithms are applied; 3) the means to provide an auto-tuner with additional information to improve tuning are limited.

Our paper tackles these problems in a novel way by focusing on the interaction between an auto-tuner and a parallel application. In particular, we introduce Atune-IL, an instrumentation language that uses new types of code annotations to mark tuning parameters, blocks, permutation regions, and measuring points. Atune-IL allows a more accurate extraction of meta-information to help an auto-tuner prune the search space before employing search algorithms. In addition, Atune-IL’s concepts target parallel applications in general, not just numerical programs.

Atune-IL has been successfully evaluated in several case studies with parallel applications differing in size, programming language, and application domain; one case study employed a large commercial application with nested parallelism. On average, Atune-IL reduced search spaces by 78%. In two corner cases, 99% of the search space could be pruned.

Keywords

  • Search Space
  • Tuning Parameter
  • Parallel Application
  • Program Variant
  • Parallel Section

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. Pankratius, V., et al.: Software Engineering For Multicore Systems: An Experience Report. In: Proceedings of 1st IWMSE, May 2008, pp. 53–60 (2008)

    Google Scholar 

  2. Asanovic, K., et al.: The Landscape of Parallel Computing Research: A View from Berkeley. Technical report, University of California, Berkeley (December 2006)

    Google Scholar 

  3. Tapus, C., et al.: Active Harmony: Towards Automated Performance Tuning. In: Proceedings of the Supercomputing Conference (November 2002)

    Google Scholar 

  4. Werner-Kytölä, O., Tichy, W.F.: Self-Tuning Parallelism. In: Proceedings of the 8th International Conference on High-Performance Computing and Networking, pp. 300–312 (2000)

    Google Scholar 

  5. Agilent Technologies: MassHunter MetaboliteID Software (2008), http://www.chem.agilent.com

  6. Geiß, R., et al.: GrGen.NET. University of Karlsruhe, IPD Prof. Goos (2008), http://www.info.uni-karlsruhe.de/software/grgen/

  7. Schimmel, J., et al.: Gene Expression with General Purpose Graph Rewriting Systems. In: Proceedings of the 8th GT-VMT Workshop (2009)

    Google Scholar 

  8. Pankratius, V., et al.: Parallelizing BZip2. A Case Study in Multicore Software Engineering. accepted September 2008 for IEEE Software (2009)

    Google Scholar 

  9. Whaley, R.C., et al.: Automated Empirical Optimizations of Software and the ATLAS Project. Journal of Parallel Computing 27, 3–35 (2001)

    CrossRef  MATH  Google Scholar 

  10. Frigo, M., Johnson, S.: FFTW: An Adaptive Software Architecture for the FFT. In: Proceedings of the International Conference on Acoustics, Speech and Signal Processing, May 1998, pp. 1381–1384 (1998)

    Google Scholar 

  11. Katagiri, T., et al.: FIBER: A Generalized Framework for Auto-tuning Software. In: Proceedings of the International Symposium on HPC, pp. 146–159 (2003)

    Google Scholar 

  12. Donadio, S., et al.: A Language for the Compact Representation of Multiple Program Versions. In: Proceedings of the 18th LCPC Workshop, pp. 136–151 (2006)

    Google Scholar 

  13. Yi, Q., et al.: POET: Parameterized Optimizations for Empirical Tuning. In: Proceedings of IPDPS, March 2007, pp. 1–8 (2007)

    Google Scholar 

  14. Püschel, M., et al.: SPIRAL: Code Generation for DSP Transforms. Proceedings of the IEEE 93, 232–275 (2005)

    CrossRef  Google Scholar 

  15. Karcher, T.: Eine Annotationssprache zur Automatisierbaren Konfguration Paralleler Anwendungen. Master’s thesis, University of Karlsruhe (August 2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Schaefer, C.A., Pankratius, V., Tichy, W.F. (2009). Atune-IL: An Instrumentation Language for Auto-tuning Parallel Applications. In: Sips, H., Epema, D., Lin, HX. (eds) Euro-Par 2009 Parallel Processing. Euro-Par 2009. Lecture Notes in Computer Science, vol 5704. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03869-3_5

Download citation

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

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03868-6

  • Online ISBN: 978-3-642-03869-3

  • eBook Packages: Computer ScienceComputer Science (R0)