Konzepte und Beispiele paralleler Rechnerarchitekturen (V):

SCI treibt Non-von-Neumann-Forschung voran

06.09.1985

Daß man mehrere Rechner parallel nebeneinander arbeiten lassen kann, ist an sich keine neue Idee; einige Wissenschaftler betätigen sich schon seit mehr als zwei Dutzend Jahren auf diesem Felde. Doch teure Hardware einerseits und unzureichende Forschungsmittel andererseits haben bis vor kurzem verhindert, daß auf wirklich breiter Front gearbeitet wurde.

Das scheint nun anders zu werden, denn aufmerksame Beobachter der amerikanischen Forschungs-Szenerie bemerken seit einiger Zeit, daß sowohl die Industrie als auch Behörden zusehends mehr Interesse für Vorhaben aufbringen, die auf eine Abkehr vom guten alten Von-Neumann-Rechner hinauslaufen und die Super-Leistung zu geringen Kosten, Fehlertoleranz und modulare Erweiterbarkeit versprechen. Verläßt man die hardwarenahe Ebene, eröffnen sich so verlockende Perspektiven, wie, bald schon werde es echte Künstliche Intelligenz geben.

Wenn sich im Zeichen solcher Verheißungen jetzt also die Geldschleusen über den Parallelrechner-Forschern zu öffnen beginnen, so tut es der Freude der meisten dieser Wissenschaftler sicher kaum Abbruch, daß die nötigen Mittel zu einem großen Teil aus dem Rüstungs-Etat, nämlich über die Defense Advanced Research Projects Agency (DARPA), kommen. Denn jene DARPA hat ein mit 600 bis 700 Millionen Dollar beziffertes Programm aufgelegt, das sich "Strategic Computing Initiative" (SCI) nennt.

Einer von denen, die von der neuen "Initiative" profitieren, ist zum Beispiel H.T. Kung von der seit Jahren auf dem Parallelrechner-Gebiet aktiven Carnegie-Mellon-Universität. Erfreut über einen Dreijahres-Kontrakt mit DARPA, der ihm 19 Millionen Dollar bringt, stellt Kung fest, die Regierung sei heute "viel eher" bereit, neue parallele Computer-Architekturen zu finanzieren als etwa noch vor drei oder vier Jahren.

Das ist auch kein Wunder, denn neuerdings sieht zum Beispiel auch das Energieministerium einen so immensen Bedarf an Rechenleistung auf die amerikanischen Wissenschaftler und Techniker zukommen, daß man nolens volens zu parallelen Architekturen werde greifen müssen. Und zwar nicht nur zu solchen, wie sie vorsichtig taktierende Hersteller konventioneller Mini- und Großcomputer im Visier haben, mit vielleicht 4 bis 16 Prozessoren. Es geht hier wirklich um Computer mit "massivem Parallelismus" - und für deren Erforschung empfehlen sich heute eben primär die lange Zeit gern als marktferne Traumtänzer verschrieenen Wissenschaftler.

Die strategische Computing-Initiative zielt nun in erster Linie auf typisch militärische Anwendungen ab, die leistungsfähige Systeme zur Signalverarbeitung ebenso einschließen wie Maschinen für die symbolische Datenverarbeitung, also für den Bereich "Künstliche Intelligenz". Inzwischen wurden auch schon Forschungsgelder für ein halbes Dutzend einschlägiger Vorhaben ausgeworfen, wobei "MIMD"-Rechner (Multiple Instruction/Multiple Data) im Vordergrund stehen.

Zu diesen Vorhaben gehören Projekte wie etwa die "Connection

