Goodyear MPP

MPP

Goodyear Massively Parallel Processor ( MPP ) był masowo równoległym superkomputerem zbudowanym przez Goodyear Aerospace dla NASA Goddard Space Flight Center . Został zaprojektowany w celu zapewnienia ogromnej mocy obliczeniowej przy niższych kosztach niż inne istniejące architektury superkomputerów, dzięki wykorzystaniu tysięcy prostych elementów przetwarzających zamiast jednego lub kilku bardzo złożonych procesorów . Rozwój MPP rozpoczął się około 1979 roku; został dostarczony w maju 1983 roku i był w powszechnym użyciu od 1985 do 1991 roku.

Opierał się na wcześniejszym procesorze macierzy STARAN firmy Goodyear , komputerze 4x256 z 1-bitowym elementem przetwarzającym (PE). MPP była dwuwymiarową tablicą 128x128 PE o szerokości 1 bitu. W rzeczywistości PE 132x128 zostały skonfigurowane z dodaną konfiguracją 4x128 w celu zapewnienia odporności na awarie w celu zastąpienia do 4 rzędów (lub kolumn) procesorów w przypadku wystąpienia problemów. PE działały w jednej instrukcji, wielu danych (SIMD) - każdy PE wykonywał tę samą operację jednocześnie, na różnych elementach danych, pod kontrolą mikroprogramowanej jednostki sterującej.

Po przejściu MPP na emeryturę w 1991 r. został przekazany Smithsonian Institution i obecnie znajduje się w zbiorach Centrum Stevena F. Udvara-Hazy'ego Narodowego Muzeum Lotnictwa i Kosmosu . Został zastąpiony w Goddard przez masywnie równoległe komputery MasPar MP-1 i Cray T3D .

Aplikacje

MPP został początkowo opracowany do szybkiej analizy zdjęć satelitarnych . We wczesnych testach był w stanie wyodrębnić i oddzielić różne obszary użytkowania gruntów na Landsat w 18 sekund, w porównaniu z 7 godzinami na DEC VAX-11/780 .

Gdy system został oddany do użytku produkcyjnego, Biuro Nauk Kosmicznych i Zastosowań NASA zwróciło się do naukowców z całego kraju z propozycjami przetestowania i wdrożenia szerokiej gamy algorytmów obliczeniowych w MPP. zaakceptowano 40 projektów tworzących „Grupę Roboczą MPP”; wyniki większości z nich zostały zaprezentowane na Pierwszym Sympozjum o Granicach Obliczeń Masowo Równoległych w 1986 roku.

Niektóre przykłady aplikacji, które zostały wykonane z MPP to:

Mapa topograficzna wygenerowana przez analizę stereo

Architektura systemu

Cały sprzęt MPP składał się z jednostki macierzowej, jednostki sterującej macierzą, pamięci przemieszczania i procesora hosta.

Schemat systemu MPP

Jednostka Array była sercem MPP, będąc tablicą 128x128 z 16 384 elementami przetwarzającymi. Każdy PE był połączony z czterema najbliższymi sąsiadami - północnym, południowym, wschodnim i zachodnim. Macierz może być skonfigurowana jako płaszczyzna, walec, łańcuch lub torus. PE zostały zaimplementowane na niestandardowym LSI typu krzem na szafirze , który zawierał osiem PE jako podtablicę 2x4. Każdy z PE miał jednostki arytmetyczne i logiczne, 35 rejestrów przesuwnych i 1024 bity pamięci o dostępie swobodnym zaimplementowanej za pomocą gotowych układów pamięci. Procesory pracowały w kawałku bitu sposób i może operować na danych o zmiennej długości. Częstotliwość robocza macierzy wynosiła 10 MHz. Stany magistrali danych wszystkich 16 384 PE zostały połączone w drzewo obejmujące lub logiczne elementy, których pojedyncze wyjście było używane w jednostce sterującej tablicą do operacji, takich jak znajdowanie maksymalnej lub minimalnej wartości tablicy połączonej równolegle. Rejestr w każdym PE kontrolowanym maskowaniem operacji — operacje maskowane były wykonywane tylko na tych PE, w których ten bit rejestru był ustawiony.

