Praxistipps für High Performance Computing

Tools für HPC und effektive Überwachung der Infrastruktur

| Autor / Redakteur: Thomas Joos / Ulrike Ostler

HPC beruht häufig auf Computer-Cluster; zu sehen ist hier eine Aufnahme des NASA Ames Research Center - Tom Trower aus dem Jahr 2004. Das Cluster bestand damals aus 20 SGI Altix-Systemen mit insgesamt 10.240 CPUs.
HPC beruht häufig auf Computer-Cluster; zu sehen ist hier eine Aufnahme des NASA Ames Research Center - Tom Trower aus dem Jahr 2004. Das Cluster bestand damals aus 20 SGI Altix-Systemen mit insgesamt 10.240 CPUs. (Bild: gemeinfrei / CC0)

Im High-Performance-Computing (HPC) spielen Tools und Überwachungslösungen insbesondere zur Sicherung des effektiven Hardware-Betriebs eine wichtige Rolle. Oftmals handelt es sich um Open-Source-Software.

Vor allem beim Betrieb von HPC-Clustern in der Cloud profitieren Unternehmen von nahezu unbegrenzten Ressourcen und sehr flexiblen Umgebungen. Die verschiedenen Anbieter, wie Microsoft und Amazon stellen Skripte und Tools zur Verfügung, mit denen sich HPC-Cluster sehr schnell installieren und betreiben lassen.

HPC-Cluster mit OpenHPC

Geht es um Opensource für HPC-Umgebungen, kommen Entwickler und Administratoren kaum um OpenHPC herum. Bei dem Projekt handelt es sich um ein Projekt der Linux Foundation. Im Fokus der Umgebung steht der einfache und kostengünstige Betrieb von HPC-Umgebungen. Alle Komponenten, die für einen HPC-Cluster benötigt werden, lassen sich über OpenHPC als Opensource kostenlos beziehen.

Das OpenHPC-Framework wurde vor allem für CentOS und Suse Linux Enterprise Server (SLES) entwickelt. Für den Betrieb werden also zuerst Linux-Server mit diesen Betriebssystemen benötigt. Danach kann über OpenHPC ein HPC-Framework auf diesen Servern betrieben werden. Die Entwickler stellen auf Ihrer Webseite auch Anleitungen für den Betrieb eines HPC-Clusters mit den verschiedenen Werkzeugen zur Verfügung.

Der Vorteil bei der Verwendung von OpenHPC besteht vor allem darin, dass der Vorgang zum Erstellen eines HPC-Clusters sehr vereinfacht wird. Denn die einzelnen, notwendigen Komponenten in OpenHPC sind aufeinander abgestimmt und getestet. Die Installation ist in Linux recht schnell abgeschlossen und der HPC-Cluster lässt sich wesentlich schneller installieren und einrichten, als bei der Verwendung von einzelnen Komponenten in diesem Bereich.

HPC-Cluster per Powershell-Skript erstellen

Um einen HPC-Cluster aufzubauen, gibt es verschiedene Möglichkeiten. Generell lässt sich ein physischer Betrieb im eigenen Rechenzentrum, vom Betrieb in Cloud-Umgebungen unterscheiden. Hier können Unternehmen zum Beispiel auf Funktionen in Amazon Web Services (AWS) oder „Microsoft Azure“ setzen.

Ergänzendes zum Thema
 
Die Kurzfassung

In Microsoft Azure lassen sich HPC-Cluster auf Basis verschiedener Systeme erstellen.
In Microsoft Azure lassen sich HPC-Cluster auf Basis verschiedener Systeme erstellen. (Bild: Thomas Joos/ Microsoft)

HPC in Azure

Microsoft arbeitet etwa mit Cray zusammen. Durch diese Zusammenarbeit können Unternehmen in Microsoft Azure über Assistenten einen HPC-Cluster der Serie „XC“ und „CS“ betreiben. Die notwendige Hardware wird in Microsoft-Rechzentren betrieben.

Microsoft stellt ein Powershell-Skript zur Verfügung, mit dem sich in Microsoft Azure ein Linux-HPC-Cluster auf Basis von virtuellen Servern erstellen lässt.

