Einzug in alle Bereiche der DV MPP-Systeme ueberwinden die Grenzen traditioneller Hosts Von Manfred Eupper*

02.09.1994

Heute halten noch viele Unternehmen nur einen Bruchteil ihrer Daten online verfuegbar. Entweder ist das Speichern und Verarbeiten aller verfuegbaren Daten mit derzeitigen Rechnersystemen wirtschaftlich nicht sinnvoll, oder aber diese Systeme sind nicht leistungfaehig genug, um unter Einbeziehung aller Daten noch sinnvolle Antwortzeiten bei Abfragen oder Analysen zu gewaehrleisten. Gleichzeitig waechst die Anzahl der Benutzer und die Forderung nach Ad-hoc-Abfragen und nach wesentlich kuerzeren Antwortzeiten wird immer lauter. Traditionelle Rechnersysteme stossen hier an ihre Grenzen.

Eine neue Klasse von Computersystemen, massiv-parallele

(MPP) Systeme, bieten einen Ausweg aus dieser Situation. Sie ueberwinden die Grenzen herkoemmlicher Rechnerarchitekturen und ermoeglichen es Unternehmen, selbst groesste Datenmengen effizient und preiswert zu nutzen, anstatt in einer immer groesser werdenden Datenflut zu ersticken.

Symmetrische Multiprozessorsysteme

Im kommerziellen Umfeld sind symmetrische Multiprozessorsysteme (SMPs oder Tightly-Coupled Systems) schon seit langem erfolgreich im Einsatz. Erst kuerzlich hat IBM ein neues 10-Prozessor-System angekuendigt.

SMP-Systeme werden von einem einzigen Betriebssystem gesteuert und die Parallelitaet ist fuer den Systemverwalter, den Programmierer und den Endanwender weitestgehend transparent (Single System Image). Solche SMP-Systeme besitzen ein sehr aufwendiges Hardware- Design, um konkurrierende Zugriffe der Prozessoren auf die gemeinsamen Ressourcen wie Speicher und Platten aufzuloesen und die Konsistenz dieser Informationen zu gewaehrleisten.

Die Entwicklung und Produktion solcher Subsysteme mit entsprechenden Speicher- und E/A-Bandbreiten ist extrem aufwendig und teuer und man geraet bei mehr als zehn bis 20 Prozessoren sehr schnell an die Grenzen des wirtschaftlichen und technisch Machbaren.

Seit mehr als zehn Jahren existieren bereits Ansaetze, die Arbeitslast von einem grossen, leistungsfaehigen und meist teuren Grossrechner auf mehrere, wesentlich kleinere und billigere Prozessoren zu verteilen. Client-Server-Anwendungen und Distributed Computing haben die existierende Computerlandschaft revolutioniert.

In lose gekoppelten Systemen gibt es keine gemeinsamen Ressourcen. Jeder Prozessor besitzt seinen eigenen Speicher und Platten und kommuniziert mit den anderen Prozessoren ueber ein LAN oder Cluster-Netzwerk.

Diese Architektur beseitigt die Engpaesse der SMP-Systeme bei Speicherzugriffen. Auf jedem Prozessor laeuft ein eigenes Betriebssystem und es gibt keinen "Single Point of Failure". Dadurch ist die Verfuegbarkeit des Systems wesentlich hoeher als bei heutigen Unix-SMP-Implementierungen. Der Ausfall eines Prozessors, oder was heute meist haeufiger der Fall ist, ein Fehler im Betriebssystem, fuehrt nicht zum Ausfall des Gesamtsystems.

Allerdings ist die Systemverwaltung und die Programmierung dieser Systeme aufwendiger. Bei Client-Server- oder Parallel-Anwendungen tauschen die einzelnen Subtasks ueber sogenannte Remote-Procedure- Calls oder Message-Passing benoetigte Daten miteinander aus. Es entsteht ein Kommunikations-Engpass auf dem LAN. Damit sind solche lose gekoppelten Systeme zumindest fuer parallele Anwendungen ebenfalls nicht skalierbar.

