InstRO: a component-based toolbox for performance instrumentation
Autoren
Mehr zum Buch
Performance analysis is an essential aspect of optimizing the viability, efficiency and scalability of high performance computing (HPC) applications. Performance analysis is defined as the exploration of the target application to identify scalability and efficiency limiting artifacts, called bottlenecks. A frequently used source of information for such performance analyses are so called performance measurements, i. e. observations of the target's runtime behavior. Performance analysis is however too expensive, as tools and measurement methods suffer from simplistic automatisms. Simpler control by the analyst is necessary to enable precise measurements and easier acquisition of insight. Three dominant inspection techniques are used to facilitate such performance measurements: sampling, pre-link instrumentation and binary instrumentation. As with all measurements, these techniques cause measurement perturbation, called overhead. Depending on how much and in what detail the measurements occur, this overhead can easily surpass the runtime of the original application, even by orders of magnitude. Therefore, users must strike a balance and often compromise between the inevitable overhead and the data coverage. This requires the flexibility to adjust what is measured and how often it is measured, which state-of-the-art sampling and binary instrumentation based tools offer. However, current pre-link instrumentation tools, lack in this regard. As each of these techniques is required, depending on the circumstances and the current analysis question, an improved pre-link instrumentation capability is needed. To this end, we present InstRO, a concept for a component-based toolbox for performance instrumentation offering a much needed solution in regards to flexibility and control.