Machine" der Firmenneugründung Thinking Machines Corp. in Cambridge/Massachusetts. Ex-MIT-Forscher arbeiten hier an einer "feinkörnigen" Architektur auf der Basis von 64 000 "einfachen" Prozessor-Elementen, die pro Sekunde rund eine Milliarde Instruktionen verarbeiten und als erster Prototyp aus CMOS-Gate-Arrays mit je 10 000 Gattern pro Chip aufgebaut werden soll. Je der dieser Chips vereint in sich 16 Prozessoren und eine Kommunikationseinheit und ist dennoch nur der Vorläufer weiterer Chip-Projekte, bei denen dann, auf speziell für das Unternehmen zu fertigenden Chips, alles in allem rund eine Million Prozessoren Platz finden sollen.

Ein anderes Projekt wird an der Columbia-Universität verfolgt und betrifft eine "grobkörnige" Baum-Architektur, die unter dem Kürzel "Dado" firmiert. Der hier konzipierte Rechner soll speziell für den Entwurf und den Test von VLSI-Chips und Leiterplatten, aber auch zur Entwicklung und Implementierung von Software und höheren, innovativen Programmiersprachen geeignet sein.

Gleichfalls eine (binäre) Baumstruktur hat ein anderes Projekt der Columbia-Universität, der "Nonvon"-Rechner. Dies ist eine "feinkörnige" Struktur, die als "Non-von-Neumann"-Rechner ausgelegt ist und die vor allem für die "Künstliche Intelligenz" und für das "symbolische Rechnen" im weiteren Sinne gedacht ist. Ein erster, bereits fertiggestellter Prototyp umfaßt einen 32-Bit-Minicomputer, der die Arbeit von 63 kleineren Verarbeitungselementen steuert, die alle parallel aktiv sind.

Das MIT-Computerlabor wiederum arbeitet, gleichfalls mit Unterstützung des Pentagon, an einer Maschine zur Emulation sogenannter "Datenfluß-Rechner". Bei diesem Vorhaben sollen 64 handelsübliche LISP-Rechner über ein Kopplungs-Netz hoher Bandbreite und geringer "Latenz" zusammengeschaltet werden. Geplant ist, mit diesem System dann verschiedene Multiprozessor-Entwurfskonzepte zu erproben. Vorerst allerdings existiert nur eine modellhaft verkleinerte Hard- und Softwarevariante des späteren Gesamtsystems.

Auch die Carnegie-Mellon-Universität hat gleich zwei DARPA-geförderte Projekte in Arbeit. Bei dem einen handelt es sich um die "Supercomputer Workbench". Im Rahmen dieses Projektes wird das Betriebssystem und die Software für einen 32- bis 64-Prozessor-Rechner erarbeitet, mit dem man dann verschiedene Multiprozessorsysteme simulieren, parallele Algorithmen entwickeln und andere Arbeiten dieser Art durchführen kann. Diese Maschine könnte auch kommerziell produziert werden.

Das zweite Projekt der Carnegie-Mellon-Universität nennt sich "Programmable Systolic Array Project" und betrifft zunächst einmal die Entwicklung eines Systems mit zehn Prozessoren, das "Warp" genannt wird. Diese Maschine soll etwa 100 MFlops leisten (Million Floating Point Operations per Second).

Warp wird aus handelsüblichen Chips der Weitek Corp. aufgebaut werden, die über ein Intel-Multibus-System kommunizieren und mit einem Rechner vom Typ Motorola 68010 (als Host) kooperieren. Doch schon jetzt gibt es Pläne für eine weiterentwickelte Version mit einem VME-Bus und einem 68020-Prozessor, die dann dreimal schneller arbeitet. Kung, der schon obenzitierte Forscher, hofft, seinen DARPA-Auftraggebern gegen Ende des Jahres funktionierende Versionen jenes zweiten Modells liefern zu können; später soll diese Maschine dann von einem industriellen Unternehmen gefertigt werden.

Kung und seine Mitarbeiter wollen bei ihrem Vorhaben langfristig - ähnlich wie die MIT-Wissenschaffler mit ihrer "Connection Machine" - auf "kundenspezifische", eigens für sie gefertigte VLSI-Chips übergehen und damit noch kompaktere, leistungsfähigere Warps herstellen. Diese Rechner benötigen drei- bis viermal weniger Platinenfläche und eignen sich besonders für schnelle Fourier-Transformationen und andere aufwendige Berechnungen.

