Generalizable and interpretable learning for configuration extrapolation

Generalizable and interpretable learning for configuration extrapolation
复制标题

DOI:
10.1145/3468264.3468603
复制
发表时间:
2021-08
期刊:
Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Yi Ding;Ahsan Pervaiz;Michael Carbin;H. Hoffmann
Yi Ding;Ahsan Pervaiz;Michael Carbin;H. Hoffmann
中科院分区:
其他
文献类型:
--
作者:
Yi Ding;Ahsan Pervaiz;Michael Carbin;H. Hoffmann

文献摘要

相似文献

现代软件应用程序的可配置性越来越强,这给用户带来了针对其目标硬件和工作负载调整这些配置的负担。为了帮助用户,机器学习技术可以对软件配置参数和性能之间的复杂关系进行建模。虽然功能强大,但这些学习器有两个主要缺点:(1)它们很少结合先验知识,(2)它们产生的输出无法由用户解释。这些限制使得难以(1)利用用户已经收集的信息(例如,使用来自旧硬件的最佳配置来调谐新硬件)和(2)获得对学习者行为的洞察(例如,理解学习者为什么在不同的硬件上或针对不同的工作负载选择不同的配置)。为了解决这些问题,本文提出了两个配置优化工具,GIL和GIL+,使用所提出的通用和可解释的学习方法。为了结合先验知识,所提出的工具(1)从已知配置开始,(2)迭代地构造新的线性模型,(3)从该模型推断出更好的性能配置,以及(4)重复。由于基本学习器是线性模型,因此这些工具本质上是可解释的。我们增强了这个属性的图形表示,他们如何达到最高的性能配置。我们通过使用GIL和GIL+在不同的硬件平台上配置Apache Spark工作负载来评估GIL和GIL+,并发现,与以前的工作相比,GIL和GIL+可以产生相当的,有时甚至更好的性能配置,但具有可解释的结果。
Modern software applications are increasingly configurable, which puts a burden on users to tune these configurations for their target hardware and workloads. To help users, machine learning techniques can model the complex relationships between software configuration parameters and performance. While powerful, these learners have two major drawbacks: (1) they rarely incorporate prior knowledge and (2) they produce outputs that are not interpretable by users. These limitations make it difficult to (1) leverage information a user has already collected (e.g., tuning for new hardware using the best configurations from old hardware) and (2) gain insights into the learner’s behavior (e.g., understanding why the learner chose different configurations on different hardware or for different workloads). To address these issues, this paper presents two configuration optimization tools, GIL and GIL+, using the proposed generalizable and interpretable learning approaches. To incorporate prior knowledge, the proposed tools (1) start from known configurations, (2) iteratively construct a new linear model, (3) extrapolate better performance configurations from that model, and (4) repeat. Since the base learners are linear models, these tools are inherently interpretable. We enhance this property with a graphical representation of how they arrived at the highest performance configuration. We evaluate GIL and GIL+ by using them to configure Apache Spark workloads on different hardware platforms and find that, compared to prior work, GIL and GIL+ produce comparable, and sometimes even better performance configurations, but with interpretable results.