High Performance Computing: Container-Plattform Singularity setzt auf Go

Teile der Codebasis der Container-Plattform für High Performance Computing sind jetzt in Go geschrieben. Außerdem gibt es ein neues Datenformat.

In Pocket speichern vorlesen Druckansicht
High Performance Computing: Container-Plattform Singularity setzt auf Go

(Bild: geralt, Pixabay)

Lesezeit: 2 Min.
Von
  • Björn Bohn

Sylabs, ein Anbieter für Container-Laufzeitumgebungen im Bereich des High Performance Computing (HPC), hat Version 3.0 seiner quelloffenen Container-Plattform Singularity veröffentlicht. Das Release öffnet das Container-Ökosystem von Sylabs, inklusive der Teilbereiche Remote Builder Services, Container Library Services und Key Management Services für Anwender. Außerdem setzt die neue Version mit dem Singularity Image Format (SIF) auf ein neues Format zum Packen von Containern. Teile der Codebasis hat das Singularity-Team außerdem nun in Googles Programmiersprache Go geschrieben, um die Funktionen der Software zu erweitern.

Singularity erschien erstmals im Jahr 2016. Laut Sylabs verwenden mehr als 25.000 Nutzer in unterschiedlichen HPC-Bereichen Singularity. Dazu gehören beispielsweise die Universitäten Harvard, Stanford und Princeton, aber auch das San Diego Supercomputer Center. Wer sich das Projekt im Detail ansehen möchte, ist auf GitHub gut aufgehoben.

Während die Remote Builder Services es Nutzern ermöglichen soll, Container ohne Root-Zugriff zu erstellen, liefern die Library Services ein Repository für die Singularity Container. Das Key Management bietet hingegen einen Signier- und Validierdienst für die Bibliotheken an. Mit dem Singularity Image Format haben Container-Laufzeiten jetzt einen neuen standardmäßigen Packaging-Mechanismus, der ein kryptografisches Signieren und Validieren zu Singularity bringt.

Darüber hinaus haben die Macher der Plattform Teile der Codebasis in Go umgeschrieben. Da viele der großen Projekte in der Container-Welt in Go geschrieben sind, möchte Sylabs dadurch eine größere Interoperabilität gewährleisten und Singularity für mehr Anwender attraktiv gestalten. Außerdem soll Singularity dadurch Features einsetzen können, deren Umsetzung in klassischen C-, Python- oder Bash-Architekturen mehr Zeit gekostet hätte. (bbo)