Reliabuild:使用主动学习搜索高保真构建
软件工程
2022-02-11 v1
摘要
现代软件极其复杂。一个典型的应用程序可能包含数百或数千个可复用组件。自动化包管理器有助于维护一组一致的依赖版本,但最终这些系统中的求解器依赖于人工生成的约束。在大规模情况下,小错误会累积,找到高保真配置变得越来越困难。我们无法测试所有配置,因为空间是组合的,因此穷举探索是不可行的。在本文中,我们提出了 Reliabuild,一个自动调优框架,它能高效地探索构建配置空间,并学习哪些包版本可能产生成功的配置。我们在 Reliabuild 中实现了两个模型来对不同的配置进行排序,并使用自适应采样以更少的样本选择好的配置。我们通过评估来自极限规模科学软件栈(E4S)的 61 个包的 31,186 个构建配置,展示了 Reliabuild 的有效性。Reliabuild 能高效地选择好的配置。例如,对于包括 Abyss、Bolt、libnrm、OpenMPI 在内的多个包,Reliabuild 选择的良好配置数量是随机采样的 3 倍。对于 Chai、OpenMPI、py-petsc4py 和 slepc 等包,我们的框架还能以随机采样所需样本数的一半选出所有高保真构建。我们进一步使用该模型学习不同包之间兼容性的统计信息,这将使包求解器能够更好地自动选择高保真构建配置。
引用
@article{arxiv.2202.05223,
title = {Reliabuild: Searching for High-Fidelity Builds Using Active Learning},
author = {Harshitha Menon and Konstantinos Parasyris and Tom Scogland and Todd Gamblin},
journal= {arXiv preprint arXiv:2202.05223},
year = {2022}
}