Goodyear-MPP - Goodyear MPP

Das MPP

Der Goodyear Massively Parallel Processor ( MPP ) war ein Massively Parallel Processing Supercomputer, der von Goodyear Aerospace für das NASA Goddard Space Flight Center gebaut wurde . Es wurde entwickelt, um enorme Rechenleistung zu geringeren Kosten als andere bestehende Supercomputer-Architekturen zu liefern, indem Tausende einfacher Verarbeitungselemente anstelle einer oder einiger weniger hochkomplexer CPUs verwendet werden . Die Entwicklung des MPP begann ca. 1979; Es wurde im Mai 1983 ausgeliefert und war von 1985 bis 1991 im allgemeinen Gebrauch.

Es basierte auf dem früheren STARAN- Array-Prozessor von Goodyear , einem 4x256 1-Bit- Prozessor (PE)-Computer. Das MPP war ein 128 x 128 2-dimensionales Array von 1 Bit breiten PEs. Tatsächlich wurden 132x128 PEs mit einer 4x128-Konfiguration konfiguriert, die für Fehlertoleranz hinzugefügt wurde, um bei Problemen bis zu 4 Zeilen (oder Spalten) von Prozessoren zu ersetzen. Die PEs arbeiteten in einer Einzelbefehls-Mehrdaten (SIMD)-Weise – jedes PE führte die gleiche Operation gleichzeitig an verschiedenen Datenelementen unter der Steuerung einer mikroprogrammierten Steuereinheit aus.

Nach dem MPP 1991 zurückgezogen wurde, um es in die gespendet wurde Smithsonian Institution , und jetzt in der Sammlung des ist National Air and Space Museum ‚s Steven F. Udvar-Hazy Center . Es wurde bei Goddard von den massiv parallelen Computern MasPar MP-1 und Cray T3D abgelöst .

Anwendungen

Das MPP wurde ursprünglich für die Hochgeschwindigkeitsanalyse von Satellitenbildern entwickelt . In frühen Tests war es in der Lage, verschiedene Landnutzungsbereiche auf Landsat- Bildern in 18 Sekunden zu extrahieren und zu trennen , verglichen mit 7 Stunden auf einem DEC VAX-11/780 .

Nachdem das System in Produktion genommen wurde, bat das NASA-Büro für Weltraumwissenschaften und -anwendungen um Vorschläge von Wissenschaftlern im ganzen Land, um eine breite Palette von Rechenalgorithmen auf dem MPP zu testen und zu implementieren. 40 Projekte wurden angenommen, um die "MPP Working Group" zu bilden; Die Ergebnisse der meisten von ihnen wurden 1986 auf dem First Symposium on the Frontiers of Massively Parallel Computation präsentiert .

Einige Beispiele für Anwendungen, die vom MPP gemacht wurden, sind:

Topografische Karte generiert durch Stereoanalyse

Systemarchitektur

Die gesamte MPP-Hardware bestand aus der Array-Einheit, der Array-Steuereinheit, dem Staging-Speicher und dem Host-Prozessor.

MPP-Systemdiagramm

Die Array-Einheit war das Herzstück des MPP, ein 128x128-Array mit 16.384 Verarbeitungselementen. Jeder PE war mit seinen vier nächsten Nachbarn verbunden - Norden, Süden, Osten und Westen. Das Array könnte als Ebene, Zylinder, Daisy-Chain oder als Torus konfiguriert sein. Die PEs wurden auf einem kundenspezifischen Silizium-auf-Saphir- LSI- Chip implementiert, der acht der PEs als 2x4-Subarray enthielt. Jedes der PEs hatte arithmetische und logische Einheiten, 35 Schieberegister und 1024 Bits an Direktzugriffsspeicher, die mit handelsüblichen Speicherchips implementiert waren. Die Prozessoren arbeiteten im Bit-Slice-Verfahren und konnten mit variablen Datenlängen arbeiten. Die Betriebsfrequenz des Arrays betrug 10 MHz. Die Datenbuszustände aller 16.384 PEs wurden in einem Baum von Inklusiv- oder Logikelementen kombiniert, deren einzelner Ausgang in der Array-Steuereinheit für Operationen wie das parallele Finden des maximalen oder minimalen Wertes eines Arrays verwendet wurde. Ein Register in jedem PE kontrollierte Maskierung von Operationen – maskierte Operationen wurden nur auf den PEs durchgeführt, bei denen dieses Registerbit gesetzt war.

Die Array-Steuereinheit (ACU) sendet Befehle und Speicheradressen an alle PEs in der Array-Einheit und empfing Statusbits von der Array-Einheit. Es führte Buchhaltungsoperationen wie die Schleifensteuerung und den Aufruf von Unterprogrammen durch. Anwendungsprogrammcode wurde im Speicher der ACU gespeichert; die ACU führte skalare Teile des Programms aus und stellte dann parallele Anweisungen für das Array in eine Warteschlange. Es steuerte auch das Verschieben von Daten zwischen PEs und zwischen der Array-Einheit und dem Staging-Speicher.

