Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

12.11.1993

Auf dem Weg zur Standardanwendung Die MPP-Technologie laeutet eine Revolution in der DV ein Von Wolfgang Kroh und Karl-Heinz Erkens*

Hochleistungsrechner, mit einer Anzahl gebraeuchlicher Desktop- Prozessoren bestueckt, sind kuenftig die kostenguenstigste Loesung zur Bewaeltigung geeigneter paralleler Problemstellungen. Damit ergaenzen solche Parallelsysteme die bestehende Vektorrechner- Supercomputer-Welt um eine neue Dimension.

Die nominelle Spitzenleistung der MPP-Systeme (Massive Parallel Processing) uebertrifft bereits heute die aller anderen Rechnerklassen. Entsprechend hoch sind die Erwartungen der Benutzer an diese neue Generation von Hochleistungsrechnern. Aber noch gibt es viele Hindernisse. So ist insbesondere die Softwaretechnologie meist nicht ausgereift genug, um die nominelle Leistung fuer den Anwender sichtbar und MPP fuer breite Anwendungsgebiete zur Standard-Verarbeitungsart zu machen.

Es gibt heute verschiedene Technologien zur Leistungssteigerung bei Rechnersystemen unter Verwendung von Standard- Mikroprozessoren. Hierfuer sind unterschiedliche Basisarchitekturen, verschiedene Verfahren zur Prozessorkopplung und diverse Programmiermethoden verfuegbar. Zudem stellen Mehrprozessorsysteme fuer verschiedene Anwendungen unterschiedliche Performance-Niveaus bereit. Von diesen haengt es wesentlich ab, ob ein Anwender seinen MPP-Rechner effizient nutzen kann.

Organisation muss veraendert werden

MPP bezeichnet allgemein Systeme, die mit Hunderten beziehungsweise Tausenden von Prozessoren bestueckt sind. Die Rechner werden gewoehnlich danach unterschieden, wie sie Daten und Befehle verarbeiten - in einzelnen oder mehreren Daten- oder Befehlsstroemen. Es gibt vier Kombinationsmoeglichkeiten: SISD (Single Instruction, Single Data), SIMD (Single Instruction, Multiple Data), MISD (Multiple Instruction, Single Data) und MIMD (Multiple Instruction, Multiple Data).

Die beiden gebraeuchlichsten Architekturen sind SIMD und MIMD. Beide weisen spezielle Nachteile auf, jedoch verzeichnet die MIMD- Architektur in der DV-Welt derzeit die groesste Nachfrage. Der Grund hierfuer: Das MIMD-Modell ist besonders flexibel, da mehrere CPUs unabhaengig voneinander verschiedene Codeteile ausfuehren koennen.

Die MPP-Technologie verspricht beachtliche Vorteile. So ist haeufig zu hoeren, dass sie die Computerindustrie aehnlich revolutionieren wird wie der Mikrocomputer in den fruehen 80er Jahren. Ein als revolutionaer eingestuftes Produkt verlangt von Unternehmen, die es nutzen, die umfassende Umstellung ihrer Geschaeftsvorgaenge.

Dies kann Auswirkungen auf die gesamte Unternehmensorganisation haben und fuer eine gewisse Zeit sogar zu Produktionseinbussen und Kostensteigerungen fuehren.

Der augenfaellige Vorteil von skalierbaren Parallelsystemen liegt in ihrem konkurrenzlos guten Preis-Leistungs-Verhaeltnis. In einer 1992 durchgefuehrten Befragung von Unternehmen mit Hochleistungsrechnern wurde das Preis-Leistungs-Verhaeltnis als wichtigstes Argument fuer den Erwerb eines Superrechners genannt. 75 Prozent der Befragten gaben diesem Kriterium die erste Prioritaet.

Parallelsysteme haben definitiv das Potential, der Nachfrage der Unternehmen nach mehr Leistung zu geringeren Preisen zu entsprechen. Sie liegen bei Anwendungen der Formel "Theoretische Spitzenleistung ./. Preis" schon heute guenstiger als andere Grossrechnerklassen.

