Abstract
Except for program-counter histogramming, most modern profiling tools summarize at the level of entire functions or basic blocks, with or without additional information such as calling context or call graphs. This paper explicates the value of information about the cost of specific instructions, relative to summaries that do not include it. A good source of this information is time-random sampling of the call stack. To get the diagnostic benefit of instruction costs it is not necessary to measure them with high precision or efficiency. In fact, manual sampling suffices quite well, when it can be used. Other benefits of call stack sampling are that it can be used with unmodified software and libraries, and it is easily confined to the time intervals of interest. As with other profiling techniques, it can be employed repeatedly to remove all significant performance problems in single-thread programs.
- {Ammons97} Glenn Ammons, Thomas Ball, James Larus, Exploiting hardware performance counters with flow and context sensitive profiling, ACM SIGPLAN, PLDI-97. Google Scholar
Digital Library
- {Ammons04} Glenn Ammons, Jong-Deok Choi, Manish Gupta, Nikhil Swamy, Finding and Removing Performance Bottlenecks in Large Systems, European conference on object-oriented programming, Oslo, Norway, 2004, http://pages.cs.wisc.edu/~ammons/bottlenecks.pdfGoogle Scholar
- {Dunlavey} Michael Dunlavey, Performance Tuning: Slugging It Out!, Dr. Dobb's Journal, Vol 18, #12, November 1993, pp 18-26. Also: Building Better Applications: a Theory of Efficient Software Development, International Thomson Publications, NY 1994, ISBN 0442017405 Google Scholar
Digital Library
- {Froyd05} Nathan Froyd, John Mellor-Crummey, Rob Fowler, Low-Overhead Call Path Profiling of Unmodified, Optimized Code, Proceedings, 19th annual conference on Supercomputing, 2005. Google Scholar
Digital Library
- {Graham04} Susan Graham, Peter Kessler, Marshall McKusick, gprof: a Call Graph Execution Profiler, ACM SIGPLAN Notices, Vol. 39, #4, April 2004, pp 49-57 Google Scholar
Digital Library
- {SGI} SGI Altix Applications Development and Optimization, http://sc.tamu.edu/help/SGI.Tutorial/sgi-tutorial.pdfGoogle Scholar
- {Sun} Sun Studio Performance Analyzer. http://developers.sun.com/sunstudio/analyzer_index.htmlGoogle Scholar
Index Terms
Performance tuning with instruction-level cost derived from call-stack sampling
Recommendations
Compiler Supported Sampling through Minimalistic Instrumentation
ICPPW '14: Proceedings of the 2014 43rd International Conference on Parallel Processing WorkshopsSampling is becoming increasingly important for performance analysis as an alternative to or enhancement of instrumentation based measurement methods, although instrumentation is still necessary to guarantee capture of specific events, such as ...
Controlled dynamic performance analysis
WOSP '08: Proceedings of the 7th international workshop on Software and performanceWe are interested in obtaining detailed performance information on-the-fly from long-running systems without adversely affecting the performance of the systems. We have developed a methodology consisting of a framework, DYPER, and a number of ...
Property-aware program sampling
PASTE '10: Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineeringMonitoring or profiling programs provides us with an understanding for its further improvement and analysis. Typically, for monitoring or profiling, the program is instrumented to execute additional code that collects necessary data. However, a widely-...






Comments