Die hier nur denkbar knapp skizzierten Beispiele zeigen, daß man in den USA bereits jetzt hofft, manche der DARPA-geförderten Projekte mögen später auch industrieverwertbare Produkte ergeben. Allerdings ist nicht zu übersehen, daß Skeptiker nach wie vor kaum glauben wollen, Projekte des Bereichs "Parallel Processing" könnten je kommerziell interessante Innovationen liefern, und dabei können sie auf Erfahrungen mit anderen Hochschul-Industrie-Kooperationen verweisen.

Von früheren Erfahrungen ausgehend, bemängeln die Kritiker vor allem, Hochschul-Forscher legten bei ihren Arbeiten zu wenig Wert auf die Konzeption von Produkten, die, in der Herstellung und im Service-Aufwand noch im Rahmen des Wirtschaftlichen blieben. Genau aus diesem Grund landeten Projekte aus dem Universitätsbereich früher oder

später auf dem Abstellgleis. Die Industrie hingegen entwickle von vornherein nur Produkte, bei denen der potentielle Markt und dessen spezifische Eigenheiten vom ersten Moment an im Vordergrund stünden.

Diese Kritik bedeutet zwar nicht, die Arbeit eines Hochschul-Teams sei an sich schon wertlos, meint ein Vertreter der Industrie zu diesem Punkt. Aber die Arbeit an den Hochschulen mache es später oft sehr schwer, das System im Bestreben, ein kommerziell handelbares Produkt herzustellen, "neu" zu erfinden.

Skeptiker merken weiterhin an, bei parallelen Architekturen müsse erst noch ein immenses Software-Problem gelöst werden, ehe man an kommerzielle Produkte denken könne. Denn es gelte, ganz neue Algorithmen zu entwickeln, die die zu bearbeitenden Aufgaben korrekt in eine Vielzahl parallel laufender Teile aufspalten. Und dazu andere, die die Arbeit des Gesamtsystems mit seinen eventuell vielen tausend Prozessoren problemlos steuern können. Die Konzeption solcher Algorithmen mag aber leicht noch viele Jahre in Anspruch nehmen.

Betont zurückhaltend urteilt beispielsweise der Computer-Experte eines Marktforschungsunternehmens über die parallelen Systeme; man habe noch nie erlebt, daß aus Projekten der Universitäten erfolgreiche Produkte entstanden wären, und auch die ganze Arbeit an "massiv parallelen" Architekturen sei bisher, ausgenommen Systeme zur Signalverarbeitung, eine Geschichte der Fehlschläge gewesen.

Dennoch: Immer häufiger kann man beobachten, daß Industrie und Wissenschaft sich zusammenfinden und an Konzepten innovativer Rechner gemeinsam arbeiten. So etwa auch an der Universität New York, wo Wissenschaftler, unterstützt vom Energieministerium und der amerikanischen Nationalen Wissenschaftsstiftung, mit IBM in Kontakt stehen und über den Bau eines Prototypen für einen "Ultracomputer" - natürlich eine MIMD-Maschine - sprechen.

Während eine Miniaturausgabe jenes Ultracomputers, in der acht Mikroprozessoren vom Typ Motorola 68010 zusammenwirken, an der Universität bereits in Arbeit ist, plant IBM angeblich, im Thomas-J-Watson-Forschungszentrum in Yorktown Heights einen weitaus größeren Prototypen aufzubauen. Für beide Konzepte soll jedenfalls an der Uni bereits eifrig an Betriebssystemen gearbeitet werden.

Ein weiteres Beispiel für Verbindungen zwischen Universitätsforschern und industriellen Unternehmen ist die noch recht neue Firma "Alliant Computer Systems" in Acton, Massachusetts. Sie arbeitet gleichfalls am Projekt eines Parallel-Rechners, wobei sie vor allem Ideen von David Kuck, einem Wissenschaftler der Universität Illinois, nutzen will.