Jednostka Sterująca Macierzą (ACU) rozgłasza polecenia i adresy pamięci do wszystkich PE w Jednostce Macierzy i odbiera bity stanu z Jednostki Macierzy. Wykonywał operacje księgowe, takie jak sterowanie pętlą i wywoływanie podprogramów. Kod programu aplikacyjnego był przechowywany w pamięci ACU; ACU wykonała skalarne części programu, a następnie ustawiła w kolejce równoległe instrukcje dla tablicy. Kontrolował również przenoszenie danych między PE oraz między jednostką macierzy a pamięcią przemieszczania.

   Pamięć pomostowa była blokiem pamięci o pojemności 32 MB do buforowania danych jednostki macierzy. Było to przydatne, ponieważ same PE miały łącznie tylko 2 MB pamięci (1024 bity na PE) i ponieważ zapewniały wyższą przepływność komunikacji niż połączenie z procesorem hosta (80 megabajtów na sekundę w porównaniu z 5 megabajtami na sekundę). Pamięć pomostowa zapewniała również funkcje manipulacji danymi, takie jak „obracanie rogów” (zmiana kolejności na bajty lub słowa z tablicy) oraz wielowymiarowy dostęp do tablicy. Dane zostały przeniesione między pamięcią pomostową a macierzą za pośrednictwem 128 równoległych linii.

Procesor hosta był komputerem typu front-end, który ładował programy i dane do MPP oraz zapewniał narzędzia programistyczne i dostęp sieciowy do MPP. Oryginalnym procesorem hosta był PDP-11 , który wkrótce został zastąpiony przez VAX-11/780 podłączony do MPP kanałem DR-780. VAX działał pod kontrolą VMS i został zaprogramowany w MPP Pascal.

Szybkość operacji

Surowa prędkość obliczeniowa dla podstawowych operacji arytmetycznych na MPP była następująca:

Operacja Miliony operacji na sekundę
Dodawanie tablic
8-bitowe liczby całkowite (suma 9-bitowa) 6553
12-bitowe liczby całkowite (suma 13-bitowa) 4428
32-bitowe liczby zmiennoprzecinkowe 430
Mnożenie tablic
8-bitowe liczby całkowite (produkt 16-bitowy) 1861
12-bitowe liczby całkowite (produkt 24-bitowy) 910
32-bitowe liczby zmiennoprzecinkowe 216
Mnożenie tablicy przez skalar
8-bitowe liczby całkowite (produkt 16-bitowy) 2340
12-bitowe liczby całkowite (produkt 24-bitowy) 1260
32-bitowe liczby zmiennoprzecinkowe 373

Zobacz też

  • Fischer, James R.; Goodyear Aerospace Corporation (1987). „Dodatek B. Podsumowanie techniczne” . Granice masowo równoległych obliczeń naukowych . Krajowa Administracja Aeronautyki i Przestrzeni Kosmicznej, Biuro Informacji Naukowo-Technicznej. s. 289–294 . Źródło 11 czerwca 2012 r .
  •   Batcher, KE (1 września 1980). „Projekt procesora masowo równoległego”. Transakcje IEEE na komputerach . C-29 (9): 836–840. doi : 10.1109/TC.1980.1675684 . S2CID 13351618 .
  •    Batcher, Ken (1998). „Retrospektywa: architektura masowo równoległego procesora” . Kontynuacja ISCA '98 25 lat międzynarodowych sympozjów na temat architektury komputerów . Isca '98: 15–16 . doi : 10.1145/285930.285937 . ISBN 978-1581130584 . S2CID 1875609 .
  •   JL Potter, wyd. (1986). Procesor masowo równoległy . [Sl]: Mit Press. ISBN 9780262661799 .
  • Neil Boyd Coletti, „Przetwarzanie obrazu na macierzach podobnych do MPP”, Ph.D. praca magisterska, Wydział Informatyki, University of Illinois at Urbana-Champaign, 1983.
  • Efstratios J. Gallopoulos; Scott D. McEwan (1983). Eksperymenty numeryczne z procesorem masowo równoległym . Wydział Informatyki Uniwersytetu Illinois w Urbana-Champaign . Źródło 11 czerwca 2012 r .
  • Gallopoulos, EJ (lipiec 1985). „Masowo równoległy procesor do problemów w dynamice płynów”. Komunikacja w dziedzinie fizyki komputerowej . 37 (1–3): 311–315. Bibcode : 1985CoPhC..37..311G . doi : 10.1016/0010-4655(85)90167-5 .
  • E. Gallopoulos, D. Kopetzky, SMcEwan, DL Slotnick i A. Spry, „Opracowywanie i symulacja programu MPP”. W „The Massively Parallel Processor”, red. JL Potter, s. 276–290, MIT Press, 1985
  • Toma Henkla. „MPP przetwarza dane satelitarne; superkomputer twierdzi, że ma największą na świecie szybkość operacji we/wy”, Computerworld , 13 lutego 1984, s. 99.
  • Erica J. Lernera. „Wiele procesorów ułatwia pracę”, Aerospace America , luty 1986, s. 50.
  1. ^ „Masowo równoległy procesor zapewnia dużą prędkość” . Tydzień lotnictwa i technologia kosmiczna . 1984-05-28. P. 157.
  • Todd Kushner, Angela Wu, Azriel Rosenfeld, „Przetwarzanie obrazu w MPP”, rozpoznawanie wzorców - PR, tom. 15, nie. 3, s. 121–130, 1982