We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Spack's new Concretizer

00:00

Formale Metadaten

Titel
Spack's new Concretizer
Untertitel
Dependency solving is more than just SAT!
Serientitel
Anzahl der Teile
490
Autor
Lizenz
CC-Namensnennung 2.0 Belgien:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
Dependency resolution is deceptively complex; simply selecting a set of compatible versions for an arbitrary network of dependencies is NP-hard. Much effort has been spent on this problem for modern single-language ecosystems, but many of these ecosystems rely on natively compiled libraries, and dependency mangers often fail at managing the additional complexities that native libraries entail. Further, dependency resolution has traditionally been modeled as a SAT problem, where the package manager should find any workable solution to satisfy package constraints. However, any solution may not be good enough. Users want the most tested, most optimized, or most secure configuration, and this is a SAT problem coupled with complex optimization. Spack is a package/dependency manager rapidly gaining popularity in High Performance Computing (HPC) that aims to address many of the complexities of native, multi-language, cross-platform dependency management. Spack has recently been reworked to use Answer Set Programming (ASP), a declarative logic programming paradigm that also provides sophisticated facilities for optimization. This talk will cover how we’ve been able to model the compiler toolchain, ISA, build options, ABI, and other constraints on native libraries. We’ll also talk about how ASP has been a useful tool for finding optimized dependency configurations. This work can be used to improve dependency resolvers in general — so that they can prefer more secure or tested configurations instead of simply selecting the most recent workable versions. Expected prior knowledge / intended audience: Audience should have basic knowledge of build systems and compiled languages, but we'll explain this up front with some brief background. The talk is aimed broadly -- for users, developers, packagers, researchers, package manager implementors, and HPC administrators.
SatellitensystemComputeranimationVorlesung/Konferenz
SLAM-VerfahrenSystemplattformQuellcodeMobiles EndgerätVersuchsplanungQuellcodeDatenverwaltungVersionsverwaltungGlobale OptimierungGebäude <Mathematik>CompilerBinärcodeVirtuelle MaschineWeb SiteComputersimulationDatenkompressionProjektive EbeneKonfigurationsraumStrömungsrichtungProgrammierumgebungCodeEndliche ModelltheorieNuklearer RaumSoftwareFormale SpracheDatenmanagementMultiplikationsoperatorSupercomputerDifferenteGraphikprozessorAuflösung <Mathematik>NP-hartes ProblemCodierungCoprozessorComputersicherheitQuick-SortBitMikroarchitekturBenutzeroberflächeVorlesung/Konferenz
Konfiguration <Informatik>DifferenteParametersystemGebäude <Mathematik>KonfigurationsraumImplementierungVersionsverwaltungCompilerSoftwareProgrammbibliothekFormale SpracheResolventeVorlesung/Konferenz
SupercomputerZeiger <Informatik>RechenwerkMenütechnikEindringerkennungSteuerwerkTemplateKonfigurationsraumKomplex <Algebra>SoftwareKombinatorikNebenbedingungAbstraktionsebeneDatenverwaltungMatrixinversionSatellitensystemFigurierte ZahlEndliche ModelltheorieVersionsverwaltungLogische ProgrammierungFehlermeldungBeweistheorieProjektive EbeneKonfigurationsraumDefaultAlgorithmusComputerarchitekturKonditionszahlKomplex <Algebra>Konfiguration <Informatik>DifferenteVirtuelle MaschineEigentliche AbbildungResultanteBacktrackingStatistikDatenmanagementQuick-SortZahlenbereichMAPThreadFahne <Mathematik>Boolesche AlgebraEin-AusgabeDistributionenraumEinsElektronische PublikationAuflösung <Mathematik>PunktSelbst organisierendes SystemSpeicherabzugBenutzerfreundlichkeitImplementierungVektorpotenzialMailing-ListeProgrammbibliothekResolventeRechter WinkelGebäude <Mathematik>SystemprogrammierungNebenbedingungSatellitensystemVirtualisierungCompilerInformationGlobale OptimierungProgrammierumgebungSoftwareMinkowski-MetrikKombinatorikSoftwareentwicklerDateiverwaltungVorlesung/Konferenz
DatenmodellVersionsverwaltungNebenbedingungFehlermeldungVerkehrsinformationSatellitensystemDatenstrukturWeg <Topologie>Message-PassingGlobale OptimierungKomplex <Algebra>BitZweiComputerspielGlobale OptimierungVersionsverwaltungInverser Limes
Interface <Schaltung>RestklassePhysikalische TheorieAnwendungsdienstanbieterOptimierungKonfiguration <Informatik>StandardabweichungGanze ZahlMathematikMathematische LogikOperations ResearchGlobale OptimierungMultiplikationFormale GrammatikProgrammverifikationDruckspannungNotepad-ComputerKomplex <Algebra>FehlermeldungSatellitensystemBeweistheorieManufacturing Execution SystemAlgorithmusImplementierungQuick-SortPhysikalische TheorieHöhere ProgrammierspracheNebenbedingungGlobale OptimierungNichtlineares GleichungssystemAnwendungsdienstanbieterSoftwareentwicklungComputersicherheitComputerAdditionMathematikRechter WinkelBoolesche AlgebraBeweistheorieProjektive EbeneErfüllbarkeitsproblemProgrammverifikationJackson-MethodeComputeranimation
MereologieAnwendungsdienstanbieterAlgorithmusPrototypingMathematische LogikGeradeDokumentenserverGebäude <Mathematik>Syntaktische AnalyseBruchrechnungKonfiguration <Informatik>Manufacturing Execution SystemBruchrechnungResultanteGenerator <Informatik>MultiplikationsoperatorRechter WinkelZeichenketteSoftwareentwicklungMailing-ListeDifferenteElektronische PublikationDeklarative ProgrammierungVersionsverwaltungLogische ProgrammierungBefehl <Informatik>Programm/QuellcodeComputeranimation
Minkowski-MetrikVersionsverwaltungGewicht <Ausgleichsrechnung>AnwendungsdienstanbieterMathematische LogikVersionsverwaltungInformationsverarbeitungLastLogische ProgrammierungATMMinkowski-MetrikQuick-SortGewicht <Ausgleichsrechnung>MereologieGeradeAnwendungsdienstanbieterBefehl <Informatik>CodeBitComputeranimation
CompilerNotepad-ComputerGewicht <Ausgleichsrechnung>Mathematische LogikArchitektur <Informatik>CodeÜbersetzer <Informatik>CodeCompilerÜbersetzer <Informatik>Globale OptimierungComputerarchitekturVersionsverwaltungQuick-SortComputeranimation
Virtuelle RealitätMathematische LogikNebenbedingungService providerQuellcodeLogische ProgrammierungInterface <Schaltung>Service providerDifferenteImplementierungNebenbedingungSymboltabelleComputeranimation
AnwendungsdienstanbieterGlobale OptimierungNotepad-ComputerSchreiben <Datenverarbeitung>EinschließungssatzGlobale OptimierungLokales MinimumNebenbedingungZahlenbereichDefaultGebäude <Mathematik>GeradeCodeKonfiguration <Informatik>KurvenanpassungQuick-SortComputeranimation
Installation <Informatik>VersionsverwaltungInstallation <Informatik>ImplementierungProgrammbibliothekComputeranimation
Installation <Informatik>Konfiguration <Informatik>Endliche ModelltheorieNebenbedingungGebäude <Mathematik>Rechter WinkelArithmetisches MittelProgramm/QuellcodeComputeranimation
InformationFehlermeldungNotepad-ComputerMessage-PassingBeweistheoriePunktNebenbedingungQuick-SortLokales MinimumPrototypingCASE <Informatik>Güte der AnpassungFunktion <Mathematik>FehlermeldungSchnittmengeNebenbedingungBeweistheorieGenerator <Informatik>Mechanismus-Design-TheorieSpeicherabzugComputeranimation
SystemprogrammierungGlobale OptimierungPunktCompilerDeterministischer ProzessFehlermeldungAnwendungsdienstanbieterKontrollstrukturAnalysisGrundsätze ordnungsmäßiger DatenverarbeitungSystem FProgrammbibliothekNebenbedingungVersionsverwaltungProgrammierumgebungStandardabweichungSystemprogrammierungDivergenz <Vektoranalysis>VerschlingungLaufzeitfehlerKonfigurationsraumQuick-SortProzess <Informatik>InformationExistenzsatzPunktSystemaufrufGraphComputeranimation
PlastikkarteInstallation <Informatik>NebenbedingungEliminationsverfahrenLokales MinimumRechter WinkelGraphImplementierungAuflösung <Mathematik>Konfiguration <Informatik>KonfigurationsraumTotal <Mathematik>ZahlenbereichNP-vollständiges ProblemGewicht <Ausgleichsrechnung>SatellitensystemMultiplikationsoperatorProgramm/QuellcodeComputeranimation
Minkowski-MetrikVersionsverwaltungGewicht <Ausgleichsrechnung>AnwendungsdienstanbieterMathematische LogikGewicht <Ausgleichsrechnung>PlastikkarteElektronische PublikationDifferenteMinkowski-MetrikOrdnung <Mathematik>KonfigurationsraumAuflösung <Mathematik>MultiplikationsoperatorSimplexverfahrenGlobale OptimierungNebenbedingungOptimierungsproblemGreedy-AlgorithmusVersionsverwaltungComputeranimation
Installation <Informatik>EinsQuick-SortSpeicherabzugQuellcodeKonfigurationsraumBeweistheorieBinärcodeSystemprogrammierungGeradeSoftwareentwicklungProgramm/QuellcodeComputeranimation
AnwendungsdienstanbieterMereologieAlgorithmusPrototypingDokumentenserverMathematische LogikKonfiguration <Informatik>Gebäude <Mathematik>BruchrechnungSyntaktische AnalyseGeradeStrom <Mathematik>ImplementierungQuellcodeProgrammierumgebungMultigraphNP-hartes ProblemPolygonzugMaßstabKonditionszahlDefaultNebenbedingungMultiplikationssatzBeschreibungskomplexitätInklusion <Mathematik>DatenverwaltungElektronische PublikationAbstraktionsebeneSchnittmengeRegulärer GraphEndliche ModelltheorieÄhnlichkeitsgeometrieSoftwareentwicklerWurzel <Mathematik>PortabilitätEin-AusgabeKonfigurationsraumQuick-SortVirtuelle MaschineComputeranimation
PunktwolkeOpen SourceFacebook
Transkript: Englisch(automatisch erzeugt)