<  Back to the Polytechnique Montréal portal

Hardware-assisted instruction profiling and latency detection

Suchakrapani Datt Sharma and Michel R. Dagenais

Article (2016)

Published Version
Terms of Use: Creative Commons Attribution .
Download (803kB)
Cite this document: Sharma, S. D. & Dagenais, M. R. (2016). Hardware-assisted instruction profiling and latency detection. The Journal of Engineering, 2016(10), p. 367-376. doi:10.1049/joe.2016.0127
Show abstract Hide abstract


Debugging and profiling tools can alter the execution flow or timing, can induce heisenbugs and are thus marginally useful for debugging time critical systems. Software tracing, however advanced it may be, depends on consuming precious computing resources. In this study, the authors analyse state-of-the-art hardware-tracing support, as provided in modern Intel processors and propose a new technique which uses the processor hardware for tracing without any code instrumentation or tracepoints. They demonstrate the utility of their approach with contributions in three areas - syscall latency profiling, instruction profiling and software-tracer impact detection. They present improvements in performance and the granularity of data gathered with hardware-assisted approach, as compared with traditional software only tracing and profiling. The performance impact on the target system – measured as time overhead – is on average 2–3%, with the worst case being 22%. They also define a way to measure and quantify the time resolution provided by hardware tracers for trace events, and observe the effect of finetuning hardware tracing for optimum utilisation. As compared with other in-kernel tracers, they observed that hardware-based tracing has a much reduced overhead, while achieving greater precision. Moreover, the other tracing techniques are ineffective in certain tracing scenarios.

Uncontrolled Keywords

program debugging, program diagnostics, latency detection, syscall latency profiling, fine-tuning hardware tracing, hardware-assisted instruction profiling, hardware-based tracing, software tracing, sixth generation Intel processors, optimum utilisation, programming support Diagnostic testing, debugging and evaluating systems

Open Access document in PolyPublie
Subjects: 2700 Technologie de l'information > 2700 Technologie de l'information
2700 Technologie de l'information > 2715 Optimisation
Department: Département de génie informatique et génie logiciel
Research Center: Non applicable
Funders: CRSNG/NSERC, Ericsson Software Research, EfficiOS, Prompt
Date Deposited: 04 May 2018 16:18
Last Modified: 08 Apr 2021 10:43
PolyPublie URL: https://publications.polymtl.ca/3068/
Document issued by the official publisher
Journal Title: The Journal of Engineering (vol. 2016, no. 10)
Publisher: IET
Official URL: https://doi.org/10.1049/joe.2016.0127


Total downloads

Downloads per month in the last year

Origin of downloads


Repository Staff Only