Die neuen massiv-parallelen Systeme verwenden anstelle LAN- basierender Kummunikations-Netzwerke neuartige, skalierbare Verbindungsmechanismen. IBMs "Scalable Powerparallel System" (SP2) beispielsweise besteht aus momentan vier bis 128 Power2-RISC- Prozessoren mit einer Leistung von ein bis 32 GFLOPS.

Das System enthaelt Compute-Knoten, auf denen die eigentliche Rechenarbeit abgewickelt wird und Server-Knoten, die zur Systemverwaltung, Datenhaltung und als Gateways zur Aussenwelt

(ATM, FCS, HiPPI, ESCON) dienen. Die Endbenutzer sind ueber LAN- Verbindungen (Ethernet, Token-Ring, FDDI) mit dem System verbunden. Ein RISC-System/6000 dient als Systemkonsole zur zentralen Steuerung und Verwaltung des Systems.

Die Kommunikation zwischen den Knoten erfolgt ueber einen Hochleistungs-Switch. Dieses mehrstufige, paketorientierte Koppelnetzwerk ist das Herzstueck der SP2 und macht aus der Ansammlung von vielen Prozessorknoten erst einen leistungsfaehigen Parallelrechner. Er ermoeglicht sogenannte "Any to any"- Verbindungen mit mehreren Verbindungspfaden zwischen zwei beliebigen Knoten.

Die Kommunikationsleistung zwischen zwei Prozessoren ist weitestgehend unabhaengig von deren relativer Lage zueinander und betraegt 40 MB/s (bi-direktional) bei einer HW-Latenzzeit von 500 Nanosekunden. Dies ist ein entscheidender Vorteil gegenueber vielen anderen Parallelrechnern, die eine bestimmte Kommunikationstopologie besitzen. Die Parallel-Programmierung der SP2 wird dadurch wesentlich vereinfacht. Die Gesamt- Kommunikationsleistung waechst linear mit der Anzahl der Prozessoren (n * 40MB/s) bei annaehernd konstanter Latenzzeit.

Somit ist auch das letzte "Bottleneck" beseitigt. Die Powerparallel-Systeme skalieren in allen relevanten Bereichen wie Speicher- und Plattenkapazitaet, Zugriffsbandbreite und Interprozessorkommunikation proportional zur Anzahl der Prozessoren und damit proportional zur Rechenleistung. Sie sind damit, neben dem traditionellen Einsatz solcher Systeme im technisch-wissenschaftlichen Umfeld, ideal geeignet fuer Client- Server-orientierte Anwendungen oder fuer Datenbank-Anwendungen wie OLTP, komplexe Abfragesysteme oder Decision Support Systeme.

Die inhaerente Redundanz der massiv-parallelen Systeme fuehrt zu einer wesentlich hoeheren Ausfallsicherheit und Verfuegbarkeit als sie herkoemmliche Unix-SMP-Systeme heute bieten. Das Hardwaredesign unterstuetzt Hunderte von unabhaengigen Prozessoren. Faellt ein Knoten aus, laufen die anderen unveraendert weiter. Spezielle Zusatzhard- und -software-Einrichtungen ermoeglichen es, dessen Daten und Arbeitslast durch die uebrigen Knoten uebernehmen.

Die Software-Architektur des SP2 ist offen und basiert auf dem Betriebssystem AIX/6000. Sie besteht aus einem Satz von eng miteinander zusammenarbeitenden Komponenten. Sie wurden mit dem Ziel entworfen, die SP2 Hardware optimal zu unterstuetzen und dem Benutzer ein Maximum ein Funktionalitaet und Performance zu bieten.

Die System-Verwaltung der SP2 erfolgt mittels der AIX Parallel System Support Programs. Es handelt sich um eine Reihe von Zusatzprogrammen zur zentralen Verwaltung, Steuerung und Ueberwachung des gesamten SP2 Systems (Single Point of Control). Weitere Komponenten beinhalten Funktionen zur Systemkonfiguration, zur Softwareinstallation und -verwaltung, zur Dateiverwaltung und zur Verwaltung der Benutzer.

