Feldrechner mit 1024-Prozessoren geht in Serie:

Prozessormatrix vervielfacht Durchsatz

19.02.1988

Eine besondere Spezies der Parallelrechner stellen die Feldrechner dar, bei denen ein und dieselbe Instruktion auf eine ganze Matrix von Prozessoren wirkt. ICL hat diese Architektur als DAP-2 entwickelt. Als Serienmaschine unter der Bezeichnung DAP 500 vermarktet sie jetzt das britische Unternehmen Active Memory Technology, kurz AMT.

Die DAP-500-Serie ist das erste kommerzielle Angebot aus einer Reihe aufwärtskompatibler Parallelrechner. Der DAP 500 besteht aus 1024 1-Bit-Rechenelementen, die in einer 32 x 32-Matrix angeordnet sind. Bei seiner Entwicklung konnte auf die mit zwei vorhergehenden Generationen von DAP-Systemen gewonnenen Erfahrungen zurückgegriffen werden. Der DAP 500 ist an verschiedene Hostrechner, etwa an eine Sun oder VAX, anschließbar.

Anschließbar an diverse Host-Systeme

Die Maschine setzt sich aus vier Hauptkomponenten, zusammen: Hostrechner-Anschlußeinheit, zentrale Kontrolleinheit, Prozessorelemente und Speicher sowie einem Schnellen Datenkanal.

Das ganze System ist in ein Gehäuse eingebaut, das unter einem Schreibtisch Platz findet. Es wird über einen Standardnetzanschluß betrieben, benötigt keine Klimatisierung und verbraucht nur 800 Watt. Der Anschluß an einen Sun-Hostrechner wird über eine SCSI-Schnittstelle bewerkstelligt (nominal 2 MB/s), zum VAX-Hostrechner wird eine VME-Bus-Schnittstelle verwendet.

Die Anschlußeinheit ist für den Informationsaustausch zwischen dem Hostrechner und dem DAP 500 verantwortlich. Für die VAX sind die Betriebssysteme Ultrix oder VMS, für die Sun ist Unix vorgesehen. Die Anschlußeinheit umfaßt den 68020-Prozessor von Motorola, die SCSI- und VME-Bus-Schnittstellen sowie zwei serielle RS-232-Anschlüsse.

Die zentrale Kontrolleinheit ist das Nervenzentrum des DAP 500. Sie liest Instruktionen aus dem Programmspeicher, wertet sie aus und überwacht Prozessorelemente und Datentransfer. Auch skalare Operationen werden von ihr ausgeführt. Arithmetische Operationen werden dupliziert und durch einen Master-Slave-Vergleich überprüft. Die minimale Kapazität des Programmspeichers beträgt 512 KB, sie kann auf 2 MB ausgebaut werden.

Die SIMD (Single-Instruction-Multiple-Data-) Architektur der DAP500-Serie besteht aus 1024 1-Bit-Prozessorelementen, die in Form einer 32x32-Matrix angeordnet sind. Jedes Prozessorelement ist mit seinen unmittelbaren Nachbarn verbunden. Ein Bussystem verknüpft die Prozessorelemente zusätzlich nach Zeilen und Spalten. Alle Prozessorelemente führen simultan die gleiche Instruktion aus, doch erlaubt es das in jedem Prozessorelement vorhandene Activity-Control-Register, die Prozessorelemente einzeln oder in Gruppen "abzuschalten" Die entsprechenden Control-Bits können durch ein vorher festgelegtes Muster oder durch Rechenoperationen gesetzt werden.

Jedes Prozessorelement hat eine direkte Verbindung zu einem eigenen Speicher. Die minimale Speicherkapazität beträgt 32 Kilobit pro Prozessorelement oder insgesamt 4 Megabytes. Die Architektur der DAP500-Serie erlaubt es, den Speicher auf 1 Megabit/Prozessorelement oder auf 128 Megabytes für das ganze Prozessorfeld auszubauen. Die Übertragungsrate zwischen Speicher und Prozessorelementen gibt der

Hersteller mit 1200 Megabytes je Sekunde an. Im gleichen Zeitraum führt die Maschine entweder 10 Milliarden Boolesche oder 1 Milliarde Byte-orientierte Operationen aus.

Als Hochsprache für die DAP-Serie wird eine Fortran-Version angeboten, die Erweiterungen für Vektor- und Matrixoperationen enthält. Dieses Fortran Plus ist eine Vorstufe des ISO-Standards Fortran 8X, das implementiert wird, sobald diese Norm bestätigt ist.

