2008 · 112 citations · 19 references
EngineeringComputer EngineeringComputer ScienceComputer ArchitectureInstrumentationPerformance MeasurementBenchmarkingExperimentation PlatformsBinary InstrumentationCountersHardware InstrumentationHardware Performance CountersMicroarchitecture Performance EvaluationPerformance Benchmarking
When creating architectural tools, it is essential to know whether the generated results make sense. Comparing a toolpsilas outputs against hardware performance counters on an actual machine is a common means of executing a quick sanity check. If the results do not match, this can indicate problems with the tool, unknown interactions with the benchmarks being investigated, or even unexpected behavior of the real hardware. To make future analyses of this type easier, we explore the behavior of the SPEC benchmarks with both dynamic binary instrumentation (DBI) tools and hardware counters. We collect retired instruction performance counter data from the full SPEC CPU 2000 and 2006 benchmark suites on nine different implementations of the times86 architecture. When run with no special preparation, hardware counters have a coefficient of variation of up to 1.07%. After analyzing results in depth, we find that minor changes to the experimental setup reduce observed errors to less than 0.002% for all benchmarks. The fact that subtle changes in how experiments are conducted can largely impact observed results is unexpected, and it is important that researchers using these counters be aware of the issues involved.
19
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · ACM SIGPLAN Notices · 2005 · 3.2K citations
Chi-Keung Luk, Robert Cohn, Robert Muth et al. · 2005 · 2.3K citations
Nicholas Nethercote, Julian Seward · 2007 · 2.3K citations
Automatically characterizing large scale program behavior
Timothy Sherwood, Erez Perelman, Greg Hamerly et al. · 2002 · 1.7K citations