HPC-Cluster mit Standardservern
Das Intel-Cluster-Ready-Programm liefert allgemein gültige Standards, mit denen Unternehmen und wissenschaftliche Einrichtungen einfacher und schneller als bisher hochleistungsfähige Cluster für High Performance Computing (HPC) entwerfen und installieren können. Im Mittelpunkt stehen dabei standardisierte, konsistente und reproduzierbare Bausteine für den Aufbau, Betrieb und die Erweiterung von Clustern.
Cluster, bestehend aus einer großen Zahl gängiger Standardserver, haben sich in vielen
Einsatzgebieten längst durchgesetzt: von Simulationsmodellen in der Automobil- und
Luftfahrtindustrie über hochkomplexe Verfahren bei Banken und Versicherungen bis hin zur
medizinischen Forschung und kleinräumigen Wetterprognosen. Anspruchsvolle
wissenschaftlich-technische Anwendungen kommen ohne Cluster schon lange nicht mehr aus. Das
Bemerkenswerte daran: Cluster-Systeme mit Standardkomponenten haben die ehemals vorherrschenden
Supercomputer in Nischen abgedrängt. Dies gilt selbst für solch anspruchsvolle Anwendungen wie die
Exploration neuer Öl- und Gasfelder. Statt exorbitant teurer proprietärer Hardware bieten Cluster
aus typischen Standardservern ein sehr überzeugendes Preis-Leistungs-Verhältnis.
Im Grunde genommen gibt es nur noch ein Argument, das die weitere Verbreitung von Clustern
bremst: Nach wie vor sind Cluster-Systeme sehr aufwändig zu konfigurieren. Ursache dieser
Komplexität ist nicht zuletzt die Cluster-Architektur selbst. Cluster verfügen im Unterschied zu
traditionellen symmetrischen Multiprozessorsystemen über getrennte Einheiten für die Verarbeitung
und die Speicherung von Daten. Wer Cluster nutzt, um unterschiedliche Jobs auszuführen, oder für
Applikationen einsetzt, die mehrere Prozessoren gleichzeitig beschäftigen, benötigt zwei Dinge:
schnelle Kommunikationssoftware zur Verbindung der einzelnen Rechner und die dazu passenden
Administrations-Tools. Aus diesem Grund standen Anwender von HPC-Clustern in der Vergangenheit oft
vor der schwierigen Aufgabe, aus einem Mix von Komponenten wählen zu müssen.
Cluster aus dem Baukasten
Bis vor Kurzem gab es kaum Standards, die dafür sorgten, dass die einzelnen Hard- und
Softwarebausteine besser miteinander harmonieren. Dies war unter anderem der Anlass, ein
Cluster-Ready-Programm zu entwickeln, das den Betrieb und die Weiterentwicklung von HPC-Clustern
erheblich vereinfachen soll. Entstanden ist das Intel-Cluster-Ready-Programm (
http://software .intel.com/en-us/cluster-ready) als Ergebnis der Zusammenarbeit
zwischen Intel, unabhängigen Softwareanbietern (ISVs) und Herstellern (OEMs) wie Dell. In dem
Programm wurden Mindeststandards für Software- und Hardwarekomponenten bei geclusterten Systemen
definiert, mit dem Ziel, ein hohes Maß an Interoperabilität zu erreichen. Außerdem lassen sich
kompatible HPC-Softwareapplikationen registrieren und ergänzende Cluster-Hardware durch den "Intel
Cluster Checker" zertifizieren. Dieses Zertifizierungs-Tool überprüft die Cluster-Hardware sowie
die Softwarekomponenten und stellt sicher, dass diese funktional richtig zusammenarbeiten und
Fehler eingegrenzt werden können. Dadurch lassen sich Cluster-Probleme frühzeitig feststellen und
Support-Kosten reduzieren.
Die Standards und Tools aus dem Cluster-Ready-Programm kombiniert mit der Software "Open Cluster
Stack" (OCS) von "Platform Computing" (
www.platform .com) –
vorinstalliert auf Servern – vereinfachen letztlich das Design, die Implementierung und den Betrieb
von Cluster-Lösungen. Das Ergebnis sind zertifizierte Intel-Cluster-Ready-Systeme, mit denen
Anwender recht komfortabel konsistente, skalierbare Applikations-Cluster aufbauen können.
Den ISVs und Hardwareherstellern liefert Intel Cluster Ready einen Referenzrahmen und ein
Konfigurations-Set. Darin ist im Detail beschrieben, wie sich Komponenten kombinieren lassen, um
ein zertifiziertes Intel-Ready-Cluster zu bauen. Der wichtigste Aspekt für IT-Abteilungen: Intel
Cluster Ready spezifiziert eine allgemeingültige Basis für Cluster und ermöglicht den Anwendern,
aus unterschiedlichen Hard- und Softwarekomponenten eine Auswahl zu treffen und das für ihre
jeweiligen Zwecke geeignete System zu konfigurieren. Gleichzeitig können die IT-Verantwortlichen
sicher sein, dass die für das eine Cluster-System zertifizierte Applikation auch ohne Anpassungen
auf einem zweiten System läuft.
Allerdings ist die Spezifikation "Intel Cluster Ready" weit mehr als eine Ansammlung von Regeln
und Vorschriften. Eine der wichtigsten Aufgaben übernimmt der Intel Cluster Checker. Das
skriptbasierende Tool ermöglicht direkte, vergleichende Leistungstests und bietet somit einen guten
Maßstab zur Beurteilung der System-Performance. Der Cluster Checker überprüft die Interoperabilität
einzelner Hard- und Softwarekomponenten und gibt Hinweise, um ein reibungsloses Zusammenspiel
einzelner Cluster-Komponenten zu ermöglichen.
Aber auch im späteren Alltagsbetrieb erweist sich das Tool als recht nützlich. So empfiehlt es
sich beispielsweise, den Cluster Checker in bestimmten Zeitabständen laufen zu lassen, um zu
überprüfen, ob im tatsächlichen Betrieb die anfangs ermittelten Leistungswerte erreicht werden.
Eine erwünschte Nebenwirkung: Das Tool lässt sich auch nutzen, um frühzeitig Probleme und
fehlerhafte Konfigurationen zu erkennen.
Kombination aus Hardware und Software-Stack
Die eher hardwarelastigen Elemente des Intel-Cluster-Ready-Programms werden erst durch
Softwarespezifika wie den erwähnten Open Cluster Stack komplett. OCS, vollständig in Linux
integriert, ist ein modularer, hybrider Stack, der Open-Source-Software und kommerzielle Software
transparent in eine einzige, konsistente Cluster-Betriebsumgebung einbindet. Die Software enthält
das Betriebssystem, notwendige Treiber, den "Cluster Installer", Ressourcen- und
Applikations-Monitoring sowie eine Scheduler-Funktion für jeden Knoten im Cluster. Wenn die
Cluster-Ready-Komponenten bereits auf den Servern installiert sind, vereinfachen sich dadurch die
gesamte Konfiguration und das Deployment einer Cluster-Umgebung.
Für das "Workload Management" eignet sich etwa die "Load Sharing Facility (LSF) HPC" von
Platform Computing. LSF ist eine regelgesteuerte Software, die für eine optimierte
Arbeitslastverteilung bei rechen- und datenintensiven Anwendungen sorgt ("Batch Workload Management
Software"). Durch die Nutzung hardwarespezifischer Integrationsfunktionen ermöglichen LSF und OCS
IT-Administratoren, die in hochleistungsfähigen Kommunikationsverbindungen von Cluster-Systemen
vorhandenen Reserven voll auszuschöpfen. Im Einzelnen zeichnet sich LSF durch einen modularen
Aufbau aus, der sich flexibel den Anforderungen der jeweiligen Umgebung anpassen lässt. Die
Ablaufsteuerung ist individuell konfigurierbar, und selbst in einem anspruchsvollen Umfeld mit
einer Vielzahl von Jobs auf verschiedenen Cluster-Knoten bleibt das System stabil und skalierbar.
Zahlreiche Zusatzkomponenten ermöglichen beispielsweise die gezielte Analyse der Systemauslastung
und liefern so wertvolle Angaben für die weitere Infrastrukturoptimierung.
Ansatzpunkte dafür existieren viele in Cluster-Umgebungen, die aus einer umfangreichen Anordnung
von Hardwarekomponenten wie Prozessoren, schnellem Hauptspeicher, externem Storage,
Netzwerkeinrichtungen, Verkabelung, Switches und einer Menge weiterer Bausteine bestehen. Als
integraler Bestandteil verschiedener Intel-Cluster-Ready-Konfigurationen trägt OCS maßgeblich dazu
bei, die Installation und Konfiguration von Cluster-Lösungen deutlich zu vereinfachen und zu
beschleunigen. Dazu genügen zertifizierte Server beispielsweise von Dell, eine MPI-Implementierung
(Message Passing Interface) wie "Open MPI" oder die "Intel MPI Library", die "Intel Runtime Library"
(einschließlich "Intel MPI Library Runtime Environment") sowie optional der "Openfabrics
Enterprise Distribution Stack". Eine konkrete Konfiguration könnte zum Beispiel folgende
Dell-Hardware umfassen: ein Poweredge 2950 als Frontend-Knoten, zwölf Poweredge 1950 als
Rechenknoten, ein 16-Port-Powerconnect-Switch sowie zusätzlich das Rack-Gehäuse und die benötigte
Verkabelung.
Festzuhalten bleibt: Das Intel-Custer-Ready-Programm vereinfacht infolge von
Standardspezifikationen für Hardware, Software und Verkabelung ganz deutlich den Aufbau von
Cluster-Umgebungen. Dadurch eröffnen sich derartigen Hochleistungscomputern zusätzliche
Einsatzgebiete nicht nur in rechenintensiven wissenschaftlichen Projekten, sondern auch im
industriellen und gewerblichen Bereich. Durch das attraktive Preis-Leistungs-Verhältnis von
Standardkomponenten dringen Cluster damit auch auf Gebiete vor, bei denen Anwender wegen
vermeintlich zu hoher Investitionskosten bislang auf Cluster-Lösungen verzichtet haben.