DocumentCode
2627118
Title
Non-determinism and overcount on modern hardware performance counter implementations
Author
Weaver, Vincent M. ; Terpstra, Dan ; Moore, Steven
Author_Institution
Electr. & Comput. Eng., Univ. of Maine, Orono, ME, USA
fYear
2013
fDate
21-23 April 2013
Firstpage
215
Lastpage
224
Abstract
Ideal hardware performance counters provide exact deterministic results. Real-world performance monitoring unit (PMU) implementations do not always live up to this ideal. Events that should be exact and deterministic (such as retired instructions) show run-to-run variation and overcount on ×86_64 machines, even when run in strictly controlled environments. These effects are non-intuitive to casual users and cause difficulties when strict determinism is desirable, such as when implementing deterministic replay or deterministic threading libraries. We investigate eleven different x86 64 CPU implementations and discover the sources of divergence from expected count totals. Of all the counter events investigated, we find only a few that exhibit enough determinism to be used without adjustment in deterministic execution environments. We also briefly investigate ARM, IA64, POWER and SPARC systems and find that on these platforms the counter events have more determinism. We explore various methods of working around the limitations of the ×86_64 events, but in many cases this is not possible and would require architectural redesign of the underlying PMU.
Keywords
computer architecture; multiprocessing systems; performance evaluation; ARM; IA64 system; PMU implementations; POWER system; SPARC system; architectural redesign; counter event; deterministic replay library implementation; deterministic threading library implementation; hardware performance counter implementation; ideal hardware performance counters; nondeterminism; overcount; performance monitoring unit; run-to-run variation; x86_64 CPU implementations; Assembly; Benchmark testing; Hardware; Kernel; Phasor measurement units; Radiation detectors;
fLanguage
English
Publisher
ieee
Conference_Titel
Performance Analysis of Systems and Software (ISPASS), 2013 IEEE International Symposium on
Conference_Location
Austin, TX
Print_ISBN
978-1-4673-5776-0
Electronic_ISBN
978-1-4673-5778-4
Type
conf
DOI
10.1109/ISPASS.2013.6557172
Filename
6557172
Link To Document