Konkurrenz für Supercomputer

Workstation-Cluster ein neuer Weg zur Parallelverarbeitung?

07.08.1992

In den USA haben schon einige Forschungseinrichtungen und Industrieunternehmen ihre Supercomputer durch Cluster von Hochleistungs-Workstations ersetzt. Die große Rechenleistung der heute verfügbaren Mikroprozessoren und die zu erwartende Steigerung fördert solche Gedanken. Trotzdem sollte man es sich nicht zu einfach machen und versuchen, jetzt auch die Ära des Supercomputer-Downsizing einzuläuten.

Auch für Deutschland gilt, daß in den Forschungsabteilungen von Unternehmen und im Hochschulbereich in letzter Zeit viele Hochleistungs-Workstations installiert und vernetzt worden sind. Diese inzwischen sehr schnellen Rechner werden jedoch nur unzureichend ausgelastet. In verschiedenen Untersuchungen über die Auslastung von Workstations findet man Zahlen von drei bis maximal zehn Prozent.

Andererseits ist aber die Leistungsfähigkeit einer einzelnen Workstation nicht so groß. daß es sich lohnt sie nachts für rechenintensive Aufgaben der Forschung einzusetzen. Nutzt man die Kapazität doch, so hört man von Anwendern die Klagen daß der Rechner lieber Tage mit einem Langläufer blockiert ist. Betrachtet man andererseits sechs Workstations die in einem Cluster verbunden sind und beispielsweise jeweils maximal 100 MFlops leisten, so er gibt die Summe (600 MFlops) fast die Leistung einer Zweiprozessor Cray Y-MP (666 MFlops).

Bei CERN arbeiten Workstations im Cluster

Während man nur aus der zentralen Cray häufig lange auf die Jobs warten muß - oder sie gar nicht zur Verfügung hat - liegt gleichzeitig bei den Workstations eine enorme Kapazität brach.

Diese Gründe haben dazu geführt, in wissenschaftlichen Einrichtungen und teilweise auch in Forschungsabteilungen der Industrie nach individuellen Wegen zu suchen, gleichartige Workstations als Parallelrechner oder zur verteilten Verarbeitung zu nutzen. Weitergehende Möglichkeiten bestehen aus der Kopplung von Workstations verschiedener Hersteller mit Minisuper- und Supercomputern.

Allerdings schafft diese Option zunächst Probleme: Wer organisiert die Verteilung der Aufgaben oder Tasks auf die verschiedenen Rechner? Wie programmiert der Anwender die parallelen Strukturen in seinem C oder Fortran Programm? Wer sorgt für eine gleichmäßige Beschäftigung der verschiedenen Rechner? Wie werden die Plattenspeicher verteilt beziehungsweise auf welche darf zugegriffen werden?

In einem Workstation-Projekt, das bei CERN in der Schweiz durchgeführt wurde, können die Benutzer über die Spezialsoftware "Shift" auf die dort verbundenen Rechner als Parallelrechner zugreifen. Die Oberfläche wurde von CERN Forschern für ihre Bedürfnisse entwickelt und implementiert.

Einen solchen Personalaufwand leisten eigentlich nur Forschungsinstitute. In der Industrie wird der Forscher in der Chemie, Stromungsdynamik, Strukturmechanik, Seismik oder anderen technisch-wissenschatftlichen Bereichen sein Fachproblem lösen und sich nicht zum Experten in Vernetzung, Rechnerkopplungs, Lastverteilung und weiteren EDV spezifischen Themen entwickeln wollen.

Weiterhin muß überlegt werden, ob das parallelisierte Programm portabel ist, das heißt, parallelisierbar bezogen auf eine einzelne Workstation sowie auf andere Parallerechner Architekturen. Man kann ja ein Programm nicht nur auf eine Spezialrechnerkonfiguration zuschneiden das dann bei einem Rechnerwechsel weggeworfen werden oder mühsam wieder umgestellt werden muß.

Einheitliche Oberfläche zur parallelen Nutzung

Für die Parallelverarbeitung auf Workstation-Clustern, aber auch auf massiv-parallelen Rechnern wünscht sich der Anwender deshalb eine Software die ihm alle oben aufgezeigten Aufgaben möglichst komfortabel erfüllt. Hier sollte zwischen zwei Bereichen unter schieden werden: Zum einen muß eine möglichst einheitliche Oberfläche zur parallelen Nutzung von Workstations bereit gestellt werden. Dazu gehören die Kommunikation zwischen den Prozessoren, die globalen Datenoperationen (beispielsweise 1 globale Summe), die parallele Graphik und parallele Ein- und Ausgabe sowie weitere Hilfsmittel für den direkten Betrieb.

