In this paper we address the problem of massive event trace sizes, one of the most urgent challenges in the performance analysis of large-scale parallel applications. Reducing trace sizes during the application runtime decreases application slow down, eliminates measurement bias, and cuts down stress on the underlying file system. Previous approaches use static filters to decrease trace size, which relies on preceding knowledge about the application or, otherwise, delivers poor results. In contrast, we propose runtime filters that automatically adapt to an application's runtime behavior and, therefore, do not require any prior knowledge. We present and compare four adaptive runtime filters: for regions that are leaf nodes in the call tree, for regions with similar duration, for activities within iterations, and for blocks of activities with repetitive behavior. We evaluate a prototype implementation of these filters based on the stateof-the-art trace collector Score-P and the Open Trace Format 2 trace library with five real-life applications and achieved a trace size reduction of up to two orders of magnitude and an additional overhead of less than one percent in average.
['Jonas Stolle', 'Michael Wagner', 'Jens Doleschal', 'Felix Schmitt', 'Holger Brunst']
Adaptive Runtime Filtering: Reducing Trace Size and Bias in Event-Based Performance Analysis