Entsprechend sehen die Marktprognosen aus, die auf ein ueberproportional rasches Wachstum bei MPP-Systemen hindeuten. Das Marktforschungsinstitut IDC erwartet bei MPP-Systemen 1993 beispielsweise einen Umsatz von 300 Millionen Dollar nach 263 Millionen Dollar Umsatz im letzten Jahr. Dataquest prognostiziert dem MPP-Markt fuer dieses Jahr einen Umsatz von 290 Millionen Dollar. Bis 1996 soll der Markt auf 653 Millionen Dollar wachsen.

Der Hauptmotivationsfaktor fuer MPP-Rechner ist, dass sie Leistungswerte erreichen, die anderen Architekturen versagt sind. Die schnellsten Taktraten von Rechnern liegen heute im Bereich von 500 Megahertz und lassen sich aufgrund physikalischer Grenzen bereits jetzt sehr schwer und bald gar nicht mehr steigern. Daher herrscht generelles Einverstaendnis darueber, dass kuenftig gewuenschte Leistungssteigerungen um einige Groessenordnungen nur mit Hilfe von Architekturaenderungen in Richtung effizienter Parallelverarbeitung zu erreichen sind.

Im Januar 1992 unterzeichnete US-Praesident George Bush den High Performance Computing and Communications Act (HPCC). Das HPCC- Programm, das eine Laufzeit von fuenf Jahren und ein Budget von drei Milliarden Dollar hat, soll Amerikas Wettbewerbsfaehigkeit und Spitzenposition bei Computertechnologien weiter ausbauen. Das Projekt unterteilt sich in vier Bereiche. Einer umfasst die Entwicklung von Rechnersystemen, die zu Trillionen Rechenoperationen pro Sekunde (Tflops) in der Lage sind.

Diese Rechnersysteme sollen die sogenannten "Grand Challenges" in Wissenschaft und Technik loesen helfen. Als Grand Challenges werden "fundamentale Probleme mit moeglicherweise weitreichenden wirtschaftlichen, politischen und/oder wissenschaftlichen Auswirkungen" definiert.

Solche Probleme lassen sich nur mit Hilfe der MPP-Technologie loesen, weil sie so komplex sind, dass sie Performance-Leistungen im Tflops-Bereich (10 hoch 12 Fliesskommaoperationen pro Sekunde) und auch Hauptspeicherkapazitaeten im Terabyte-Bereich (10 hoch 12 Bytes) voraussetzen.

Derzeit weist die MPP-Technologie noch verschiedene Mankos auf. Diese lassen sich schlagwortartig mit den Begriffen Programmiermodell, Verfuegbarkeit von Anwendungsprogrammen und Grenzen des Parallelisierungsgrads umreissen.

Fuer den Anwendungsentwickler ist verstaendlicherweise das Systemverhalten bei der Migration beziehungsweise Neuentwicklung von Programmen - das sogenannte Programmiermodell - besonders wichtig. Viele derzeit verfuegbare MPP-Systeme verlangen dem Programmierer gaenzlich neue Programmierverfahren und -kenntnisse ab. Die Folge davon sind lange Lernzeiten und eine schleppende Migration vorhandener Programme auf die neue Architektur.

Herausforderung fuer Programmierer

Das einfachste Programmiermodell ist das fuer einen einzelnen Prozessor, der an ein einzelnes Hauptspeichersystem angebunden ist. In einem solchen SISD-System werden die Befehle seriell ausgefuehrt, so dass sich der Programmierer nicht um die Spezifikationen der Hardware kuemmern muss.

Bei ueblichen MPP-Systemen kann ein Prozessor nur auf die Daten zugreifen, die in seinem Hauptspeicherbereich liegen, nicht aber auf solche, die in Hauptspeicherbereichen von Nachbarprozessoren lagern. Der Programmierer muss also dafuer sorgen, dass die Daten auf den Speicher eines zweiten Prozessors kopiert werden, bevor dieser sie verarbeiten kann. Diesen Programmierstil nennt man Message Passing (MP).

Des weiteren muss der MPP-Programmierer nicht nur den Hauptspeicher, sondern auch die Verteilung der unterschiedlichen Programmcodepfade (threads) beruecksichtigen, die er zu parallelisieren versucht. Saemtliche Threads muessen auf die unterschiedlichen Prozessoren verteilt werden, und ihnen muessen die korrekten Daten zur Ausfuehrung zugewiesen werden. Zudem muessen die unterschiedlichen Threads ihre Ausfuehrung und ihre Bezugnahme auf von allen Threads gemeinsam genutzte Daten synchronisieren.