Kuck, so ist in Fachkreisen bekannt, hat sich besonders um die Entwicklung von Software bemüht, mit deren Hilfe vorhandene Fortran-Programme automatisch so restrukturiert werden, daß sie auch auf "massiv parallelen" Maschinen effizient ablaufen. Dabei vermarktet Kuck diese Software-Produkte auch im Rahmen seiner eigenen, schon seit sechs Jahren bestehenden Firma "Kuck & Associates" unter dem Kürzel KAP.

Diese drei Buchstaben stehen für "Kuck Accelerator Package" und bezeichnen ein Programmsystem, das selbst wieder auf einem Software-Projekt der Universität Illinois, "Paraphrase" genannt, aufbaut. Paraphrase aber gehört seinerseits wieder zum Projekt "Cedar", bei dem die Universität versucht, einen "massiv parallelen" Rechner zu bauen.

Während die Cedar-Forschungen in den letzten Jahren mit "nur" etwa 500 000 bis 700 000 Dollar pro Jahr gefördert worden sind, bekam die Uni vor kurzem Zuschüsse des Energieministeriums und der Nationalen Wissenschaftsstiftung zugesagt, die sich zu neun Millionen Dollar summieren und mit denen die Cedar-Maschine unter Kucks Leitung nun als Hardware implementiert werden soll. Dabei liefert Alliant die Chips für die Prozessoren, während das neue Supercomputer-Forschungs- und Entwicklungszentrum der Universität in eigener Regie vor allem die Hardware zur wechselseitigen Verknüpfung der Prozessoren bauen möchte.

Kuck plant angeblich, gegen Ende dieses Jahres einen Prototypen des späteren Cedar-Rechners fertig zu haben, der aus zwei Gruppen zu je acht Prozessoren besteht. Dann soll die Zahl der Prozessoren Jahr für Jahr weiter verdoppelt werden, bis etwa im Jahre 1992 eine Konfiguration mit 1024 Prozessoren betriebsbereit ist. Diese Maschine soll dann wiederum kommerziell verwertet werden.

Wenn der Preis 1992 stimmt, könnte dieses Vorhaben durchaus chancenreich sein. Denn die 1024-Prozessoren-Konfiguration der Cedar-Hardware leistet laut Kuck dann etwa ein Teraflops (eine Billion Gleitkomma-Operationen pro Sekunde).

Die schrittweise Ausbaubarkeit dieser Kuck-Maschine erinnert ein wenig an das System "iPSC" von "Intel", das auf dem "Cosmic Cube" des Caltech-Professors Seitz aufbaut und das, als kommerzielles Produkt, mit unterschiedlich vielen Prozessoren angeboten wird (vergleiche CW Nr. 25/85, Seite 76). Diese Maschine zielt übrigens, denn an Software für derart innovative Rechner mangelt es heute ja noch allenthalben, besonders auf Wissenschaftler und Ingenieure, die parallele Algorithmen, Sprachen und Softwaretools entwickeln.

Parallele Software zu entwickeln ist möglicherweise nicht so schwer, wie manche Experten (vor allem jene, die dem sequentiellen Programmierstil von Jugend an verhaftet sind) immer wieder mahnend betonen. So kann man aus Fachkreisen hören, die grundlegenden Techniken des Programmierens paralleler Algorithmen seien nicht sonderlich schwierig - nur müsse sich halt jemand einmal hinsetzen und den entsprechenden Code Schritt für Schritt erarbeiten. In erster Linie komme es auf eine gehörige Portion Fleiß und Ausdauer an, weniger hingegen auf genialisch-ingeniöse Kreativität.

