Haicheng Wu, Kirak Hong, Nathan Clark,
ThreadMarks: A Framework for Input-Aware Prediction of Parallel Application Behavior
Chip-multiprocessors (CMPs) are quickly becoming entrenched as the
main-stream architectural platform in computer systems. One of the
critical challenges facing CMPs is designing applications to
effectively leverage the computational resources they provide.
Modifying applications to effectively run on CMPs requires
understanding the bottlenecks in applications, which necessitates a
detailed understanding of architectural features. Unfortunately,
identifying bottlenecks is complex and often requires enumerating a
wide range of behaviors.
To assist in identifying bottlenecks, this paper presents a framework
for developing analytical models based on dynamic program behaviors.
That is, given a program and set of training inputs, the framework
will generate several analytical models that accurately predict online
program behaviors such as memory utilization and synchronization
overhead, while taking program input into consideration. These models
can prove invaluable for online optimization systems and
input-specific analysis of program behavior. We demonstrate that this
framework is practical and accurate on a wide range of synthetic and
real-world parallel applications over various workloads.