Neben komplexen Skripten stehen für „Windows Server 2016“ und „Windows 10“ auch Powershell-CMDlets zur Verfügung, mit denen sich HPC-Cluster verwalten lassen. Im Microsoft-TechNet gibt es dazu verschiedene Artikel, mit Links zu den einzelnen CMDlets zur Verwaltung eines HPC-Cluster.

HPC Pack 2016 in Microsoft Azure

Microsoft stellt in GitHub Vorlagen zur Verfügung, mit denen sich in Microsoft Azure HCP-Cluster auf Basis des HPC Pack 2016 erstellen lassen. Die Vorlagen ermöglichen auch eine Integration in Active Directory.

Von Linux aus auf Windows-HPC-Cluster zugreifen

Unternehmen, die in Microsoft Azure einen HPC-Cluster betreiben, oder die mit dem HPC-Pack von Microsoft einen eigenen HPC-Cluster auf Basis von Windows einsetzen, können diesen dennoch von Linux aus verwalten. Zunächst steht dazu die neue Powershell 6.0 Core zur Verfügung, mit der sich von Linux aus mit Powershell-Befehlen arbeiten lässt. Außerdem können in Linux Tools wir „rdesktop“ oder „xfreerdp“ verwendet werden, um auf den Desktop eines HPC-Servers zuzugreifen. Die beiden Tools gehören zu den Standardmitteln von fast allen Linux-Distributionen und lassen sich sehr schnell installieren und nutzen.

Intel HPC Orchestrator HPC-Cluster effektiv betreiben und konfigurieren

Mit „Intel HPC Orchestrator“ können HPC-Cluster schneller und einfacher geplant und installiert werden. Ist ein Cluster in Betrieb, lässt sich mit der Software auch die Verwaltung und Erweiterung von HPC-Cluster bewerkstelligen. Basis von „Intel HPC Orchestrator“ ist OpenHPC-System-Software-Stack und profitiert von den Vorteilen der Open-Source-Lösung.

Die Software kann an jedem Status des Betriebs eines HPC-Cluster eingeführt werden. Es spielt keine Rolle, ob ein HPC-Cluster geplant oder installiert werden soll. Bereits vorhandene Cluster profitieren ebenfalls davon. Denn Intel HPC Orchestrator hilft auch bei der Installation von Updates oder der Aktualisierung von HPC-Clustern. Das Produkt basiert auf OpenHPC.

Mit der Lösung kann der Storage einer HPC-Umgebung genauso verwaltet werden, wie die remote Einwahl und alle anderen Bereiche der HPC-Verwaltung. Neuerungen des Tool werden durch die aktive Community integriert. Es lohnt sich einen Blick auf die Möglichkeiten der Lösung zu setzen.

HPC-Cluster mit Linux-Tools verwalten - ldd und find

Das Linux-Tool „ldd“ zeigt die Bibliotheken an, die ein Programm benötigt. Mit dem Tool lassen sich also Abhängigkeiten von Programmen erkennen, was gerade in HPC-Umgebungen eine wichtige Rolle spielt.

Mit dem Linux-Tool "ldd" lassen sich Abhängigkeiten von Bibliotheken für einzelne Programme überprüfen.
Mit dem Linux-Tool "ldd" lassen sich Abhängigkeiten von Bibliotheken für einzelne Programme überprüfen. (Bild: Thomas Joos)

In diesem Zusammenhang spielt auch das Tool „find“ eine Rolle, mit dem sich sehr schnell Dateien und Abhängigkeiten finden lassen. Mit „find“ können Dateien auch in komplexen Verzeichnisstrukturen gefunden werden.

Da „find“ viele Filter besitzt, lassen sich Dateien, aber auch Bibliotheken, wesentlich schneller auffinden, als mit Tools in der grafischen Oberfläche. Das gilt vor allem dann, wenn Entwickler Programm für HPC-Umgebungen entwickeln und abhängige Bibliotheken schneller finden wollen.

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45053153 / Anwendungen)