Reliabuild: Searching for High-Fidelity Builds Using Active Learning

02/10/2022
by   Harshitha Menon, et al.
0

Modern software is incredibly complex. A typical application may comprise hundreds or thousands of reusable components. Automated package managers can help to maintain a consistent set of dependency versions, but ultimately the solvers in these systems rely on constraints generated by humans. At scale, small errors add up, and it becomes increasingly difficult to find high-fidelity configurations. We cannot test all configurations, because the space is combinatorial, so exhaustive exploration is infeasible. In this paper, we present Reliabuild, an auto-tuning framework that efficiently explores the build configuration space and learns which package versions are likely to result in a successful configuration. We implement two models in Reliabuild to rank the different configurations and use adaptive sampling to select good configurations with fewer samples. We demonstrate Reliabuild's effectiveness by evaluating 31,186 build configurations of 61 packages from the Extreme-scale Scientific Software Stack(E4S). Reliabuild selects good configurations efficiently. For example, Reliabuild selects 3X the number of good configurations in comparison to random sampling for several packages including Abyss, Bolt, libnrm, OpenMPI. Our framework is also able to select all the high-fidelity builds in half the number of samples required by random sampling for packages such as Chai, OpenMPI, py-petsc4py, and slepc. We further use the model to learn statistics about the compatibility of different packages, which will enable package solvers to better select high-fidelity build configurations automatically.

READ FULL TEXT

page 8

page 10

research
10/16/2022

Using Answer Set Programming for HPC Dependency Solving

Modern scientific software stacks have become extremely complex, using m...
research
03/25/2022

Using Solver-Aided Languages to Build Package Managers

Open-source software is critical for modern development, but most open-s...
research
07/27/2023

Can Quantum Computing Improve Uniform Random Sampling of Large Configuration Spaces? (Preprint)

A software product line models the variability of highly configurable sy...
research
01/29/2021

Predicting Nanorobot Shapes via Generative Models

The field of DNA nanotechnology has made it possible to assemble, with h...
research
11/16/2020

Dependency Solving Is Still Hard, but We Are Getting Better at It

Dependency solving is a hard (NP-complete) problem in all non-trivial co...
research
09/21/2023

Active Learning for a Recursive Non-Additive Emulator for Multi-Fidelity Computer Experiments

Computer simulations have become essential for analyzing complex systems...
research
03/07/2020

An Active Learning Framework for Constructing High-fidelity Mobility Maps

A mobility map, which provides maximum achievable speed on a given terra...

Please sign up or login with your details

Forgot password? Click here to reset