ACM Transactions on Computer Systems · 1996 · 205 citations · 28 references
Software MaintenancePerformance BenchmarkingEngineeringComputer ArchitectureBenchmark Performance PredictionSoftware EngineeringProgram CharacterizationsSoftware AnalysisBenchmarkingData ScienceParallel ComputingPerformance PredictionProfiling ToolComputer EngineeringProgram SimilarityComputer SciencePerformance Analysis ToolStatic Program AnalysisSoftware DesignBenchmarking ToolProgram AnalysisSoftware TestingParallel ProgrammingExecution TimeSystem Software
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.
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.
28
An empirical study of FORTRAN programs
Donald E. Knuth · Software Practice and Experience · 1971 · 682 citations
H. J. Curnow · The Computer Journal · 1976 · 328 citations · Full text
Cache performance of the SPEC92 benchmark suite
J.D. Gee, Mark D. Hill, Dionisios Pnevmatikatos et al. · IEEE Micro · 1993 · 188 citations
An overview of the PTRAN analysis system for multiprocessing
Frances Allen, Michael Burke, Philippe Charles et al. · 2014 · 184 citations
A static performance estimator to guide data partitioning decisions
Vasanth Balasundaram, Geoffrey Fox, Ken Kennedy et al. · 1991 · 177 citations · Full text