SC2024Top-tier venue
A Probabilistic Approach To Selecting Build Configurations in Package Managers
Daniel Nichols, Harshitha Menon, Todd Gamblin, Abhinav Bhatele
Abstract
Modern scientific software in high performance computing is often complex, and many parallel applications and libraries depend on several other software or libraries. Developers and users of such complex software often use package managers for building them. Package managers depend on humans to codify package constraints (for dependency and version selection), and the dependency graph of a software package can often become large (hundreds of vertices). In addition, package constraints often become outdated and inconsistent over time since they are maintained by different people for different packages, which is a laborious task. This can result in package builds to fail for certain package configurations. In this paper, we propose a methodology that uses historical build results to assist a package manager in selecting the best versions of package dependencies with an aim to improve the likelihood of a successful build. We utilize a machine learning (ML) model to predict the probability of build outcomes of different configurations of packages in the Spack package manager. When evaluated on common scientific software stacks, this ML model-based approach is able to achieve a higher success rate in building packages than the default version selection mechanism in Spack.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext e38ad618-5f1c-431e-b392-277d607cc8d7Cited by top-tier papers1
Ask how each one uses itBuilds on1
Related papers
- Bridging the Gap Between Binary and Source Based Package Management in SpackJohn Gouwar, Gregory Becker, Tamara Dahlgren, Nathan Hanford et al.SC 2025 · 1 citation
- Mapping Out the HPC Dependency ChaosFarid Zakaria, Thomas R. W. Scogland, Todd Gamblin, Carlos MaltzahnSC 2022 · 3 citations
- Generalizable and interpretable learning for configuration extrapolationYi Ding, Ahsan Pervaiz, Michael Carbin, Henry HoffmannFSE 2021 · 11 citations
- Discovering Parallelisms in Python ProgramsSiwei Wei, Guyang Song, Senlin Zhu, Ruoyi Ruan et al.FSE 2023 · 1 citation
- Fixing dependency errors for Python build reproducibilitySuchita Mukherjee, Abigail Almanza, Cindy Rubio-GonzálezISSTA 2021 · 55 citations