Dem Benutzer steht an Software zur Verfügung: Fortran Plus Compiler, Assemblersprache, Hilfsprogramme für den Programmablauf, eine umfangreiche Unterprogrammbibliothek sowie ein Simulator für die DAP-Hardware. Falls im DAP mehr als ein Programm aktiv ist, werden die Resourcen mittels, Time-Slicing aufgeteilt.

Fortran Plus bietet eine Reihe von Vektor- und Matrixerweiterungen zu Fortran 77, was sich in einer substantiellen Verringerung von DO-Schleifen auswirkt. Zum Beispiel:

- Eine einfache Anweisung zur Matrixaddition: A = B + C.

- Eintragen des Vektors D in die erste Reihe der Matrix A: A(1,) = D

- Addition der Zahl 5 zu allen negativen Elementen des Vektors A: A(A.LT.0) = A + 5.

Diese Beispiele sind in der Tabelle aufgeführt.

Fortran-Plus-Programme sind in der Regel drei- bis fünfmal kürzer als Standard-Fortran-77-Programme. Ein weiterer Vorteil liegt in der leichteren Verständlichkeit, da Anweisungen in Fortran Plus größere Ähnlichkeit mit mathematischen Formeln haben. Außerdem kann der Benutzer einige Konzepte der Fortran-8X-Norm bereits verwenden, ehe diese endgültig festgelegt ist.

Wesentlich kürzere Fortran-Programme

Die Fortran-Plus-Sprache läßt Datentypen von 1 Bit bis 64 Bit Wortlänge zu. Sie hat viele zusätzliche Erweiterungen, die das Programmieren flexibler gestalten. Der Compiler generiert effizienten Code, so daß man im allgemeinen die Assemblersprache APAL nicht benötigt, obwohl die meisten Bibliotheksroutinen wegen der noch schnelleren Laufzeit in APAL programmiert wurden.

Die Anwendersoftware von Active Memory Technology umfaßt eine Bibliothek von Unterprogrammen, die einerseits die Programmentwicklung erleichtern und andererseits die Leistungsfähigkeit erhöhen. Gegenwärtig sind 150 Routinen vorhanden, die laufend vermehrt werden. In vielen Fällen seien sie Anwenderpaketen gleichzusetzen so der Hersteller.

Die Bibliothek bietet unter anderem Routinen für Matrix-Algebra, Multiplikation, Inversion, Eigenwertberechnung), Signalverarbeitung (Fourier-Transformationen), Bildverarbeitung (Histogramme, Konvolution), Datenmanipulation (zum Beispiel Sortieren, Permutation), Hilfsfunktionen (Zufallszahlgenerator, transzendente Funktionen).

Parallelverarbeitung effizient nutzen

Um die Möglichkeiten der parallelen Operationen effektiv auszunutzen, muß der Datenaustausch zwischen den Prozessoren gesichert werden. Kriterien wie hohe Leistungsfähigkeit, einfache Bedienung und Allgemeingültigkeit sind dabei zu beachten. Diesen Anforderungen wird Fortran Plus durch die Anweisung "Array Abstraction Implicit" gerecht. Hardware, Software und Algorithmen für Data Routing - auch Parallel Data Transform (PDT) genannt - ermöglichen die Realisierung dieses Konzepts. PDT liefert einerseits die grundlegende Unterstützung für Fortran Plus, andererseits kann es zur Anfertigung von Bibliotheksroutinen und Anwenderprogrammen eingesetzt werden. PDT stellt ein einzigartiges und wirkungsvolles Instrument für die Entwicklung von Hochleistungs-Parallelsoftware dar.

Der DAP 500 ist eine Weiterentwicklung der früher von International Computers Ltd. (ICL) gebauten DAPs. Ausgeliefert wurden bisher sechs Systeme mit je 4096 Prozessoren sowie zwölf Systeme mit je 1024 Prozessoren (Mini-DAP).

Die DAP-500-Computer gelten für gewöhnlich als Spezialrechner, doch ist die damit verbundene Abgrenzung angesichts der universellen Einsatzmöglichkeiten fragwürdig. Der DAP 500 verfügt über eine Vielzahl von Eigenschaften, die ihn für Anwendungen, bei denen extreme Datenmengen zu bewältigen sind, prädestinieren.