Cloud-Natives Projekt: Volcano Version 1.6 fertiggestellt

Die Cloud Native Computing Foundation hat die Verfügbarkeit der Version 1.6 des Open-Source-Batch-Computing-Projekts Volcano bekanntgegeben.

Lesezeit: 4 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen
Red,Giant,Star,On,The,Horizon,Of,A,Desert,Planet.

(Bild: Andrea Danti/Shutterstock.com)

Von
  • Frank-Michael Schlede

Im April 2022 hatte die Cloud Native Computing Foundation (CNCF) Volcano als erstes Batch-Computing-Projekt in ihren Inkubator aufgenommen. Die Software soll es unter anderem möglich machen, Anwendungen für High Performance Computing (HPC), Big Data und Künstliche Intelligenz (KI) Cloud-nativ umzusetzen. Die jetzt vorgestellte Version 1.6 von Volcano bietet neue Funktionen wie elastische Auftragsverwaltung, dynamische Planung und Neuplanung auf der Grundlage der tatsächlichen Ressourcenauslastung sowie ein Plug-in für Message-Passing-Interface-Aufträge.

Die Planung für elastische Jobs kann sowohl mit Volcano Jobs als auch mit PyTorch Jobs arbeiten. Diese neue Funktion soll KI-Training und Big Data-Analysen beschleunigen und zudem die Kosten durch die Nutzung von Spot-Instanzen in der Cloud reduzieren können.

Die Anzahl der für einen elastischen Job zulässigen Replikate liegt innerhalb der Werte [min,max]. Dabei entspricht min dem Wert minAvailable des Jobs, und max gibt die Anzahl der Replikate des Jobs an. Das elastische Scheduling-Modul weist den minAvailable-Pods bevorzugt Ressourcen zu, um auf diese Weise sicherzustellen, dass ihre Mindestanforderungen an Ressourcen erfüllt werden.

Das elastische Scheduling-Modul weist den minAvailable-Pods bevorzugt Ressourcen zu, sodass ihre Mindestanforderungen an Ressourcen erfüllt werden.

(Bild: Cloud Native Computing Foundation)

Befinden sich die Ressourcen im Leerlauf, werden sie vom Scheduler den Elastic Pods zugewiesen, um die Rechenleistung zu beschleunigen. Ist der Cluster allerdings knapp an Ressourcen, zieht der Scheduler die Ressourcen der elastischen Pods vor, wodurch ein Scale-in ausgelöst wird. Der Scheduler gleicht die Ressourcenzuweisung auch anhand von Prioritäten aus. So kann dann beispielsweise ein Auftrag mit hoher Priorität die Ressourcen eines elastischen Pods für einen Auftrag mit niedriger Priorität vorwegnehmen. Entwickler und Entwicklerinnen finden einen sehr ausführlichen Beitrag zu dieser Technik auf GitHub.

Der aktuelle Planungsmechanismus, der bei Volcano zum Einsatz kommt, basiert auf Anforderung und Zuweisung von Ressourcen. Allerdings hat das Entwicklerteam hinter der Software festgestellt, dass diese Vorgehensweise zu einer unausgewogenen Auslastung der Knotenressourcen führen kann. So kann ein Nutzer oder eine Nutzerin beispielsweise einen Pod auf einem Knoten mit einer extrem hohen Ressourcennutzung einplanen und so eine Knotenausnahme verursachen, während es einige andere Knoten im Cluster gibt, die nicht stark genutzt werden.

Deshalb arbeitet Volcano in der Version 1.6.0 mit dem Observability-Tool Prometheus zusammen, um Entscheidungen über die Planung zu treffen. Prometheus sammelt Daten über die Ressourcennutzung von Clusterknoten, und Volcano verwendet diese Daten, um die Ressourcennutzung der Knoten so gut wie möglich auszugleichen. Entwicklerinnen und Entwickler können auch die Grenzen der CPUs und des Arbeitsspeichers für jeden Knoten konfigurieren. Das verhindert Knotenausnahmen, die durch Pods verursacht werden, die zu viele Ressourcen verwenden.

Programmierer und Programmiererinnen können mit diesem Release nun auch Volcano Jobs verwenden, um Message-Passing-Interface-(MPI)-Aufträge auszuführen. Die in Volcano Jobs integrierten Plugins wie svc, env und ssh konfigurieren automatisch die passwortfreie Kommunikation und die Injektion von Umgebungsvariablen für die Master und Worker von MPI-Jobs. Die Ausführung von MPI-Jobs soll dabei durch das MPI-Plug-in deutlich leichter geworden sein: So brauchen Entwickler und Entwicklerinnen sich nun nicht mehr um die Shell-Syntax, die Kommunikation zwischen Master und Worker oder die manuelle SSH-Authentifizierung kümmern und können einen MPI-Job nun auf weitaus einfachere Weise starten.

Weitere Informationen, die auch einen Quick Start Guide beinhalten, können Interessierte auf GitHub finden.

(fms)