Beim Cosmic Cube des California Institute of Technology sei es zur Zeit noch so, kann man erfahren, daß die Programmierer die einzelnen Tasks manuell in parallel laufende Segmente unterteilen müssen. Denn es gibt keinen Automatismus, der ihnen das abnehmen würde. Dabei aber zeigte sich auch, daß das Erarbeiten von Codes für eine derartige parallel operierende Maschine durchschnittlich nur um etwa ein Fünftel mehr Zeit beanspruche als die Lösung der gleichen Aufgabe für einen sequentiell arbeitenden Rechner. Dieser Unterschied kann durchaus noch in dem Maße schrumpfen, in dem man mehr und mehr Erfahrung beim Programmieren paralleler Architekturen sammelt.

Schon jetzt laufen beispielsweise auf dem Caltech-Rechner rund 20 verschiedene Programme, die Probleme aus den Bereichen Hochenergiephysik, Astrophysik, Quantenchemie, Strömungsmechanik, Strukturanalyse und Seismologie bearbeiten. Sie laufen mit etwa 85 Prozent Effizienz, das heißt mit 85 Prozent der Geschwindigkeit, die auf dem 64-Prozessor-Cube der Caltech-Forscher maximal möglich wäre, würden alle "Knoten" ständig simultan arbeiten.

Da maximal das 64fache der Leistung nur eines Prozessors erzielbar wäre (ideale Bedingungen unterstellt), bedeutet das, der Cube arbeitet im Durchschnitt rund 54mal so schnell wie ein einzelner seiner 64 Mikrorechner oder Knoten. Voraussetzung allerdings sind Programme, die sich für die parallele Abarbeitung eignen.

Parallelverarbeitung

Zu den Themen, die in EDV-Kreisen mehr und mehr Interesse finden, gehört die parallele Datenverarbeitung, also die Abkehr vom herkömmlichen Uni-Prozessor. In einer losen Folge themengerichteter Beiträge beleuchtet die COMPUTERWOCHE dieses Gebiet, ohne aber Systematik oder enzyklopädische Vollständigkeit anzustreben.

Bisher erschienen Beiträge in dieser Reihe in den Ausgaben 20/85 (Seite 58), 22/85 (Seite 56), 25/85 (Seite 76) und 28/85 (Seite 18).

128 Prozessoren eng gekoppelt

Ein Beispiel dafür, wie Gelder aus dem DARPA-Arm des Pentagon ohne Umweg über Universitäten direkt in die Entwicklung kommerziell angebotener Rechner durch private Unternehmen fließen, ist das 128-Prozessor-System "Butterfly" der BBN-Laboratories, Cambridge, Massachusetts. Dieses System führt 60 Millionen Befehle pro Sekunde (Mips) aus und basiert auf Motorola-Prozessoren.

Die Schaltknoten im Butterfly bestehen aus großintegrierten (LSI-) Kundenschaltkreisen, sind also "Spezialanfertigungen" für die BBN-Labs. Sie bewirken nach Angaben der Konstrukteure des Systems, daß die Leistung der Konfiguration linear um tatsächlich jeweils 0,5 Mips zunimmt, fügt man eine weitere 0,5 Mips-Platine mit je einem Mikroprozessor und einem besonderen, hauseigenen Coprozessor hinzu.

Das Betriebssystem der 128er-Maschine ist so ausgelegt, daß es die anfallende Last automatisch unter den Prozessoren verteilt; sobald ein Prozessor-Board seine Task abgearbeitet hat, holt es sich vom Betriebssystem die nächste.

Das BBN-System arbeitet mit einem allen Prozessoren gemeinsamen Speicher, doch hat jeder einzelne noch einen kleinen, lokalen Speicher.

Wer ein derartiges System kaufen möchte, muß pro Prozessoreinheit 7000 bis 9000 Dollar springen lassen. Bisher wurden 16 Systeme mit insgesamt 227 Prozessoren verkauft und installiert, hört man aus Cambridge, und Aufträge für 48 weitere Systeme mit 423 Prozessoren sollen schon in den Büchern stehen. Dabei werden diese Anlagen im allgemeinen nicht für kaufmännische Probleme eingesetzt, sondern arbeiten speziell als "Zahlenfresser"(Number-Cruncher).