Optimization with Statistical Profiles (1997) [3 citations — 1 self]
Abstract:
An important barrier to the use of profile-based optimization is the generation of high-quality profile data. In this paper we describe our experience with a prototype system for continuous and automatic generation of profile data. Our system collects profile data continuously for all computation on a system by sampling the program counter once per hardware clock interrupt. We have found that the overhead of our prototype monitor is negligible, making it practical to collect profile information continuously for all activity on the system. We used several qualitative and quantitative methods to explore how the quality of these sampled profiles improves over time, and demonstrate that profiles of adequate quality for optimization can be obtained after a small number of monitored runs. For a selection of instruction-cache intensive benchmarks, statistical monitoring provides profiles of a quality comparable to that of complete profiles obtained with program instrumentation while avoiding the large run-time overheads of instrumentation-based profile collection. Our monitor is a component of the Morph System, which will make feedback-based and architecture-specific optimizations automatic
Citations
| 664 | ATOM: A system for building customized program analysis tools – Srivastava, Eustace - 1994 |
| 247 | Profile guided code positioning – Pettis, Hansen - 1990 |
| 145 | Predicting conditional branch directions from previous runs of a program – Fisher, Freudenberger - 1992 |
| 142 | Branch prediction for free – Ball, Larus - 1993 |
| 28 | Register allocation across procedure and module boundaries – Santhanam, Odnert - 1990 |
| 2 | Optimally Profiling and Tracing Programs", ACM – Ball, Larus - 1992 |