Mit diesen Problemen werden Anwender von MPP-Systemen heutzutage konfrontiert. Sie machen einen wesentlichen Nachteil der MPP- Technologie aus, der zudem ein weiteres Manko nach sich zieht: die mangelnde Verfuegbarkeit von Anwendungen. Viele Unternehmen greifen gegenwaertig auf Software zurueck, die extern produziert und den Kunden zum Kauf oder zur Miete angeboten wird. Die ISVs (Independent Software Vendors), die diese Software entwickeln, tun sich jedoch mit der Entwicklung von Anwendungen fuer neue respektive mehrere Implementationen aehnlicher Architekturen sehr schwer.

Sie wollen und muessen vielmehr Software generieren, die aus Wirtschaftlichkeitsgruenden auf moeglichst vielen Plattformen verfuegbar ist. Solange MPP einen begrenzten Markt darstellt und es keinen eindeutigen Standard gibt, warten die meisten ISVs mit der Portierung der benoetigten Anwendungen. Die dadurch fehlende Anwendungssoftware fuehrt umgekehrt wieder dazu, dass viele potentiellen MPP-Kaeufer noch zoegern.

Parallelisierbare Programme fehlen

Ein weiteres, teilweise grundsaetzliches Problem ist der mangelnde Parallelisierungsgrad mancher Anwendungen und deren moegliche Paralleleffizienz. Bereits 1967 zeigte Gene Amdahl, dass die Leistung eines Parallelsystems letztlich durch die Geschwindigkeit des nicht parallelen Programmanteils bestimmt wird.

Aus dem Amdahlschen Gesetz laesst sich die Schlussfolgerung ziehen, dass ein Programm hochgradig parallelisierbar sein muss, um Vorteile aus sehr vielen Prozessoren, also einer massiv-parallelen Auslegung, ziehen zu koennen, und dass man bessere Paralleleffizienz eher durch Nutzung Hunderter starker Prozessoren (das heisst moderat-parallel) denn Tausender schwacher Prozessoren erreicht.

Die Hersteller von MPP-Rechnern scheinen bislang der Ansicht zu sein, dass sich der Markt von selbst entwickeln werde. Weit gefehlt! Ein wirklicher MPP-Markt wird erst dann entstehen, wenn feststeht, dass die MPP-Rechner die an sie geknuepften Erwartungen wirklich erfuellen. Dem stehen derzeit aber noch die genannten Mankos der MPP-Technologie entgegen, die sich kaum von heute auf morgen alle aus der Welt schaffen lassen.

Die breite Masse der Anwender wird sich fuer MPP nur gewinnen lassen, wenn die noch bestehenden Schwachstellen aus der Welt geschafft werden. Ein System, das die Vorteile von MPP realisiert und dessen Nachteile zu beseitigen verspricht, ist das von Convex entwickelte SPP-System (Scalable Parallel Processor).

Als SPP bezeichnet das Unternehmen seinen RISC-basierten Vielprozessorrechner. Ziel ist es, mit SPP ein System anzubieten, das die Software-Umgebung und Benutzerfreundlichkeit eines Universalrechners aufweist, architekturell skalierbar ist und gleichzeitig alle Leistungsmerkmale eines massiv-parallelen Systems hat.

SPP ist ein Oberbegriff von MPP. Die Neu-Bezeichnung ist aus zwei Gruenden erforderlich:

- SPP wurde fuer die Anforderungen der Durchschnittsanwender konzipiert und kann folglich als naechste Stufe in der Entwicklung der MPP-Technologie betrachtet werden. Beim SPP-System handelt es sich um ein Symmetrisches Multiprozessor-System (SMP), es besitzt die von jedem Universalrechner gewohnte komfortable Arbeitsumgebung.