Der Staging-Speicher war ein 32-  MB-Speicherblock zum Puffern von Daten der Array-Einheit. Es war nützlich , da die PEs sich insgesamt nur 2 hatte  MB Speicher (1024 Bits pro PE), und weil es vorgesehen höhere Kommunikations Bitrate als der Host - Prozessor - Verbindung (80 Megabyte / Sekunde im Vergleich zu 5 Megabyte / Sekunde). Die Staging - Speicher ebenfalls bereitgestellt Datenbearbeitungsfunktionen wie „Abbiegen“ (Neuanordnung byte- oder wortorientierten Daten aus dem Array) und mehrdimensionale Array - Zugriff. Die Daten wurden zwischen dem Staging-Speicher und dem Array über 128 parallele Leitungen verschoben.

Der Host-Prozessor war ein Front-End-Computer, der Programme und Daten in das MPP lud und Softwareentwicklungstools und Netzwerkzugriff auf das MPP bereitstellte. Der ursprüngliche Host-Prozessor war ein PDP-11 , der bald durch einen VAX-11/780 ersetzt wurde , der über einen DR-780-Kanal mit dem MPP verbunden war. Der VAX lief mit dem VMS- Betriebssystem und wurde in MPP Pascal programmiert.

Geschwindigkeit der Operationen

Die rohe Rechengeschwindigkeit für grundlegende arithmetische Operationen auf dem MPP war wie folgt:

Operation Millionen Operationen pro Sekunde
Hinzufügen von Arrays
8-Bit-Ganzzahlen (9-Bit-Summe) 6553
12-Bit-Ganzzahlen (13-Bit-Summe) 4428
32-Bit-Gleitkommazahlen 430
Multiplikation von Arrays
8-Bit-Ganzzahlen (16-Bit-Produkt) 1861
12-Bit-Ganzzahlen (24-Bit-Produkt) 910
32-Bit-Gleitkommazahlen 216
Multiplikation des Arrays mit dem Skalar
8-Bit-Ganzzahlen (16-Bit-Produkt) 2340
12-Bit-Ganzzahlen (24-Bit-Produkt) 1260
32-Bit-Gleitkommazahlen 373

Siehe auch

Verweise

  • Fischer, James R.; Goodyear Aerospace Corporation (1987). "Anhang B. Technische Zusammenfassung" . Grenzen des massiv parallelen wissenschaftlichen Rechnens . Nationale Luft- und Raumfahrtverwaltung, Wissenschaftliches und Technisches Informationsbüro. S. 289–294 . Abgerufen am 11. Juni 2012 .
  • Batcher, KE (1. September 1980). „Design eines massiv parallelen Prozessors“. IEEE-Transaktionen auf Computern . C-29 (9): 836–840. doi : 10.1109/TC.1980.1675684 .
  • Batcher, Ken (1998). "Rückblick: Architektur eines massiv parallelen Prozessors" . Fortsetzung der ISCA '98 25 Jahre International Symposia on Computer Architecture . Isca '98: 15–16 . doi : 10.1145/285930.285937 . ISBN 978-1581130584.
  • JL Potter, Hrsg. (1986). Massiv paralleler Prozessor . [Sl]: Mit Press. ISBN 9780262661799.
  • Neil Boyd Coletti, "Bildverarbeitung auf MPP-ähnlichen Arrays", Ph.D. Dissertation, Department of Computer Science, University of Illinois at Urbana-Champaign, 1983.
  • Efstratios J. Gallopoulos; Scott D. McEwan (1983). Numerische Experimente mit dem Massively Parallel Processor . Institut für Informatik, University of Illinois at Urbana-Champaign . Abgerufen am 11. Juni 2012 .
  • Gallopoulos, EJ (Juli 1985). „Der Massively Parallel Processor für Probleme in der Fluiddynamik“. Kommunikation der Computerphysik . 37 (1–3): 311–315. doi : 10.1016/0010-4655(85)90167-5 .
  • E. Gallopoulos, D. Kopetzky, S.McEwan, DL Slotnick und A. Spry, "MPP-Programmentwicklung und Simulation". In "The Massively Parallel Processor", JL Potter Hrsg., S. 276–290, MIT Press, 1985
  • Tom Henkel. "MPP verarbeitet Satellitendaten; Supercomputer behauptet die schnellste I/O-Rate der Welt", Computerworld , 13. Februar 1984, S. 99.
  • Eric J. Lerner. "Viele Prozessoren machen leichte Arbeit", Aerospace America , Februar 1986, S. 50.
  1. ^ "Massiv paralleler Prozessor liefert hohe Geschwindigkeit". Luftfahrtwoche & Raumfahrttechnik . 1984-05-28. s. 157.
  • Todd Kushner, Angela Wu, Azriel Rosenfeld, "Bildverarbeitung auf MPP", Mustererkennung - PR, vol. 15, nein. 3, S. 121–130, 1982