Windows 7 Workstation als HPC-Clusterknoten

Windows HPC Server 2008 R2 - Die wichtigsten Neuerungen und Funktionen

10.08.2010 von Johann Baumeister,
Microsoft hat die Betaversion des Windows HPC Server 2008 R2 vorgestellt. Wir informieren über die Neuerungen und Einsatzgebiete des kommenden Windows HPC-Server 2008 R2.

Der Windows HPC Server 2008 R2 (HPC - High Performance Computing) ist eine Erweiterung des Windows Servers. Verglichen mit diesem ist der HPC-Server allerdings relativ unbekannt. Das gilt aber auch für hat Technik des High Performance Computing im Allgemeinen. Beim High Performance Computing handelt es sich um einen Nischenmarkt für bestimmte Anwendungsgebiete. Dazu zählen vor allem die Finanzdienstleitungen, der Maschinenbau mit der Fahrzeugtechnik, die Luft- und Raumfahrt, die Pharmazie und der wissenschaftliche Bereich. Die Anwendungstechniken sind beispielweise Simulationen des Crash-Verhaltens von Fahrzeugen, die Simulation von Flugbahnen, Strömungsberechnungen oder auch Risikoberechnungen in der Finanzmathematik.

Die dazu notwendigen Programme sind oftmals individuelle Entwicklungen kombiniert mit Open-Source-Modulen. Das Fraunhofer-Institut für Algorithmen und Wissenschaftliches Rechnen SCAI beispielsweise betreibt seine Simulationssoftware auf der Grundlage von Open-Source-Anwendungen auf einem HPC-Cluster. Das Institut entwickelt Anwendungen und betreibt Forschung in den Geschäftsfeldern Simulationsanwendungen, numerische Software, Bioinformatik, Optimierung und Grid Computing.

Grundprinzip: Funktionsweise eines HPC Clusters.

Der HPC-Markt allerdings wächst beständig. Dies hat mehrere Ursachen. Eine davon ist sicherlich die Verbreitung von Multicore-Prozessoren. Sie ermöglichen Parallelverarbeitung auf jeglichen Standardrechnern - und dies ist der Kern des HPC. Will man die Multicore-Systeme auch wirklich nutzbringend einsetzen, so kommt man über kurz oder lang nicht um die Techniken der Parallelverarbeitung herum. Der jahrelange Trend durch immer höhere Taktraten die Leistung der Systeme zu erhöhen, wird in Zukunft durch parallele Prozesse abgelöst. Des Weiteren verwendet Microsoft als Grundlage für seinen Windows HPC Server 2008 R2 gängige Standard-Prozessoren aus der x86-Reihe. Außerdem basiert der HPC Server auf den Grundlagen des Windows Servers. Damit wird High Performance Computing auch auf Standardrechnern mit Standardbetriebssystemen erschwinglich und machbar.

Die Neuerungen des HPC Server 2008 R2

Um den Markt des HPC zu bedienen, erweitert Microsoft beständig den Funktionsumfang und Einsatzbereich seines Windows HPC-Servers. Diese Neuerungen betreffen vor allem die Bereiche Leistung, Skalierbarkeit und Verfügbarkeit. Ferner wurde der Job Scheduler und die Integration mit Excel verbessert. Durch die Unterstützung von Excel User-Defined Functions (UDFs) wird die Zusammenarbeit zwischen Excel und den Rechenknoten verstärkt. Dies ermöglicht auch die Ausführung von Excel Arbeitsmappen auf einem HPC-Cluster.

Details: Die Verwaltungskonsole des HPC-Servers orientiert sich an den Vorgaben des Microsoft System Centers.

Verbessert wurde auch der Support der SOA-Techniken (Service-Oriented Architecture). Dazu gehören neue Programmiermodelle (fire-and-recollect), eine bessere Zusammenarbeit mit Java-Anwendungen, der Restart und Failover von Broker Knoten, sowie ein verbessertes Management der Systeme. Zu den neuen Funktionen gehören ferner "Cluster of Workstation" (CoW). Mit CoW lassen sich auch Windows 7 Workstations als Computer-Knoten in einem HPC Cluster integrieren. Erneuert wurde auch die Verwaltung des HPC-Servers. Sie orientiert sich nun am GUI und der Konsole des Microsoft System Center 2007. Durch die Integration mit PowerShell können außerdem Aufgaben gescriptet werden. Und schließlich gibt es nun eine Unterstützung für NetworkDirect.

Die Struktur des Windows HPC Server

Der HPC setzt auf dem Windows Servers 2008 auf. Hierbei kann es sich um eine spezielle HPC-Edition des Windows Server 2008 oder auch bestehende Windows Server 2008 Editionen handeln. Wenngleich der Windows Server 2008 auch auf 32-Bit-CPUs eingesetzt werden kann, so verlangt der HPC-Server jedoch eine 64-Bit-CPU. Der Grund dafür liegt in den Leistungsanforderungen und hier hat 64 Bit nun einmal die Nase vorn.

Durch den Bezug auf den Windows Server fügt sich der HPC-Server nahtlos in bestehende Windows-Infrastrukturen ein. Dennoch ist ein Windows Server 2008 noch kein HPC-Rechner. Dazu benötigt dieser spezielle Erweiterungen. Diese werden als HPC-Pack bezeichnet. Das HPC-Pack umfasst all die Verwaltungswerkzeuge und Hilfen zur Steuerung der parallelen Rechner und Prozesse. Dies sind unter anderem ein Job Scheduler, ein Ressourcenmanager, sowie eine Konsole zur Clusterverwaltung. Wer möchte, kann einzelne Module durch eigene Werkzeuge oder jene von Dritten ersetzten.

