一句话:提出方法级白盒性能影响建模,结合粗/细粒度剖析与学习,定位配置敏感方法并提高预测精度。
现代可配置软件需通过性能模型寻找最优配置,但现有黑盒方法虽预测准确,却无法将性能行为归因到具体代码区域,阻碍系统理解与配置选项影响追踪。本文提出白盒方法,在方法级建模依赖配置的性能行为,从而预测配置决策对单个方法的影响,支持性能调试。方法分两步:先用粗粒度剖析器为所有方法学习性能影响模型,识别高度配置且性能敏感、导致预测不准的方法;再用细粒度剖析器重新测量这些方法,以更高代价学习更精确模型。作者在9个真实Java系统上评估,表明能高效识别配置相关方法并学习准确的性能影响模型。
Many modern software systems are highly configurable, allowing the user to tune them for performance and more. Current performance modeling approaches aim at finding performance-optimal configurations by building performance models in a black-box manner. While these models provide accurate estimates, they cannot pinpoint causes of observed performance behavior to specific code regions. This does not only hinder system understanding, but it also complicates tracing the influence of configuration options to individual methods. We propose a white-box approach that models configuration-dependent performance behavior at the method level. This allows us to predict the influence of configuration decisions on individual methods, supporting system understanding and performance debugging. The approach consists of two steps: First, we use a coarse-grained profiler and learn performance-influence models for all methods, potentially identifying some methods that are highly configuration-and performance-sensitive, causing inaccurate predictions. Second, we re-measure these methods with a fine-grained profiler and learn more accurate models, at higher cost, though. By means of 9 real-world Java software systems, we demonstrate that our approach can efficiently identify configuration-relevant methods and learn accurate performance-influence models.