Singularitet (mjukvara)

Säregenhet
Originalförfattare Gregory Kurtzer (gmk), et al.
Utvecklare
Gemenskapen Gregory Kurtzer
Stabil frisättning
3.8.7 / 17 mars 2022 ; 11 månader sedan ( 2022-03-17 )
Förvar
Skrivet i
Operativ system Linux
Typ Virtualisering på operativsystemnivå
Licens 3-klausul BSD-licens
Hemsida apptainer .org Edit this at Wikidata

Singularity är ett gratis datorprogram med öppen källkod som utför virtualisering operativsystemnivå, även känt som containerisering.

En av de huvudsakliga användningsområdena för Singularity är att föra behållare och reproducerbarhet till vetenskapliga datorer och högpresterande datorer ( HPC)-världen.

Behovet av reproducerbarhet kräver förmågan att använda behållare för att flytta applikationer från system till system.

Med hjälp av Singularity-behållare kan utvecklare arbeta i reproducerbara miljöer efter eget val och design, och dessa kompletta miljöer kan enkelt kopieras och köras på andra plattformar.

År 2021 delades Singularity open source-projektet upp i två projekt som heter Apptainer och SingularityCE .

Användningsarbetsflöde för Singularity-behållare

Historia

Singularity började som ett öppen källkodsprojekt 2015, när ett team av forskare vid Lawrence Berkeley National Laboratory , ledd av Gregory Kurtzer, utvecklade den ursprungliga versionen skriven i programmeringsspråket C och släppte den under BSD-licensen .

I slutet av 2016 gick många utvecklare från olika forskningsanläggningar samman med teamet vid Lawrence Berkeley National Laboratory för att främja utvecklingen av Singularity.

Singularitet väckte snabbt uppmärksamhet från datortunga vetenskapliga institutioner över hela världen:

  • Stanford University Research Computing Center implementerade Singularity på sina XStream- och Sherlock-kluster
  • National Institutes of Health installerade Singularity på Biowulf, deras 95 000+ kärna/30 PB Linux-kluster
  • Olika platser i Open Science Grid Consortium inklusive Fermilab började anta Singularity; i april 2017 distribuerades Singularity på 60 % av nätverket Open Science Grid.

För två år i rad, 2016 och 2017, erkändes Singularity av HPCwires redaktörer som "En av fem nya tekniker att titta på". Under 2017 vann Singularity också förstaplatsen för kategorin "Bästa HPC-programmeringsverktyg eller -teknik".

Från och med 2018, baserat på de uppgifter som matats in på frivillig basis i ett offentligt register, uppskattades Singularity -användarbasen vara större än 25 000 installationer och inkluderade användare vid akademiska institutioner som Ohio State University och Michigan State University , såväl som topp HPC centra som Texas Advanced Computing Center , San Diego Supercomputer Center och Oak Ridge National Laboratory .

I februari 2018 tillkännagavs Sylabs-företaget, grundat av Singularity-författaren, för att ge kommersiellt stöd för Singularity. I oktober samma år släppte Sylabs version 3.0.0 som var en omskrivning i programmeringsspråket Go .

I maj 2020 lämnade Gregory Kurtzer Sylabs men behöll ledarskapet för Singularity open source-projektet. I maj 2021 gjorde Sylabs en gaffel av projektet och kallade det SingularityCE. I november 2021 gick Singularity open source-projektet med i Linux Foundation och döptes om till Apptainer .

Funktioner

Singularity kan stödja naturligt högpresterande sammankopplingar, såsom InfiniBand och Intel Omni-Path Architecture (OPA).

I likhet med stödet för InfiniBand- och Intel OPA-enheter kan Singularity stödja alla PCIe -anslutna enheter inom beräkningsnoden, såsom grafiska acceleratorer .

Singularity har också inbyggt stöd för Open MPI- bibliotek genom att använda en hybrid MPI-containermetod där OpenMPI finns både inuti och utanför containern.

Dessa funktioner gör Singularity allt mer användbar inom områden som maskininlärning , djupinlärning och mest dataintensiva arbetsbelastningar där applikationerna drar nytta av den höga bandbredden och låga latensegenskaperna hos dessa teknologier.

Integration

HPC-system har traditionellt sett redan resurshantering och jobbschemaläggningssystem på plats, så containerruntime-miljöerna måste integreras i den befintliga systemresurshanteraren.

Att använda andra containerlösningar för företag som Docker i HPC-system skulle kräva modifieringar av programvaran. Docker-behållare kan automatiskt konverteras till fristående singularitetsfiler som sedan kan skickas till HPC-resurshanterare.

Singularity integreras sömlöst med många resurshanterare inklusive:

Se även

Vidare läsning

externa länkar