Die Job-Verwaltung wird mit einem verteilten Job- Verwaltungssystem, dem AIX Loadleveler, realisiert. Er bietet dem Systemverwalter eine Reihe von Funktionen wie Definition von Jobklassen (CPU,Speicher,Zeit), Queues und Scheduling-Regeln sowie Funktionen zur Steuerung, Ueberwachung und Rekonfiguration der Queues. Fuer den Endbenutzer existieren eine Reihe von Funktionen zur Beschreibung und zum Starten von Jobs sowie zur Statusabfrage laufender Jobs. Durch den Einsatz des AIX LoadLeveler wird eine optimale Systemauslastung erreicht.

Da es sich bei den Knoten der SP2 um Standard RISC System

/6000 Prozessoren handelt, sind die meisten seriellen AIX- Anwendungen ohne Modifikation auf dem System lauffaehig und koennen entweder interaktiv oder als Batch-Jobs betrieben werden. Fuer die SP2 steht damit ein Portfolio mit ueber 6000 Anwendungen zu Verfuegung.

Zur parallelen Anwendungsentwicklung fuer die SP2 eignet sich vor allem das Produkt "AIX Parallel Environment". Es enthaelt Werkzeuge zur Entwicklung, Test und Ausfuehrung paralleler Programme.

Im technisch-wissenschaftlichen Bereich existiert fuer die SP2 bereits eine grosse, staendig wachsende Anzahl von parallelen Anwendungen.

Fuer kommerzielle Client-Server-Anwendungen werden lediglich die Datenbank- und Transaktionskomponenten durch entsprechende parallele Versionen ersetzt. DB2/6000 Parallel Edi-

tion ist eine solche verteilte relationale Datenbank mit einer sogenannten "Shared-Nothing"-Architektur. Grosse Tabellen werden auf mehrere Rechnerknoten (heute bis zu 128) verteilt. Eine von einem Client abgesetzte SQL-Anweisung wird an einem der Knoten der Parallel-DB entgegengenommem, der fuer die weitere Bearbeitung die Koordination uebernimmt. Die SQL-Anweisung wird in Teilbefehle aufgeteilt, die an die relevanten Rechnerknoten gesendet und dort parallel zueinander abgearbeitet werden. Die Teilergebnisse werden dem Koordinator uebergeben, der daraus das Endergebnis bildet und an den Client zurueckgibt. Wie eine Anforderung am kostenguenstigsten erledigt wird, bestimmt der sogenannte Optimizer.

Parallelisiert werden alle SQL-Anweisungen, inklusive notwendiger Teilaufgaben wie Joins, Sortieren, Gruppieren, Index- und Table- Scans. Ebenso Hilfsprogramme zum Laden, Reorganisieren, Sichern und Wiederherstellen von Tabellen sowie der Aufbau von Indices und das Erstellen von Statistiken.

In dieser HW/SW-Kombination erschliessen sich neue Dimensionen in der Informationsverarbeitung. Riesige Datenvolumen (heute 128 Knoten mit ueber 500 TB) lassen sich effizient verarbeiten mit bisher unerreichbar kurzen Antwortzeiten fuer komplexe Queries. Selbst hoechste Transaktionslasten lassen sich spielend bewaeltigen.

Das Programmpaket SAP /R3 wird eine der ersten und wichtigsten kommerziellen Anwendungen sein, die diesen neuen Parallelrechner nutzt.

Durch die Wiederverwendung bewaehrter und preiswerter RISC- Prozessoren und offenen, Unix-basierenden Softwarekomponenten zusammen mit innovativer Switch-Technologie und neuen, parallelen Softwareprodukten

erschliessen massiv-parallele Systeme voellig neue Dimensionen in der Informationsverarbeitung. Sowohl hinsichtlich ihrer schier unbegrenzten Rechenleistung als auch in bezug auf ihre hervorragende Preis-Leistungsfaehigkeit und ihre hohe Verfuegbarkeit. Diese Systeme sind nicht laenger nur Spezialrechner fuer Wissenschaftler und Ingenieure, sondern in allen Bereichen der Datenverarbeitung erfolgreich einsetzbar.