Daneben sind Software-Werkzeuge erforderlich, die die Parallelisierung des vorliegenden Programms, die Beobachtung der Lastverteilung und Kommunikation die Fehlersuche und die Erzeugung von parallelem Code für unterschiedliche Zielrechner ermöglichen.

Für beide Software-Werkzeuge stehen inzwischen Programmsysteme zur Verfügung. Einmal bieten die Hersteller von Parallelrechner wie Intel, Ncube oder Parsytec derartige Hilfen an, zum anderen sind universelle Systeme wie beispielsweise "Express" (von der Parasoft Corp. in Pasadena), "PVM" (Oakridge Lab, Public Domain Software), "P4" (Argonne National Laboratorium) und weitere verfügbar. Die Parallelisierer sind entweder integriert oder als zusätzliche Software-Komponenten zu sehen.

Auf zwei dieser Systeme die weltweit sehr verbreitet sind soll an dieser Stelle gesondert eingegangen werden: Forge 90 (von Applied Parallel Research in Kalifornien) und Express. Beide Programmpakete werden von der Genias Software GmbH in Auslieferungs-, Trainings- und Unterstützungszentrum tätig ist.

Forge 90 arbeitet im Grundsatz wie folgt: Aus der Datenfluß- der Vektorisierungs-, der interprozeduralen und einer Parallelanalyse sowie den sequentiellen und parallelen Statistiken eines existierenden Fortran-Programms wird eine Datenbank mit den entsprechenden Informationen aufgebaut. Hieraus generiert man ein paralleles und portables Programm für die unterschiedlichen Parallelrechnerarchitekturen wie Shared-Memory-MIMD (Cray, IBM 3090 VF, Convex etc.) und schließlich auch für Netze von Workstation. Das erzeugte Programm kann direkt von Express verarbeitet werden.

Neue Strukturen können definiert werden

Eine sehr wertvolle Hilfe stellt der "Mimdziel'' dar, ein Zusatzmodul zur interaktiven Parallelisierung des sequentiellen Programms für einen Distributed-Memory-Rechner. Im Dialog können Schleifen auf Prozessoren verteilt und Daten über Unterprogrammgrenzen zerlegt werden, das heißt, neue Strukturen definiert werden. Hier kann der Anwender sein Wissen über das Programm einbringen denn derzeit stellen noch keine effektiven autoparallelisierenden Computer zur Verfügung.

Mimdizer fügt in das Programm Kommunikationsanweisungen ein von verschiedenen Programmierungsumgebungen (unter anderem Express) interpretiert und umgesetzt werden Durch die geschickte Benutzerführung läßt sich Forge 90 schnell und effektiv einsetzen.

Wichtiges Tool ist der parallele Debugger

So erstellt sich der Workstation-Anwender ein paralleles Programm, das mit Hilfe der Programmierumgebung Express auf sein Workstation-Cluster verteilt werden kann. Express wird inzwischen auf mehr als 1100 Installationen weltweit eingesetzt.

Es beruht auf dem Message-Passing-Programmiermodell. Die Kommunikation und Synchronisation zwischen Prozessoren beziehungsweise Workstation erfolgt über Nachrichten, die hin und her geschickt werden. Dieses Modell ist inzwischen Quasi-Standard im Bereich der Parallelverarbeitung. Man kann es nämlich sogar auf Shared-Memory-Systeme nachbilden.

Express setz auf dem Betriebssystem auf (TCP/IP bei Workstation) oder dient beispielsweise bei Transputer-Farmen als Betriebsystem. Es besteht im wesentlichem aus einer Kommunikationsbibliothek, die für jeweilige Hardwareplattform optimal angepaßt wurde. An Workstation werden IBM RS/6000, SunSparc, Silicon Graphics und weitere unterstützt. Im Test sind außerdem alle HP-9000-Workstation-Typen, die Vorbereitungen für den DEC-Alpha-Chip laufen.

Daneben enthält Express auch Hilfsmittel zur Leistungsmessung und zum Erkennen von Engpässen, sowie einen automatischen Parallelisierer, falls Forge 90 nicht verfügbar ist. Mit den verschiedenen Tools können Speicherzugriffe, die Kommunikation und ihr Verlauf, das Ein- und Ausgabe verhalten, die CPU-Auslastung und weiteres verdeutlicht werden.

Ein wichtiges Element ist außerdem der parallele Debugger auf Quellcode-Ebene. Dieses Hilfsmittel zeichnet Express gegenüber vergleichbaren Paketen besonders aus. Gerade in parallelen Programmen können sich Fehler in vielen Bereichen (etwa Kommunikation, Synchronisation, Verteilen der Tasks) einschleichen, die nur sehr schwer zu finden sind. Weiterhin unterstützt Express auch schon Fortran 90.