- Das SPP-Programmiermodell unterstuetzt sowohl die automatische Parallelisierung, (es ist ein Shared Memory System mit automatischer Umsetzung der virtuellen Adresse auf die zugehoerige physikalische) als auch das bei anderen MPP-Systemen notwendige MP. Die SPP-Maschine soll den an MPP-Systeme geknuepften Erwartungen entsprechen, gleichzeitig jedoch das Look and feel derzeit verfuegbarer Workstations und SMP-Systeme beibehalten. Dazu wurden viele Architekturmerkmale heutiger MPP-Systeme uebernommen und mit dem Programmiermodell und der Benutzerfreundlichkeit des Desktops kombiniert.

Aufgrund der Shared-memory-Architektur koennen Systemsoftware und Compiler auf dem gewohnten, einheitlichen virtuellen Adressraum arbeiten. So bietet SPP Compiler-unterstuetzte automatische Parallelisierung.

Der Anwender kann darueber hinaus wahlweise den Compiler mit Hilfe von Direktiven ueber spezielle Datenlokalitaeten informieren, Speicherhierarchien definieren und vieles mehr.

Convex hat zur Verbesserung der Parallelisierungsmoeglichkeiten einen Compiler entwickelt, der nicht nur auf Unterprogrammebene optimiert und parallelisiert, sondern auf der Suche nach moeglichst "grobkoerniger" Parallelisierung ein Programm als Ganzes optimiert.

Die auf anderen MPP-Systemen gaengigen MP-Programmiermodelle werden ebenfalls unterstuetzt. Fuer sie existieren derzeit verschiedene De-facto-Standards. Der gebraeuchlichste duerfte PVM (Parallel Virtual Machine) sein.

Zusaetzlich gibt es verschiedene vorgeschlagene Sprachstandards fuer das von Convex unterstuetzte MP-Programmiermodell. Der Vorteil dieses Modells auf PVM-Basis ist, dass sich die Anwendung gewoehnlich auf unterschiedlichsten Plattformen ausfuehren laesst.

Hohe Leistung ist ein Hauptfaktor fuer den Erfolg eines MPP- Systems. Derzeit gibt es erst wenige Anwendungen, die aus zehn Prozessoren geschweige denn hunderten den entsprechenden Vorteil ziehen. Daher ist es wuenschenswert, dass Parallelsysteme sich vom Betreiber flexibel an unterschiedliche Lastanforderungen anpassen lassen. Das Betriebssystem SPP unterstuetzt einen Scheduling- Mechanismus, der die Unterteilung saemtlicher Systemkomponenten in Unterkomplexe ermoeglicht. Jeder Unterkomplex wird unabhaengig konfiguriert und verwaltet, beispielsweise fuer den Time-sharing- Betrieb. So lassen sich Jobs Unterkomplexen zuordnen, die ihrem speziellen Parallelisierungspotential entsprechen.

Das SPP-Betriebssystem sieht fuer den Anwender wie ein gewohntes SMP-Unix-System aus. In Wirklichkeit handelt es sich um ein verteiltes Betriebssystem auf Microkernel-Basis, in diesem Fall dem OSF/1-Mach-Micro-kernel der OSF (Open System Foundation). Alle Betriebssy-stem-Dienste (zum Beispiel Ein- und Ausgabe) sind auf allen Prozessorknoten vorhanden, so dass es auch bei vielen konkurrierenden Systemanfragen keine Engpaesse gibt wie etwa bei Systemen, die diese Kerndienste nur einmal zentral zur Verfuegung stellen und damit einen Flaschenhals haben.

Das SPP-Betriebssystem umfasst eine Schicht, die der Benutzer-ebene und den Anwendungs-Schnittstellen die Ausfuehrung von HP-UX- Binaercode ermoeglicht. Als Folge davon kann der Anwender alle fuer HP-UX verfuegbare Middleware nutzen und jedes HP-UX-Programm sofort unveraendert auf dem SPP-System ausfuehren. Sofern nicht neu kompiliert wurde, kann das ausfuehrbare HP-UX-Binaerprogramm hierbei natuerlich nur einen Prozessor nutzen. Das SPP-System setzt als Basisbaustein PA-RISC-Desktop-Mikroprozessoren von Hewlett-Packard ein. Die verwendeten HP-7100-Prozessoren sind beson-ders leistungsfaehig (200 Mflops) fuer Gleitkommaoperationen.

