Design and implementation of a configurable hardware profiler supporting path profiling and sampling

HuiZhen Zhang,Jinsong Song Ji,Xuehai Zhou,Hongxing Ma,Chao Wang
DOI: https://doi.org/10.1109/CYBERC.2009.5342169
2009-01-01
Abstract:Profiling plays an important role in performance optimization, such as instruction set optimization, dynamic binary translation and so on. Unfortunately, profilers nowadays often lack in efficiency on two key attributes: accuracy and profiling time. In this paper, we introduce a configurable hardware path profiler deriving from previous work, based on the idea of sampling and path profiling. The profiler consists of three modules respectively for identifying branches, detecting paths and storing information. It can work with different processors loosely. It utilizes dynamic path profiling technique on instruction level to accurately obtain sensitive hot information of executing programs while supports multiple sampling policies to reduce profiling overheads. Through configuration, the profiler can perform different profiling policies and profile target programs continuously or discretely. Empirical experiments show that the profiler can reduce hardware timing to 6.4% and keep the accuracy up to 90%.
What problem does this paper attempt to address?