Professor Wolfgang Gentzsch von der Fachhochschule Regensburg hat diese Software-Werkzeuge mit seinen Studenten und Mitarbeiter von Genias mehr als ein halbes Jahr an realen Anwendungen getestet, bevor sie im Mai dieses Jahres in die Produktpalette von Genias übernommen wurden. Dem Industrieanwender wird übrigens ein interessantes Angebot gemacht: Er kann sein sequentielles Programmbezüglich dessen Parallelisierbarkeit analysieren und feststellen lassen, ob es sich lohnt oder nicht, quasi ein sanfter Einstieg in die Parallelverarbeitung. Nebenbei gewinnt der Anwender Einblicke in die Parallelisierung und lernt, Hilfsmittel effektiv einzusetzen.

Einige Ergebnisse seien an dieser Stelle ebenfalls erwähnt: Eine Stromungsmechanikanwendung (das Netzgeneratorprogramm "Tomcatv") wurde zum Beispiel auf einem Cluster von acht Sun-Sparc2-Workstations berechnet. Die Verweilzeit sank von 808 Sekunden bei einer Workstation auf 111 Sekunden bei acht, was einem Speedup-Faktor von 7,3 entspricht, also ein sehr gutes Parallelisierungsstrategie bei der Anwendung nicht optimal an die Zielrechnerarchitektur angepaßt. Bei drei Workstations betrug die Verweilzeit 315 Sekunden, stieg auf 1080 Sekunden bei fünf Workstations und sank wieder auf 562 Sekunden bei zehn Sun-Sparc2-Workstations. Hier also zahlen sich mehr als drei Prozessoren nicht aus.

Eine Analyse ergab, daß zu viele Kommunikationsoperationen aufgesetzt werden mußten. Gerade die Aufsetzzeit für einen Datenaustausch und die niedrige Kommunikationsgeschwindigkeit begründet die Schwachstelle bei Workstation-Clustern.

Die Unix-Netzwerkprotokolle (TCP/IP etc.) sind für dieses Einsatzgebiet nicht optimal geeignet. So dauert das Starten einer Kommunikation bei einer Workstation mehr als eine Millisekunde, bei einem echten Parallelrechner wie dem iPSC/860 liegt unter 100 Mikrosekunden. In diesem Programm mußten sehr große Datenmengen ausgetauscht und sehr viele Nachrichten verteilt werden. An einer verbesserten Version wird übrigens mit guten Erfolgsaussichten gearbeitet. Man muß also jedes einzelne Programm bezüglich der Programm-, Daten und Kommunikationsstrukturen genau auf Parallelität untersuchen.

Man sieht an diesen Beispielen, daß es sich durchaus lohnen kann, vorhandene Workstation-Cluster als MIMD-ParalIelrechner zu nutzen. Quasi "über Nacht" oder am Wochenende können damit

Probleme gelöst werden. Man darf aber nicht zu viel erwarten, da in den meisten Fällen die Kommunikationgeschwindigkeit zwischen den Prozessoren relativ niedrig ist. Deshalb wird der Einsatz als Parallelrechner zumindest naher Zukunft auf Workstation-Cluster der Größe acht bis 16 beschränkt bleiben.

Simulation auf Workstation

Neben diesen Überlegungen darf aber die Software Oberfläche nicht vergessen.

Selbstgestrickte Hilfsmittel sind in der Regel nicht der richtige Weg, in einer Hochschul- oder Industrieumgebung Workstations effektiv und auch portabel zu nutzen. Hier bieten Programmsysteme wie beispielsweise Forge 90 und Express gut ausgetestete Oberflächen, deren vielfältigen Erweiterungen und Tools viele wertvolle Informationen zum Parallelisieren liefern. Was nutzt ein effektives System, in dem man die Verklemmungen durch falsche Kommunikationsstrukturen nicht erkennen kann. Da diese Werkzeuge auch auf einer Workstation eingesetzt werden können, läßt sich auf dieser dann ein Parallelrechner simulieren. Auch so kann man auf einer einzelnen Workstation das Parallelisieren ausprobieren, Erfahrungen gewinnen und die Ergebnisse auf parallele Systeme übertragen.

In vielen Institutionen oder in der Industrie liegt eine große Rechenleistung brach, die auf diese Weise besser genutzt werden kann. Der Weg ins Supercomputing führt nach Meinung von Fachleuten in Zukunft zu parallelen Rechner. Mit Workstation-Cluster kann man schon heute das notwendige Know-how ohne größere zusätzliche Investitionen aufbauen. Erzeugen die Programmsysteme sogar noch portablen parallelen Quellcode, so fällt ein Umstieg von parallelen Workstations zum echten Parallelrechner nicht schwer. Es ist an der Zeit, diese Chance zu nutzen und einen preisgünstigen Weg in die Parallelverarbeitung durch vorhandene Workstations zu realisieren.

*Sven Abel ist freier Journalist in München