minpic01.jpg

Teraflops in Sichtweite

Aktuelle Meilensteine in der Parallelrechner-Technologie

Carsten Zobel

Cyberspace wird ab 10(6 Megaflops erst richtig schön. Doch nicht nur Ausflüge in die virtuelle Realität fordern höchste Rechenleistungen, auch bei der Simulation realer Vorgänge in Forschung und Entwicklung können Computer nicht schnell genug sein. Die Herausforderung bis zum Ende der 90er Jahre lautet TTT: ein Teraflops Rechenleistung, ein Terabyte Speicher, ein Terabyte/s Kommunikationsbandbreite.

Unterthema: Europäer entwickeln Parallel-Software

Bitte beachten Sie auch diese Ergänzung!

In den letzten Jahren hat sich die Meinung durchgesetzt, daß nur massiv parallele Rechner (Massively Parallel Processor, MPP) mit mehreren hundert oder tausend Prozessoren das angestrebte Ziel im Teraflops-Bereich (= 1 Million MFLOPS) erreichen können. Die Idee besteht darin, hundert oder tausend Prozessoren gleichzeitig an einer Problemstellung arbeiten zu lassen und so Aufgaben lösen zu können, die klassische Supercomputer mit ihren maximal 16 Prozessoren nicht in akzeptabler Zeit bewältigen.

Wesentliche Komponente eines jeden Parallelrechners ist ein Kommunikationsnetzwerk, über das die Prozessoren miteinander verbunden sind, um Abläufe zu koordinieren und Daten auszutauschen. Das Netzwerk muß ausreichend schnell sein, damit der Zeitgewinn durch die verteilte Bearbeitung nicht durch den Zeitbedarf für die Kommunikation und das Zusammenfassen der Ergebnisse aufgehoben wird.

minpic03.jpg

Es gibt unterschiedliche Abschätzungen für den Koordinationsaufwand und die erzielbare Leistungssteigerung. (aus [1])

Ein weiteres Merkmal ist die weitgehende Skalierbarkeit, also die Möglichkeit, kleinste Systeme mit wenig Prozessoren über viele Zwischenstufen bis zum größten System ausbauen zu können. Um die maximale Leistung eines Parallelrechners zu erreichen, muß die Software das zu lösende Problem so organisieren, daß alle Prozessoren gleichzeitig und möglichst vollständig ausgelastet sind.

SIMD und MIMD

Die wichtigsten Unterscheidungsmerkmale bisher entwickelter, massiv paralleler Rechner sind die Art des Kontrollflusses bei der Befehlsverarbeitung, die physikalische und logische Speicherorganisation, die Struktur des Kommunikationsnetzwerks (Topologie) sowie die Leistungscharakteristik der eingesetzten Prozessoren. Werden gleiche Befehlssequenzen auf verschiedenen Prozessoren mit unterschiedlichen Daten ausgeführt, bezeichnet man dies als SIMD-Prinzip (Single Instruction Stream, Multiple Data Stream). Die erste `Connection Machine´ des Amerikaners Daniel Hillis, einer der ersten massiv parallelen Rechner, arbeitete nach diesem Verfahren. Der Vorteil liegt in der relativ einfachen Programmierung, die derjenigen einer klassischen, seriellen Maschine gleicht. Der erzwungene Gleichtakt aller Prozessoren wird zum Nachteil, wenn es bei stark verschiedenen Teilaufgaben am Ende der Verarbeitung zu Wartezeiten bei den Prozessoren kommt, die weniger Rechenschritte für das Ergebnis benötigen.

Das MIMD-Prinzip (Multiple Instruction Stream, Multiple Data Stream) wird charakterisiert durch die Verarbeitung vieler unabhängiger Befehlsströme auf verschiedenen Prozessoren mit unterschiedlichen Daten. Dieses Prinzip erlaubt die flexiblere Umsetzung von parallelen Algorithmen und ist die Grundlage der meisten MPPs. Die Synchronisation der einzelnen Prozessoren erfordert dann allerdings einen höheren Aufwand. Um Befehle und Daten zu holen, muß jeder Prozessor mit dem Speicher kommunizieren. Dies kann durch direkten Zugriff jedes Prozessors auf einen physikalisch gemeinsamen, globalen Speicher erfolgen oder durch Zugriff auf eigene, lokale Speichereinheiten. Auch beim verteilten Speicherprinzip ist durch geeignete Software- und Hardware-Organisation der Aufbau logisch gemeinsamer, globaler Speicher möglich.

In massiv parallelen Systemen ist ein gemeinsamer Speicher für alle Prozessoren wegen der extremen Anzahl erforderlicher Verbindungswege oder der notwendigen hohen Bandbreite eines gemeinsamen Busses nicht optimal realisierbar. Daher bestehen die Funktionseinheiten massiv paralleler Rechner häufig aus Prozessorspeicherpaaren, den sogenannten Knoten.

Knoten und Netze

Die häufigste Topologie (= Verbindungsstruktur) der ersten Systeme Mitte der 80er Jahre war der sogenannte Hypercube, eine Struktur, die sich jeweils durch Verdopplung der Knoten erweitern läßt. Die mögliche Anzahl der Knoten ist dabei immer eine 2er-Potenz. Das kann hohe Kosten bei einer Erweiterung verursachen, wenn beispielsweise schon 1024 Knoten vorhanden sind und der Rechner aufgerüstet werden soll. Demgegenüber steht eine geringe mittlere Entfernung zwischen zwei Knoten, also ein relativ hoher Vernetzungsgrad.

minpic02.jpg

Die Hypercube-Topologie wird bei den Systemen von nCube angewandt. Die Kombination zweier Anordnungen bildet den Hypercube der nächsthöheren Dimension.

In neueren, massiv parallelen Systemen wird oft eine Baumstruktur oder eine zweidimensionale Gitteranordnung der Knoten gewählt. Bei der Baumstruktur spricht man auch von einem `fat tree´, wenn die Kommunikationsbandbreite der Knotenverbindungen in Richtung der `Baumwurzel´ höher ausgelegt ist als zwischen den `Ästen´ und `Zweigen´. Für die Effizienz einer Problemlösung auf einem massiv parallelen System ist es wichtig, das Verhältnis zwischen Rechen- und Kommunikationsleistung der Knoten an die Anforderungen der Software anzupassen. Es gibt Probleme, die bei einer parallelen Zerlegung fast gar keine oder aber extrem hohe Kommunikation zwischen den Knoten erfordern. Nach diesem kurzen, sicher nicht vollständigen Überblick über die Unterscheidungsmerkmale massiv paralleler Systeme sollen nun einige aktuelle Maschinen vorgestellt und charakterisiert werden.

Marktplatz der Superrechner

Etwa ein halbes Dutzend Hersteller weltweit glaubt in der Lage zu sein, bis zum Ende dieses Jahrzehnts einen massiv parallelen Supercomputer entwickeln zu können, welcher ein Teraflops Leistung nicht nur als theoretische Spitzenleistung (Peak Performance), sondern auch in Anwendungsprogrammen erzielt (Sustained Performance). Obwohl neben der Hardware auch darauf zugeschnittene Software für den späteren Anwender solcher Maschinen existentiell für einen effizienten und komfortablen Einsatz ist, scheinen sich die Rechnerhersteller vorzugsweise auf eine möglichst frühe Ankündigung ihrer neuesten Hardware zu konzentrieren. Der Versuch, einzelne Maschinen miteinander zu vergleichen, ist dabei sehr gewagt, da die angegebenen Leistungsdaten oft auf unterschiedlichen Voraussetzungen und Messungen basieren.

Schon 1986 stellte die Thinking Machines Corporation des Amerikaners W. Daniel Hillis ihre erste Connection Machine mit 65 536 Prozessoren in SIMD-Struktur vor. Das im November 1991 vorgestellte Modell CM-5 ist prinzipiell (ohne Berücksichtigung der Kosten) skalierbar bis zu 64 Knoten mit 16 384 Prozessoren und der erste Rechner dieses Herstellers, der die SIMD- und MIMD-Architektur miteinander verbindet. Die bislang höchste Ausbaustufe mit 1024 Prozessoren wurde zu einem Preis von zirka 30 Millionen Dollar an das Los Alamos National Laboratory in New Mexico ausgeliefert. Nach Aussage des amerikanischen Marktforschungsinstituts IDC hält die TMC mit ihren Maschinen einen Weltmarktanteil von 39,2 Prozent.

minpic04.jpg

Immer wieder beliebt: blinkende Lämpchen signalisieren Rechneraktivität bei der Connection Machine CM-5. Sie kombiniert das SIMD- mit dem MIMD-Prinzip.

Für das aktuelle Einstiegsmodell CM-5 Scale 3 mit einer theoretischen Spitzenleistung von 4 Gigaflops und einem Preis von unter 1 Million Dollar, hat sich zum Beispiel die Bergische Universität GHS Wuppertal entschieden. Diese Maschine enthält 32 Knoten mit einer Rechenleistung von je 128 Megaflops, die über ein breitbandiges Kommunikationsnetzwerk gekoppelt sind. Dabei greifen Rechen- und Plattenspeicherknoten gleichberechtigt auf dieses Netzwerk zu. Dies führt zu einer neuen, höheren Flexibilität bei der Wahl zwischen hoher Rechenleistung und/oder hoher Speicherkapazität. Die CM-5-Maschinen haben ein komplexes Verbindungsnetzwerk, bestehend aus dem Datennetzwerk, dem Kontrollnetzwerk und einem Diagnosenetzwerk. Genau diese Aufteilung erlaubt die Kombination des SIMD- und MIMD-Prinzips bei der Abbildung der zu lösenden Aufgaben auf die Hardware der Maschine. Die Knoten enthalten einen 33-MHz-SPARC-Prozessor und vier optionale Vektorprozessoren des Herstellers Weitek sowie maximal 32 MByte Speicher. Die Rechenleistung ohne/mit Vektorprozessoren beträgt 5 Megaflops / 128 Megaflops je Knoten. Das Kommunikationsnetzwerk gewährleistet mindestens 5 MByte/s Übertragungsrate zwischen beliebigen Knoten. Für die Struktur der Netzwerke wurde der `fat tree´ gewählt.

Zweite Position

Ein weiterer Riese unter den Parallelrechner-Herstellern mit 19,2 Prozent Weltmarktanteil (laut IDC) ist die Intel Supercomputer Division, die erste Firma, die einen Parallelrechner als kommerzielles Produkt auf den Markt brachte. Aus einer Reihe von Prototypen hervorgehend, wurde im Mai 1991 der Touchstone Delta am California Institute of Technology installiert. Im November 1991 erreichte diese Maschine, bestehend aus 528 Prozessoren des Typs Intel i860XP, 13,9 Gigaflops. Das Nachfolgemodell Paragon (s. Abb. S. 68) soll in einer Version mit 512 Knoten noch in diesem Jahr am Oak Ridge National Laboratory für etwa 40 Millionen Dollar installiert werden. Für jeden Knoten sind 2 oder 5 der i860XP-RISC-Prozessoren und maximal 64 MByte Speicher vorgesehen. Mit einer Spitzenleistung von 150 Megaflops pro Knoten bei zwei Knotenprozessoren soll das System eine Peakperformance von über 100 Gigaflops erreichen. Intel bevorzugt die Struktur eines zweidimensionalen Gitters für die Vernetzung der Knoten und gibt eine Kommunikationsbandbreite von 200 MByte/s zwischen zwei Knoten an. Das Spitzenmodell Paragon XP/S100 soll bis auf 4000 Knoten ausgebaut werden können.

Zu den fünf europäischen Paragon-Installationen zählen das Kernforschungszentrum Jülich und die Universität Stuttgart, die jeweils Systeme mit 72 Knoten und maximal 5 GFLOPS anschafften. Anfang Mai lieferte Intel erstmalig ein für die Paragon-Systeme entwickeltes, skalierbares Betriebssystem aus, das an OSF/1 angelehnt ist.

minpic05.jpg

nCube bietet in der Serie 2S Systeme mit bis zu 8192 Prozessoren und maximal 34 GFLOPS an.

Mit 8 Prozent Weltmarktanteil zählt die nCUBE Corporation ebenfalls zur Runde der Marktführer. nCUBE hat durch ihre Zusammenarbeit mit dem Softwarehaus Oracle Corp. den kommerziellen Markt ins Auge gefaßt. Das aktuelle Modell nCube 2S in Hypercube-Topologie, MIMD-Architektur und mit herstellerspezifischen 64-Bit-CMOS-Prozessoren leistet 3,5 Megaflops pro Knoten, von denen jeder bis zu 64 MByte Speicher enthält. Ein Knotenprozessor vereinigt eine 64-Bit-CPU, eine 64-Bit-IEEE-FPU, eine Message Routing Unit und 14 DMA-Kanäle auf einem Chip. Durch die relativ niedrige Rechenleistung der einzelnen Knoten müssen damit aufzubauende Höchstleistungssysteme mit bis zu 8192 Knoten ausgestattet werden. Tatsächlich bestand das bisher größte verkaufte System aus 2048 Knoten, es ging an das Los Alamos National Laboratory in New Mexico. In Deuschland hat sich die Universität Hannover einen nCUBE zugelegt, allerdings mit nur 64 Knoten.

Heimische Aktivitäten

Trotz der starken Präsenz der amerikanischen Hersteller haben europäische Firmen noch nicht den Anschluß verloren, obwohl das deutsche Suprenum-Projekt kein kommerzieller Erfolg war und 200 Millionen Mark Steuergelder verbraucht hat. Dafür hält die deutsche Parsytec GmbH aus Aachen laut einem Report der Gesellschaft für Mathematik und Datenverarbeitung immerhin 10 Prozent des Weltmarktanteils paralleler Supercomputer und ist der führende europäische Hersteller. Seit der Gründung 1985 konnte das Unternehmen fast 800 Parallelrechner unterschiedlicher Größenordnungen verkaufen. Ein Parsytec-GCel, das bisher größte installierte System, enthält 1024 Knoten und arbeitet im Paderborner Center für Paralleles Computing. In diesen Rechnern kommen Transputer des Typs T805 von Inmos zum Einsatz. Transputer basieren auf der Idee, Prozessoren wie Bauelemente direkt miteinander zu verschalten. Dazu enthalten sie bereits auf dem Chip Kommunikationskanäle (`Links´) für den direkten Anschluß an weitere Transputer. Doch erst die nächste Generation, der Parsytec GC, wird in der größten Ausbaustufe mit 16 384 Transputern des aktuellen Typs T9000 mehrere hundert Gigaflops erreichen können. Jeder T9000 besitzt eine Spitzenleistung von 25 Megaflops.

minpic06.jpg

Die Multiplex- und Routing-Einheiten des Parsytec GC erlauben wahlfreie Topologien. Die vorläufige el-Version des GC ist noch nicht mit den aktuellen 25-MFLOPS-T9000-Transputern bestückt.

Die virtuellen 65 536 Verbindungsmöglichkeiten des T9000 werden durch Inmos-C104-Routing-Chips auf reale Links abgebildet. Durch den hohen Integrationsgrad von Scheduling-, Multiplexing- und Routing-Mechanismen auf dem Transputerknoten können beliebige Topologien für das Gesamtsystem verwirklicht werden. Die virtuelle Kommunikationsstruktur erleichtert die Skalierbarkeit des Parallelrechners und die Abstimmung von Rechen- und Kommunikationsleistung.

Weitere Teilnehmer des Rennens um den Teraflops-Rechner sind beispielsweise das britische Unternehmen Meiko Scientific Ltd. mit ihrer Maschine `Computing Surface´, die bisher über 400mal installiert wurde. In der MIMD-Architektur mit variabler Topologie arbeiten Intel-i860- oder Sun-SPARC-Prozessoren mit Inmos-T800-Transputern als Kommunikationsprozessoren zusammen und erreichen 40 Megaflops pro Knoten. Das System kann auf bis zu einigen hundert Knoten ausgebaut werden.

Der 1992 vorgestellte KSR-1 des amerikanischen Herstellers Kendall Square Research ist zur Zeit der einzige massiv parallele Rechner auf dem Markt, der das Modell der gemeinsamen Speicherbenutzung der maximal 1088 Knotenrechner verwirklicht. Jeder Knoten enthält einen superskalaren 20-MHz-RISC-Chip und 32 MByte Speicher, der durch Hardware-Unterstützung als virtuell gemeinsamer Speicher angesprochen werden kann. Die Spitzenleistung eines Knotens beträgt 40 Megaflops.

Bei DEC gibt es die Serie DECmpp 12000 in Ausbaustufen von 1024 bis 16 384 Prozessoren. Die Spitzenleistung liegt bei 6,3 GFLOPS (32 Bit).

Auch Schwergewichte wie IBM und Cray Research planen die Markteinführung von MPPs. Vulcan, so der Projektname der IBM-Maschine, soll in ein bis zwei Jahren marktreif sein. IBM plant dabei mehrere hundert Knoten mit physikalisch verteiltem Speicher, der aber von allen Knoten aus ansprechbar sein soll. Crays Maschine `Tera 3D´ enthält den DEC-Alpha-Mikroprozessor und soll auf maximal 1024 Knoten ausgebaut werden können, bei einem Speicherprinzip ähnlich dem der IBM-Maschine. Anvisiert sind 300 Gigaflops für dieses System in diesem Jahr und bis 1997 eine Sustained Performance von einem Teraflops. Das Jet Propulsion Laboratory (JPL) soll noch in diesem Jahr ein System mit 256 Prozessoren und einer Spitzenleistung von 38 Gigaflops erhalten.

Im `Real World Computing´-Programm des japanischen Industrieministeriums MITI sind neben neuronalen und optischen Computern auch massiv parallele Systeme in der Entwicklung. NEC, Fujitsu und andere japanische Supercomputerhersteller verfolgen ebenfalls Ideen zur Teilnahme am Teraflops-Rennen.

Prognosen

Während die Leistung konventioneller Supercomputer kaum noch zu steigern ist, bieten Parallelrechner gute Voraussetzungen, das Ziel von einer Million Megaflops zu erreichen. Für das nächste Jahr hat nCube ein System mit 65 536 Knoten und einer Peakperformance von über 6,5 TFLOPS angekündigt. Bei diesem Spitzenwert ist schon an ein TFLOPS für ein reales Problem zu denken. Neben nackter Rechenleistung ist auch eine möglichst flexible Architektur wichtig. Speichermodelle, die physikalisch verteilte und logisch globale Strukturen kombinieren, sowie wahlfreie Topologien, die nicht auf eines der bekannten Modelle festgelegt sind, können beim Anwender die größte Effizienz bei der Lösung von realen Problemstellungen erzielen. Doch auch der Software-Support der Hersteller, wobei hier nicht nur die Versorgung mit Betriebssystemen und Compilern, sondern auch die Unterstützung bei spezifischen Anwendungen eine Rolle spielt, wird über Marktvorteile entscheiden. (be)

Literatur

[1] Dr. rer. nat. habil. Thomas Bemmerl, Programmierung skalierbarer Multiprozessoren, BI Wissenschaftsverlag Mannheim/Leipzig/Zürich 1992

[2] Wolfgang Müller, Parallelrechner - Transputeranwendungen in Industrie und Forschung, Gemini Multimedia Verlag 1992

[3] Landesinitiative Softech NRW, Situation und Perspektiven des Einsatzes der parallelen Datenverarbeitung 1992

[4] J.J. Dongarra, Experimental Parallel Computing Architectures, North-Holland 1987

[5] Dr. Thomas Bräunl, Parallaxis, Modula massiv parallel, c't 6/91, S. 34

[6] IEEE Spectrum, 9/1992, Special Issue: Supercomputers

Kasten 1


Europäer entwickeln Parallel-Software

Es scheint, als ob in Deutschland und Europa die Zeichen der Zeit erkannt worden sind und man sich insbesondere der Entwicklung kommerzieller Software für Parallelrechner annimmt. Während sich in Amsterdam die `associated computer experts bv´ auf Transputer-Software spezialisiert hat, sind bei uns die Genias Software GmbH bei Regensburg und Pallas in Brühl im Geschäft, zum Beispiel mit der Entwicklung von Benchmarks. Pallas koordiniert das europäische RAPS-Projekt (Real Application on Parallel Systems), bei dem es neben einem standardisierten Benchmark auch um ein portables Testpaket für Parallelrechner geht.

Vater Staat greift in die Tasche, um die parallele Datenverarbeitung in Schwung zu bringen. So fließen knapp 6 Millionen aus Steuermitteln des Landes Nordrhein-Westfalen und der EG in das ZIAM (Zentrum für industrielle Anwendungen massiver Parallelität). Es wurde im September 1992 in Herzogenrath gegründet und soll als Technologie-Tranfer-Drehscheibe für die Datenverarbeitung auf Parallelrechnern fungieren. Das ZIAM wird sich sicher nicht nur auf NRW, sondern auf ganz Deutschland positiv auswirken. Das Geld ist dort wahrscheinlich besser angelegt als beim Suprenum-Projekt.

Wenn man sich beispielsweise das Software-Angebot von Genias und Pallas ansieht, taucht immer wieder der Satz `Runs wherever EXPRESS is available´ auf. Im Bereich der Software gibt es einen Trend zur Vereinheitlichung. Programme sollen unabhängig von der Topologie der Hardware laufen. EXPRESS ist neben PICL, PARMACS, PVM (Parallel Virtual Machine) und anderen eine der parallelen Programmierumgebungen. Hierbei handelt es sich nicht um eine neue Form von Betriebssystem, sondern um eine Sammlung von Unterprogrammen, die auf jeder Hardware identisch implementiert sind. Mit EXPRESS werden die Sprachen C und Fortran unterstützt. Nicht nur rein wissenschaftliche Programme, sondern auch kommerzielle Software erobert den Markt der massiv parallelen Rechner. Das bekannte Datenbankprogramm Oracle ist bereits seit einiger Zeit für den nCube 2 verfügbar.

Evergreen Fortran

Ein weiterer Schritt auf dem Weg zur Programmkompatibilität ist High Performance Fortran (HPF), das auf Fortran 90 aufbaut und parallele Anweisungen, wie FORALL enthalten wird. Mit HPF sollen sowohl MIMD- als auch SIMD-Rechner mit unterschiedlicher Systemarchitektur programmiert werden. Das Festhalten an dieser ältesten aller Sprachen wird verständlich, wenn man sich die immense Zahl von Fortran-Programmen vergegenwärtigt, die bis heute im Supercomputer-Bereich im Einsatz sind. Der erste Vorschlag von HPF liegt seit November 1992 vor. Noch in diesem Jahr rechnet man mit der endgültigen Verabschiedung und den ersten HPF-Compilern.