Sampled Simulation of Multi-Threaded Applications

From Sniper
Revision as of 06:35, 12 December 2012 by Wheirman (talk | contribs) (Created page with "{{DISPLAYTITLE:Sampled Simulation of Multi-Threaded Applications}} Trevor E. Carlson, Wim Heirman, Lieven Eeckhout ''IEEE International Symposium on Performance Analysis of Sys...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Trevor E. Carlson, Wim Heirman, Lieven Eeckhout

IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS 2013)


Sampling is a well-known workload reduction technique that allows one to speed up simulation while accurately predicting workload performance. Previous sampling methods have been shown to accurately predict single-threaded application IPC, allowing one to make an accurate runtime estimation. Nevertheless, for general multi-threaded applications, where IPC does not serve as a proxy for runtime, previous techniques are not suited to accurately estimate runtime. Additionally, we find that issues such as application periodicity and inter-thread synchronization play a significant role in determining how best to sample these applications.

The proposed multi-threaded application sampling methodology is able to derive an optimal sampling strategy for candidate applications using architecture-independent metrics. Using this methodology, large input sets can now be simulated which would otherwise be infeasible, allowing for more accurate conclusions to be made than from studies using scaled-down input sets. Through the use of the proposed methodology, we can simulate less than 10% of the total application runtime in detail. On the SPEComp, NPB and Parsec benchmarks, running on an 8-core simulated system, we achieve an average absolute error of 2.7%.