TPCalc: throughput calculator
TPCalc is a throughput calculator for microarchitecture studies concerned with multi-program workloads consisting of sequential programs. Because microarchitecture simulators are slow, it is difficult to simulate throughput experiments where a multicore executes many jobs that enter and leave the system. The usual practice of measuring instantaneous throughput on independent coschedules choosen more or less randomly is not a rigorous practice because it assumes that all the coschedules are equally important, which is not always true. TPCalc can compute the average throughput of a throughput experiment without actually doing the throughput experiment. The user first defines the workload heterogeneity (number of different job types), the multicore configuration (number of cores and symmetries). TPCalc provides a list of base coschedules. The user then simulates these coschedules, using some benchmarks of his choice, and feeds back to TPCalc the measured execution rates (e.g., instructions per cycle or instructions per second).TPCalc eventually outputs the average throughput. Several throughput metrics are available, corresponding to different workload assumptions. These metrics are described in the following paper:
- S. Eyerman, P. Michaud, W. Rogiest, “Multi-Program Throughput Metrics: a Systematic Approach“, ACM Transactions on Architecture and Code Optimization (TACO), 2014.
If you use TPCalc for a study to be published, please cite our ACM TACO paper. TPCalc is an open-source sofware written in C++. It works on Unix systems (Linux, OS X,…).