Calltree-Controlled Instrumentation for Low-Overhead Survey Measurements
Christian Iwainsky, Christian H Bischof · 2016
Survey style or overview measurements are important for performance analysis and monitoring. Here, the goal is to capture sufficient performance information of the target to enable identification and assessment of the performance relevant regions. A full measurement typically exhibits too much overhead and analysts must trade-off data quality with measurement overhead to achieve a suitable performance proxy. This is challenging, especially if the code is complex or unfamiliar, as many current tools rely on manual filtering to reduce the inevitable overhead. Existing semi-automatic approaches, such as call-depth or statement-controlled instrumentation, provide little support as often critical context information, such as the call context, is lost or the remaining measurement data is insufficient. We present a call-tree controlled instrumentation approach that avoids these pitfalls while providing improved overview measurement capability by aggregating the statements of sub-trees and instrumenting regions of likely low overhead. Applied to the coral.lulesh, coral.miniFE and DROPS benchmarks we observe low, nearly negligible measurement overhead, of less than 1 percent, while preserving a good representation of the overall application structure and associated performance behavior. Compared to existing methods our new approach provides an much better trade-off between instrumentation overhead and data fidelity and is much less dependent on the particular programming style of an application. In particular, it is well suited for object-oriented coding styles.