Zum Umfang des HPC-Pack gehört ferner das Message Passing Interface (MPI). Es dient der schnellen Kommunikation der Rechnerknoten untereinander. Diese Kommunikation wurde im Release 2 des HPC-Server ebenfalls erweitert. Zu den Verbesserungen bei MPI gehört unter anderem RDMA over Ethernet (iWARP) von Intel and RDMA over Infiniband quad data rate mit 40 Gbps-Transferleistung. Ferner wird die "shared memory" Architektur der neuen Intel-Prozessoren ("Nehalem") unterstützt. Um die Fehlersuche zu verbessern hat Microsoft außerdem die Debugging-Möglichkeiten in Visual Studio 2010 verbessert.

Mehr als 1000 Knoten sorgen für Durchsatz

Der Windows HPC Server 2008 R2 adressiert hinsichtlich der Skalierbarkeit mit mehr als 1000 Knoten die obere Leistungsklasse. Durch den Bezug auf die x86-Architektur werden somit x86-Standardrechner zu HPC-Knoten. Dies verringert die Kosten für dessen Einsatz. Das wiederum führt in der Folge zu einer weiteren Verbreitung der Paralleltechnik auf neue Aufgabenfelder und Einsatzszenarien. Gleichzeitig reduziert sich dann auch der Entwicklungsaufwand.

Eine weitere Stoßrichtung des HPC-Servers ist die Vereinfachung des Einsatz und Erhöhung der Produktivität. Die gesamte Verwaltung orientiert sich an den Grundlagen von Windows. Gleiches gilt auch für die Entwicklung der Anwendungen. Auch sie basiert auf den bekannten Konzepten, Tools und Verfahren der Windows-Programmierung. Diese vereinfacht die Entwicklungsschritte und reduziert damit gleichzeitig die Fehler.

Schrittweise Migration der Anwendungen

Die Umstellung der Systeme zu HPC Server 2008 R2 kann schrittweise erfolgen. Hierzu unterstützt das Release 2 auch eine Mischkonfiguration von HPC Server 2008 und HPC Server 2008 R2. Durch Node Templates wird die Inbetriebnahme von Rechenknoten vereinfacht. Die Templates stellen dabei eine Vorlage für die Rechenknoten dar. Zum Umfang eines Templates gehören die Angaben zum Betriebssystem, die Treiber, die Konfiguration und, wenn gewünscht, auch weitere Software. Die Erstellung dieser Templates wird durch einen Assistenten unterstützt. Der nunmehr verbesserte Template Editor erlaubt eine weitergehende Konfiguration der Templates. Bestehende HPC Server 2008 Compute Node Templates können dabei weiterverwendet werden.

Unterstützung: Zahlreiche Monitore liefern Informationen über die Simulationsprozesse und Auslastung des HPC-Clusters.

Neuerungen beim Release 2 des HPC 2008 gibt es auch hinsichtlich der Bootlogik. Durch Diskless Boot können die einzelnen Knoten nun von einem zentralen Speicher gestartet werden. Hierbei setzt der HPC-Server auf eine iSCSI-Bootlogik. Sie erlaubt das Starten eines HPC-Knotens Systems von einem zentralen iSCSI-Speicher. Dazu wird die Unterstützung von DHCP benötigt. Sie kümmert sich um die Abbildung der Bootlaufwerke auf die Speichersysteme.

Verbesserungen gibt es auch beim Job Scheduling, also der Verteilung und Überwachung der Rechenaufträge an die Clusternoten. Die Knoten eines HPC-Cluster arbeiten zwar prinzipiell unabhängig, dennoch müssen sie synchronisiert werden, denn letztendlich müssen alle Knoten gemeinsam die gestellte Aufgabe lösen. Hierbei hilft die erneuerte Jobverwaltung. Optimiert hat Microsoft außerdem die Skalierung. Der kommende HPC Server 2008 R2 unterstützt nun größere Cluster, sowie mehr und größere Rechen-Jobs. Außerdem wurden das Scheduling und der Durchsatz der Tasks optimiert.

Einheitlich Verwaltung im Stile des System Center

Im System-Management erfolgen die Überwachung und die Verwaltung der Rechenknoten. Auch in dieser Hinsicht gibt es Verbesserungen beim HPC Server 2008 R2. Die Verwaltungskonsole des HPC-Servers basiert auf dem Benutzerinterface des System Centers. In fünf Bereiche liefert diese Konsole alles Wissenswerte zur Konfiguration, der Verwaltung der Rechenknoten, den Job, der Analyse mit Charts und der Diagnose. In einer "Heat map" erhält der Verwalter jederzeit einen schnellen und umfassenden Überblick zum Cluster, den Knoten, der Auslastung oder der Ressourcennutzung.

Anders als die Windows Server erfolgt die Verwaltung der HPC-Systeme traditionell durch die Anwender der Systeme. Dies beruht auf den Besonderheiten dieser Systeme. Verglichen mit der Verwaltung von UNIX-Systemen machte Windows allerdings die Administration durch eine Vielzahl an Assistenten und grafischen Konsolen einfacher. Diese hat Microsoft auch auf den HPC Server ausgedehnt. Durch die Anbindung des HPC-Servers an die PowerShell lassen sich dabei viele Aufgaben auch skriptbasiert ausführen. (hal)