Abstract
To attack the problem of scalability of performance diagnosis tools with respect to application code size, we have developed the Deep Start search strategy - a new technique that uses stack sampling to augment an automated search for application performance problems. Our hybrid approach locates performance problems more quickly and finds performance problems hidden from a more straightforward search strategy. The Deep Start strategy uses stack samples collected as a by-product of normal search instrumentation to select deep starters, functions that are likely to be application bottlenecks. With priorities and careful control of the search refinement, our strategy gives preference to experiments on the deep starters and their callees. This approach enables the Deep Start strategy to find application bottlenecks more efficiently and more effectively than a more straightforward search strategy. We implemented the Deep Start search strategy in the Performance Consultant, Paradyn's automated bottleneck detection component. In our tests, Deep Start found half of our test applications' known bottlenecks between 32% and 59% faster than the Performance Consultant's current search strategy, and finished finding bottlenecks between 10% and 61% faster. In addition to improving the search time, Deep Start often found more bottlenecks than the call graph search strategy.
Original language | English |
---|---|
Pages (from-to) | 1027-1046 |
Number of pages | 20 |
Journal | Concurrency and Computation: Practice and Experience |
Volume | 15 |
Issue number | 11-12 |
DOIs | |
State | Published - Sep 2003 |
Externally published | Yes |
Keywords
- Automated performance diagnosis
- Sampling
- Search