High Performance Computing unter Windows

Der HPC Server 2008 trimmt Windows zur Höchstleistung (Teil 2)

Seite: 2/5

Anbieter zum Thema

Entwicklung von HPC-Anwendungen

Neben den Anwendern und Administratoren stellen die Entwickler die dritte Gruppe der betroffenen Benutzer dar. Um die Möglichkeiten und Vorzüge des HPC nutzen zu können, müssen, wie oben erwähnt, die Applikationen darauf abgestimmt sein. Die Entwicklung von Applikationen für Parallelverarbeitung stellt allerdings besondere Anforderungen.

Aber auch die nun aufkommenden Multicore-Systeme stellen besondere Anforderungen an die Entwicklung. Um dabei nicht an neue Grenzen des Speicherzugangs zu stoßen, muss die Auswahl und Menge der CPU-Cores wohl überlegt sein. Generell helfen herkömmliche Konzepte der sequentiellen Programmierung nur sehr bedingt bei der Entwicklung von parallelem Code. Bis dato mussten HPC-Anwendungen daher meist durch spezielle Tools und Werkzeuge erstellt werden. Microsoft allerdings setzt zur Entwicklung von HPC-Anwendungen auf Visual Studio. Damit wird die Programmierung von parallelen Anwendungen so einfach als möglich gestaltet.

Die weiteren speziellen Tools für die HPC-Entwicklung sind dabei in Visual Studio integriert. Gleiches gilt für die Debugger und weiteren Entwicklungshilfen. Dazu gehören auch Profiler, Tracer oder weitere Tools zur Optimierung des Programmcodes. Durch den Rückgriff auf Visual Studio ist sichergestellt, dass der Programmierer zur Erstellung von Programmen für HPC-Systeme nicht auch noch andere Entwicklungswerkzeuge erlernen muss. Die Entwickler, die bereits heute für Microsoft-Umgebungen Programme erstellen, sind damit vertraut. Sie können damit die ihnen bekannte Umgebung nun auch für die Erstellung von HPC-Programmen nutzen.

Die Programmierung von HPC-Anwendungen basiert auch auf den Grundlagen von .NET. Eingeschlossen sind auch alle Tools, die zur Softwareentwicklung, dem Test und dem Design herangezogen werden. Spezialprogramme die sonst häufig verwendet werden entfallen damit. Brücken gibt es aber auch für jene Entwickler, die bis dato auf anderen Systemen gearbeitet haben und folglich auch jeweils eigenständige Entwicklungswerkzeuge nutzen. Diese Development-Kits sind nun größtenteils auch in einer Version für Windows verfügbar. Damit können all diese Entwickler ihre Tools unter Windows nun auch weiterhin benutzen. In der kommenden Version des Visual Studio, das für das Jahr 2010 geplant ist, wird die Entwicklung von Code für parallele Prozesse erneut vereinfacht.

Die Architektur des Windows HPC Server

Der HPC basiert auf der Grundlage des Windows Servers 2008. Hierbei kann es sich um eine spezielle HPC-Edition des Windows Server 2008 oder auch bestehende Windows Server 2008 Editionen handeln. In der Funktion sind beide identisch. Der Unterschied liegt in der linzenzmäßigen Einstufung. Wenngleich der Windows Server 2008 auch auf 32-Bit-CPUs eingesetzt werden kann, so verlangt der HPC Server allerdings eine 64-Bit-CPU. Das macht aber auch Sinn, denn es sollte ja höchste Leistung damit erzielt werden und hier hat 64 Bit nun einmal die Nase vorn. 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 ersetzen. Wer beispielsweise bereits einen Scheduler hat und den weiterverwenden möchte, muss daher nicht auf die Microsoft-Tools zurückgreifen. Die Systeme sind dazu mit Schnittstellen zum Anflanschen der Tools ausgestattet. Zum Umfang des HPC-Pack gehört ferner das Message Passing Interface (MPI). Das Message Passing Interface dient der schnellen Kommunikation der Rechnerknoten untereinander.

weiter mit: Optimierungen des Windows Server für HPC

Artikelfiles und Artikellinks

(ID:2022003)