Ein Technologieabkommen mit HP garantiert Convex, dass sie auch bei kuenftigen SPP-Systemen auf der Technologiekurve der Desktop- Mikroprozessor-Entwicklung bleiben und immer die leistungsfaehigsten Einprozessorsysteme fuer die wichtige Grundleistung verwendet werden.

Standard-CPUs senken die Kosten

Die heute notwendigen Investitionen fuer die Erstellung einer konkurrenzfaehigen CPU betragen mehrere 100 Millionen Dollar. Sie amortisieren sich nur, wenn die Architektur sich in hohen Stueckzahlen verkaufen laesst. Umgekehrt ist der MPP-Markt volumenmaessig zu klein, um solche Basisbausteine selbst zu erstellen. Dies fuehrt zwangslaeufig dazu, dass MPP-Systeme mit Standardbausteinen kuenftig ein besseres Preis-Leistungs-Verhaeltnis haben werden als Systeme mit proprietaeren Komponenten.

Das SPP-System koppelt zunaechst acht HP-7100-Prozessoren auf bestmoegliche Weise eng miteinander. Dies geschieht mittels der bei Supercomputern verwendeten Crossbar-Technologie. Der Crossbar sorgt dafuer, dass alle acht CPUs und die ihnen zugeordneten Speicherelemente schnellstmoeglich miteinander kommunizieren koennen. Bis zu 16 dieser 1,6 Gflops starken, eng gekoppelten Crossbar-Knoten koennen zur gewuenschten Konfiguration ringfoermig zusammengeschlossen werden. Fuer den Programmierer sieht jede Konfiguration, ob sie aus acht, 16 oder maximal 128 Prozessoren besteht, aus wie ein gewohntes SMP-System. Dies wird erreicht, indem die Hardware des SPP-Systems einen gemeinsamen virtuellen Adressraum ermoeglicht und automatisch alle logischen Adressen eines Programms auf die gewuenschten physikalischen umsetzt. Zusammen mit einem durch die Hardware unterstuetzten Cache-Kohaerenz-Protokoll bietet das SPP-System einen fuer MPP-Systeme ungewohnt hohen Programmierkomfort.

Die Skalierbarkeit haengt eng mit dem Preis-Leistungs-Verhaeltnis zusammen, da es hierbei um den Schutz getaetigter Investitionen geht. Das SPP-System bietet Skalierbarkeit auf allen Ebenen: bei der Chip- und der Verbindungstopologie sowie beim Betriebssystem. Die Einprozessorleistung des PA-RISC-Chips ist gleichermassen wichtig fuer nicht parallele Anwendungen wie - entsprechend dem Gesetz von Amdahl - auch fuer hochparallele Programme. Die "CXring"-Verbindung, eine dedizierte Hardware fuer die Hochgeschwindigkeits-Verbindung der einzelnen Knoten, hat sehr geringe Latenzzeiten und garantiert Cache-Kohaerenz bis zu einer Anzahl von 64 000 Prozesoren. Sie gewaehrleistet den gewohnten Komfort, den ein Bus innerhalb eines SMP-Systems erbringt, vermeidet aber durch ein spezielles Packet-Protokoll und viele parallele Punkt-zu-Punkt-Verbindungen die Limitierungen von Bus- Systemen. Diese sind nicht skalierbar und daher fuer MPP-Systeme ungeeignet.

Das Betriebssystem verteilt die Basisdienste auf alle im System vorhandenen Prozessoren, wodurch bei Hinzunahme weiterer Knoten die Betriebssystem-Dienste mitskalieren. Das SPP-System ist luftgekuehlt und im Feld erweiterbar.

Die Unternehmen haben kein besonderes Interesse an MPP, sondern suchen schlichtweg nach mehr Leistung. MPP-Rechner sind aus heutiger Sicht die Werkzeuge, mit denen sich die erwuenschte Steigerung am besten bewerkstelligen laesst. Die heute noch bestehenden Schwachstellen im Bereich der MPP-Technologie werden mit der Zeit durch immer leistungsfaehigere Hard- und Software- produkte beseitigt werden. Dann laeuten MPP-Systeme im Markt zweifellos eine neue Revolution der Datenverarbeitung ein.