Argument Controlled Profiling

  • Tilman Küstner
  • Josef Weidendorfer
  • Tobias Weinzierl
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6043)

Abstract

Profiling tools relate measurements to code context such as function names in order to guide code optimization. For a more detailed analysis, call path or phase-based profiling enhances the context by call chains or user defined phase names, respectively. In this paper, we propose argument controlled profiling as a new type of context extension using the value of function arguments as part of the context. For a showcase simulation code, we demonstrate that this simplifies and enriches the understanding and analysis of code—in particular recursive functions. Due to the new profiling technique, we found optimizations resulting in more than 16% runtime improvement. Argument controlled profiling is implemented as extension of Callgrind, a simulation-based profiling tool using runtime instrumentation.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Ammons, G., Ball, T., Larus, J.R.: Exploiting Hardware Performance Counters with Flow and Context Sensitive Profiling. In: Proceedings of PLDI ’97 (June 1997)Google Scholar
  2. 2.
    Bernat, A.R., Miller, B.P.: Incremental call-path profiling. Concurrency and Computation: Practice and Experience 19, 1533–1547 (2007)CrossRefGoogle Scholar
  3. 3.
    Bond, M.D., McKinley, K.S.: Probabilistic calling context. In: Proceedings of OOPSLA’07, Montreal, Quebec, Canada (October 2007)Google Scholar
  4. 4.
    Intel Corporation. Intel Performance Tuning Utility, http://software.intel.com/en-us/articles/intel-performance-tuning-utility
  5. 5.
    Froyd, N., Mellor-Crummey, J., Fowler, R.: Low-overhead call path profiling of unmodified, optimized code. In: Proceedings of ICS’05, Cambridge, MA (June 2005)Google Scholar
  6. 6.
    Graham, S., Kessler, P., McKusick, M.: GProf: A call graph execution profiler. In: SIGPLAN: Symposium on Compiler Construction, pp. 120–126 (1982)Google Scholar
  7. 7.
    Levon, J.: OProfile, a system-wide profiler for Linux systems, http://oprofile.sourceforge.net
  8. 8.
    Malony, A.D., Shende, S.S., Morris, A.: Phase-based parallel performance profiling. In: Proceedings of ParCo’05, Jülich, Germany. Parallel Computing: Current & Future Issues of High-End Computing, vol. 33, pp. 203–210 (2006)Google Scholar
  9. 9.
    Nethercote, N., Seward, J.: Valgrind: A framework for heavyweight dynamic binary instrumentation. In: ACM SIGPLAN 2007 Conference on Programming Language Design and Implementation (PLDI 2007), San Diego, California, USA (June 2007)Google Scholar
  10. 10.
    Shende, S., Malony, A.D.: TAU: The TAU parallel performance system. International Journal of High Performance Computing Applications 20(2), 287–311 (2006)CrossRefGoogle Scholar
  11. 11.
    Spivey, J.M.: Fast, accurate call graph profiling. Software – Practice Experience 34, 249–264 (2004)CrossRefGoogle Scholar
  12. 12.
    Tallent, N.R., Mellor-Crummey, J.M., Fagan, M.W.: Binary analysis for measurement and attribution of program performance. In: Proceedings of PLDI’09, Dublin, Ireland (June 2009)Google Scholar
  13. 13.
    Weidendorfer, J., Kowarschik, M., Trinitis, C.: A tool suite for simulation based analysis of memory access behavior. In: Bubak, M., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2004. LNCS, vol. 3038, pp. 440–447. Springer, Heidelberg (2004)Google Scholar
  14. 14.
    Weinzierl, T.: A Framework for Parallel PDE Solvers on Multiscale Adaptive Cartesian Grids. Dissertation, Institut für Informatik, Technische Universität München, München (2009)Google Scholar
  15. 15.
    Zhuang, X., Serrano, M.J., Cain, H.W., Choi, J.-D.: Accurate, efficient, and adaptive calling context profiling. In: Proceedings of PLDI’06, Ottawa, Ontario, Canada, June 2006. ACM, New York (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Tilman Küstner
    • 1
  • Josef Weidendorfer
    • 1
  • Tobias Weinzierl
    • 1
  1. 1.Technische Universität MünchenGermany

Personalised recommendations