Using Answer Set Programming for HPC Dependency Solving

被引:1
|
作者
Gamblin, Todd [1 ]
Culpo, Massimiliano [1 ]
Becker, Gregory [1 ]
Shudler, Sergei [1 ]
机构
[1] Lawrence Livermore Natl Lab, Livermore, CA 94550 USA
关键词
High performance computing; Software packages; Package management; Logic programming; Answer set programming; Software reusability; Dependency management;
D O I
10.1109/SC41404.2022.00040
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Modern scientific software stacks have become extremely complex, using many programming models and libraries to exploit a growing variety of GPUs and accelerators. Package managers can mitigate this complexity using dependency solvers, but they are reaching their limits. Finding compatible dependency versions is NP-complete, and modeling the semantics of package compatibility modulo build-time options, GPU runtimes, flags, and other parameters is extremely difficult. Within this enormous configuration space, defining a "good" configuration is daunting. We tackle this problem using Answer Set Programming (ASP), a declarative model for combinatorial search problems. We show, using the Spack package manager, that ASP programs can concisely express the compatibility rules of HPC software stacks and provide strong quality-of-solution guarantees. Using ASP, we can mix new builds with preinstalled binaries, and solver performance is acceptable even when considering tens of thousands of packages.
引用
收藏
页数:15
相关论文
共 50 条
  • [1] Using Answer Set Programming for Solving Boolean Games
    De Clercq, Sofie
    De Cock, Martine
    Banters, Kim
    Schockaert, Steven
    Nowe, Ann
    FOURTEENTH INTERNATIONAL CONFERENCE ON THE PRINCIPLES OF KNOWLEDGE REPRESENTATION AND REASONING, 2014, : 602 - 605
  • [2] Grounding and Solving in Answer Set Programming
    Kaufmann, Benjamin
    Leone, Nicola
    Perri, Simona
    Schaub, Torsten
    AI MAGAZINE, 2016, 37 (03) : 25 - 32
  • [3] Solving stable matching problems using answer set programming
    De Clercq, Sofie
    Schockaert, Steven
    De Cock, Martine
    Nowe, Ann
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2016, 16 : 247 - 268
  • [4] Solving the Travelling Umpire Problem with Answer Set Programming
    Vennekens, Joost
    BNAIC 2016: ARTIFICIAL INTELLIGENCE, 2017, 765 : 106 - 118
  • [5] Solving Advanced Argumentation Problems with Answer Set Programming
    Brewka, Gerhard
    Diller, Martin
    Heissenberger, Georg
    Linsbichler, Thomas
    Woltran, Stefan
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2020, 20 (03) : 391 - 431
  • [6] Answer Set Programming: Related with Other Solving Paradigms
    Janhunen T.
    KI - Künstliche Intelligenz, 2018, 32 (2-3) : 125 - 131
  • [7] Algorithms for solving optimization problems in answer set programming
    Alviano, Mario
    INTELLIGENZA ARTIFICIALE, 2018, 12 (01) : 1 - 14
  • [8] Solving Gossip Problems using Answer Set Programming: An Epistemic Planning Approach
    Erdem, Esra
    Herzig, Andreas
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2020, (325): : 52 - 58
  • [9] Solving alternating Boolean equation systems in answer set programming
    Keinänen, M
    Niemelä, I
    APPLICATIONS OF DECLARATIVE PROGRAMMING AND KNOWLEDGE MANAGEMENT, 2005, 3392 : 134 - 148
  • [10] Solving a spatial puzzle using Answer Set Programming integrated with Markov Decision Process
    dos Santos, Thiago Freitas
    Santos, Paulo E.
    Ferreira, Leonardo A.
    Bianchi, Reinaldo A. C.
    Cabalar, Pedro
    2018 7TH BRAZILIAN CONFERENCE ON INTELLIGENT SYSTEMS (BRACIS), 2018, : 528 - 533