Schweizer IT Professional und TechNet Blog

Schweizer IT Professional und TechNet Blog

Erfahrungsbericht mit Windows HPC Server 2008 RC

Erfahrungsbericht mit Windows HPC Server 2008 RC

  • Comments 1
  • Likes

von Kassiem Jacobs, ETH Zürich

Im Januar 2008 erhielten wir von Microsoft Schweiz ein kleines Cluster bestehend aus 2 Compute Nodes und einem Head-Master, jeweils mit zwei AMD dual Core 2GHz und 8GB RAM ausgestattet. Auf diesem System hatte ich die Möglichkeit HPC Server 2008 RC zu testen. Das Cluster haben wir vorinstalliert mit Windows Server 2008 und HPC RC erhalten.

Ich habe versucht, die Evaluation aus der Sicht des Systemadministrators und aus der Sicht des (Unix) Anwenders durchzuführen.

Zunächst muss ich noch anmerken, dass dieses System das erste Windows 2008 System war, das ich in die Hände bekommen hatte. Im Vergleich zu Windows Server 2003 lässt sich Windows Server 2008 sehr viel einfacher und intuitiver verwalten. Weiter sollte ich erwähnen, dass meine bisherigen Erfahrungen mit Compute Clustern nur im Unix/Linux Bereich hatte.

Die Evaluation von HPC Server 2008 aus der Sicht des Systemadministrators war relativ schnell und zufriedenstellend durchgeführt. Alles was man benötigt, ist Windows Server 2008, wobei DNS aktiviert auf dem Master Node aktiviert sein muss. Die Compute Nodes hatten (in diesem Demo Fall) statische IP Adressen und waren via eines Private Networks mit dem Master verbunden. Das HPC Cluster Pack war innerhalb weniger Minuten installiert und die beiden Compute Nodes wurden via der Cluster Admin Console eingetragen bzw. bekannt gemacht. Damit ist das Cluster bereits einsatzbereit.

Mit der Cluster Admin Console lassen sich der Status, Parameter des Clusters und Jobs abfragen bzw. beeinflussen. Diese Admin Console ist sehr einfach zu bedienen und intuitiv, und übertrifft in Funktionalität alle von uns eingesetzten Unix/Linux Cluster Admin Tools (z. B. Parastation).

Die Benützung des Cluster von der Anwenderseite her bedarf der Gewöhnung, mindestens für unsere User. Unsere Cluster User kommen alle von der Unix/Linux Seite. Scripts für Anwendungen auf dem Cluster bestehen im wesentlich aus einigen Zeilen zur Resourcen Allocation, die nur vom Job Batch System interpretiert werden und aus einer Sequenz von Unix Kommandos und u. U. noch Shell Scripts oder Shell Kommandos. Der Job selbst wird einfach mit einem ‚qsub’ Kommando abgesetzt und der Job wird auf dem Cluster gestartet bzw. verteilt. Am Ende des Jobs erhält der User per Email oder als Log Datei eine Benachrichtigung.

Unter HPC Server 2008 muss der User ebenfalls ein Skript erstellen, das den Job gemäss den Vorstellungen des Users verarbeitet und auf dem Cluster verteilt (Job-Submission). Dazu stehen die Kommandos der Compute Cluster Powershell zur Verfügung. Diese Shell enthält sehr viele Kommandos, einige davon entsprechen sowohl der im Namen als auch in Funktionalität ihrem Unix Equivalent. Aus meiner Sicht erlaubt die Compute Cluster Powershell den Usern wesentlich mehr und komplexere Einflussnahme auf die Ausführung des Jobs.

Für User, die Programmiererfahrung auf MS Windows Systemen und MS Entwicklungstools haben, dürfte der Umstieg bzw. Einstieg in HPC Server 2008 einfach sein (ich habe weder das eine noch das andere). Für Unix User bedeutet der Umstieg/Einstieg, dass sie auf jeden Fall etwas Zeit für die Portierung ihrer Unix Skripte und Geduld mitbringen müssen. Wenn man aber einmal ein komplexeres Skript zum Laufen gebracht hat, kann man weitere Unix Job Skripts in Analogie relativ schnell portieren.

Als Anwendungstest hatte ich ein Unix Job Skript zur Grundlage, dass über Shell Kommandos die Verteilung eines Matlab und FORTRAN Programms über mehrere Nodes vornimmt und überwacht. Zum heutigen Zeitpunkt mag dieses Skript überflüssig erscheinen, das es inzwischen von Mathworks für Matlab eine Toolbox gibt, die es erlaubt ein Matlab Program über mehrere CPUs/Nodes zu verteilen.

Das eingesetzte Skript zerlegt die komplexe und numerisch sehr intensive Berechnung einer Matrix in mehrere Teile (es handelt sich hier um eine mehrdimensionale Matrix, das zu lösende numerische Problem stammt aus der Datenassimilation für ein Ozeanmodell). Jedes Teil wird auf einer CPU berechnet, am Ende werden die Teile zusammen gefügt. Die Gesamtrechenzeit hängt sehr stark von der zeitlichen und räumlichen Auflösung des Modells ab und kann mehrere Tage in Anspruch nehmen.

Bisher lief dieses Model auf einem Cluster bestehen aus zwei Sun V890 (16 Cores pro System) und einem Linux Cluster mit 22 Nodes (88 Cores).

Es hat etwa 2 Tage gedauert das Skript für HPC Server 2008 zu portieren und zu testen.

Die numerische Leistung des Cluster skaliert in meinem Fall einfach mit der Anzahl der eingesetzten Cores und der CPU Taktfrequenz. Das heisst, dass das HPC Server 2008 Cluster die numerischen Berechnung etwa gleich schnell durchführt wie die Linux/Unix Cluster mit ähnlichen HW Spezifikationen.

Zusammenfassend kann ich HPC Server 2008 durchaus als Alternative zu einem Unix/Linux basiertem Cluster empfehlen, sofern die (Unix) Benützer bereit sind, anfänglich etwas Zeit in die Migration aufzuwenden, Vielleicht wäre es hilfreich, wenn Microsoft einen Wrapper anbieten/entwickeln würde, der es erlaubt, existierende Unix basierende Job Skripts auf HPC Server 2008 auszuführen.

Gerne hätte ich auch ein MPI basierendes Klima oder Ozean Modell auf HPC Server 2008 getestet, aber für dieses Projekt hätte ich mehr Zeit investieren müssen, als mir zur Verfügung stand. Ein solcher Test, sofern er nicht schon durchgeführt wurde, sollte aber auf jeden Fall durchgeführt werden, da es die Akzeptanz von HPC Server 2008 im Bereich numerischer Modellierung in den Naturwissenschaften (ich denke hier z. B. an Klimaforschung, Meteorologie, Ozeanographie, etc.) erhöhen würde.

 

Kassiem Jacobs
Systemadministrator
ETH Zürich, Institut für Molekulare Biologie
Schafmattstrasse 20, HPK F19, CH-8093 Zürich

 

 

Weitere Informationen über High Performance Computing von Microsoft finden Sie:

 

 

aktuelle Artikel über Windows HPC

Network World - June 18, 2008
Windows HPC Server 2008 RC1 Is Ready to Roll

A feature-complete release candidate (RC) for Windows HPC Server 2008 will be distributed later this month, Microsoft says. The final version will ship by the end of the year.

 

eWeek - June 18, 2008

Windows HPC Server 2008 Powers into Top 25 Supercomputer Rankings

A machine running Microsoft's new Windows HPC Server 2008 has debuted in the top 25 in new rankings of the world's 500 fastest supercomputers.

Comments
Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment