|
|
Cardinal: A Framework for Performance Modeling and Prediction of Application Execution
Sam Strom
M.S. Thesis, Department of Electrical and Computer Engineering, University of Colorado.
May,
2008.
|
Traditionally, patterns and repetition in program behavior are exploited in multiple ways to increase performance in computer systems. Cache memory and branch
prediction are examples of hardware technologies that leverage short-term knowledge of
program behavior to enhance performance. On a different scale, profile-guided compiler
transformations use profile information to customize optimization decisions to program
behavior. However, as the microprocessor industry shifts to multi-core designs, continued performance gains can only be achieved by systems that track and adapt to interactions of multiple concurrent programs. Multiple cores per system do not universally
improve performance since shared resources and operating conditions cause interference.
To optimally manage and design multi-core systems so that they may achieve continued performance gains, new methods of representing and exploiting program execution
behavior are required.
This thesis presents a new representation, the Cardinal Execution Map (CEM),
which describes phase-based program behavior in a compact form. The representation
aids computer system design, helps analyze resource contention in multi-core environments and directs run-time systems to better utilize hardware. The Cardinal Execution
Map can be constructed off-line (statically) and at run time (dynamically) to enhance
the study of microarchitecture, program behaviors, and multi-core systems. Presented
in the thesis are the execution modeling framework, a set of analyzes for execution prediction and program behavior identification, and a multi-context program interaction
modeling system.
|
| [ PDF ] |
|