Analysis of Flat Performance Profiles using Code Mining
Code Mining is a low-level performance analysis technique to uncover
performance bottlenecks in applications that do not tend to exhibit
distinct hot spots. This is common in large enterprise workloads run
under an application server such as WebSphere. Similar to data mining,
the technique generally involves populating a database with compiled code
instructions and supplementing it with processor event data. Structured
queries can then be performed on the data to develop a deep understanding
of problem areas in the code.
This talk will describe the motivation for code mining by highlighting the
limitations of traditional performance analysis techniques for enterprise
applications with flat profiles . We will discuss the pioneering work
done by the Testarossa Java JIT to develop the tools and techniques
necessary to populate, query, and interpret the results. Successful
examples of uncovered opportunities will be presented. We will also
discuss some of the ongoing and future work to evolve this analysis
technique into highly productive tool for modern workloads and processors.
Greg Steffan
Last modified: Wed Aug 26 18:20:51 EDT 2009