一句话:提出 GIL/GIL+,用可解释线性模型迭代外推配置,实现跨硬件与工作负载的配置优化。
现代软件配置参数众多,用户需针对硬件与工作负载调参。机器学习可建模配置与性能关系,但常忽略先验知识且结果不可解释,难以复用旧硬件配置并理解模型行为。本文提出 GIL 与 GIL+ 两个配置优化工具:从已知配置出发,迭代构建线性模型,从模型中外推性能更优配置并重复;由于基学习器是线性模型,工具天然可解释,并用图形化方式展示最优配置的导出过程。作者在多种硬件平台上配置 Apache Spark 工作负载进行评估,发现相比先前方法,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.