Analysis of benchmark characteristics and benchmark performance prediction

Rafael H. Saavedra, Alan Jay Smith

ACM Transactions on Computer Systems · 1996 · 205 citations · 28 references

DOIFull text

Open access

Concepts

TL;DR

Standard benchmarking reports run‑times for programs on machines but does not explain why those times occur or predict performance on other machines or programs. The authors develop a machine‑independent execution model, apply it to benchmark characterization and time prediction, and introduce a program‑similarity metric for classifying benchmarks. They merge machine and program characterizations to estimate arbitrary machine/program execution times, identify dominant operations, provide extensive runtime statistics for SPEC and Perfect Club suites, and compare estimated times to actual benchmark results. The model enables designers to improve future machines, users to tune applications, identifies program shortcomings, and shows that estimated times closely match benchmark results.

Abstract

Standard benchmarking provides to run-times for given programs on given machines, but fails to provide insight as to why those results were obtained (either in terms of machine or program characteristics) and fails to provide run-times for that program on some other machine, or some other programs on that machine. We have developed a machine-imdependent model of program execution to characterize both machine performance and program execution. By merging these machine and program characterizations, we can estimate execution time for arbitrary machine/program combinations. Our technique allows us to identify those operations, either on the machine or in the programs, which dominate the benchmark results. This information helps designers in improving the performance of future machines and users in tuning their applications to better utilize the performance of existing machines. Here we apply our methodology to characterize benchmarks and predict their execution times. We present extensive run-time statistics for a large set of benchmarks including the SPEC and Perfect Club suites. We show how these statistics can be used to identify important shortcoming in the programs. In addition, we give execution time estimates for a large sample of programs and machines and compare these against benchmark results. Finally, we develop a metric for program similarity that makes it possible to classify benchmarks with respect to a large set of characteristics.

References

28