Speaker: Kip Walker, Carnegie Mellon University
Date: November 11, 1999
Using Interpretation for Profiling on the Alpha 21264a
Many sophisticated profiling tools have been developed in the quest for improved software performance. One recent example, ProfileMe, is a hardware design for profiling support in out-of-order processors, and is implemented in the Alpha 21264a. Even with the detailed instruction-level profiling data collected by ProfileMe, it can be difficult to explain some kinds of performance problems. In this talk, I will describe the use of interpretation of randomly selected instruction traces as a technique for identifying possible sources of these performance-killers
Pipeline traps are a common source of bad performance on out-of-order processors; these low-level events cause multiple instructions to be flushed from the pipeline and restarted, and can be quite expensive. ProfileMe detects the occurrence of traps, but is unable to adequately identify their causes when more than one instruction is responsible. Periodic interpretation allows sequences of instructions to be examined without the high overhead associated with simulation or instrumentation.