Goodyear MPP

Da Wikipedia, l'enciclopedia libera.
Goodyear Massively Parallel Processor
Goodyear MPP.jpg
Il Goodyear MPP
Classe di computer Supercomputer
Produttore Goodyear Aerospace
Presentazione Inizio sviluppo circa 1979, completato nel maggio 1983

Il Goodyear Massively Parallel Processor è un supercomputer di tipo MPP costruito dalla Goodyear Aerospace (la divisione aerospaziale della Goodyear) per il Goddard Space Flight Center della NASA. Fu progettato per sviluppare una enorme potenza computazionale ad un costo inferiore rispetto alle esistenti architetture di supercomputer. Ciò avveniva impiegando migliaia di semplici processori al posto di uno o poche complesse CPU. Il suo sviluppo iniziò nel 1979 e fu completato nel maggio del 1983. Fu impiegato dal 1985 al 1991.

Il Goodyear MPP era basato sul precedente STARAN che era composto da 4x256 processing element (PE) ad 1-bit. L' MPP era invece costituito da una matrice di 128x128 array processor sempre da un bit. I vari processor element (PE) operavano in modalità Single instruction multiple data (SIMD) dove ogni processore effettuava le stesse operazioni simultaneamente su dati diversi sotto il controllo di una unità di controllo.

Nel 1991 l'MPP venne dismesso venendo donato allo Smithsonian Institution ed ora fa parte della collezione del National Air and Space Museum presso lo Steven F. Udvar-Hazy Center. Presso il Goddard Space Flight Center venne rimpiazzato da un superminicomputer MasPar MP-1 e da un Cray T3D.

Applicazioni[modifica | modifica sorgente]

L'MPP fu sviluppato inizialmente per l'analisi ad alta velocità delle immagini provenienti da satellite. Nei primi test fu capace di estrarre e separare differenti aree di terreno dalle immagini provenienti dal satellite Landsat in 18 secondi confrontato con le 7 ore che un DEC VAX 11/780 fino ad allora ci impiegava[1].

Quando il sistema fu posto in produzione l'ufficio Space Science and Applications della NASA propose agli scienziati di testare ed implementare una vasta gamma di algoritmi per l' MPP. Furono accettati 40 progetti che andarono a formare l' "MPP Working Group". Questi progetti furono presentati al primo simposio della elaborazione massiva parallela nel 1986.

Alcuni esempi di applicazioni sviluppate furono:

Mappa topografica generata tramite fotogrammetria

Architettura di sistema[modifica | modifica sorgente]

Diagramma di sistema dell MPP

L' hardware dell' MPP consiste nelle seguenti parti: Array Unit, Array Control Unit, Staging Memory e Host Processor.

L' Array Unit è il cuore del MPP. È composto da un array di (128x128) 16384 processing elements (PE) ognuno dei quali è connesso ai 4 Processing elements vicini rispettivamente posti sotto, sopra, a sinistra ed a destra. L'array di processori può essere configurato come un piano, un cilindro, in daisy-chain oppure come un toro. I PE sono implementati su un chip custom in tecnologia silicon-on-sapphire LSI. Ogni PE ha una unità aritmetica e logica, 35 shift register e 1024 bits di random access memory. Lavorano in modalità Bit splicing e possono operare su dati con lunghezza variabile. La frequenza operativa era di 10 Mhz.

L' Array Control Unit o ACU invia i comandi e gli indirizzi di memoria a tutti i PE contenuti nell'Array Unit e da questo riceve i bit di status. Il programma in esecuzione è memorizzato nella memoria interna dell' ACU; L'ACU esegue in modo scalare parti del programma inviando in modo parallelo le istruzioni da eseguire all' Array Unit.

Lo Staging Memory è un blocco di memoria della dimensione di 32 Mebibyte usato per il buffering dei dati sull' Array Unit. È importante perché i PE hanno solamente un totale di 2 Mebibyte di memoria (1024 bits per ogni PE) e perché fornisce una banda di connessione più veloce rispetto a quella dell Host Processor (80 MB/secondo contro 5 MB/secondo). Lo Staging Memory effettua inoltre alcune manipolazioni sui dati come il "Corner turning" e l'accesso multidimensionale all'array. I dati vengono spostati tra lo Staging Memory e l' Array Unit attraverso 128 linee di comunicazione parallele.

L' Host Processor è il processore front end che carica in memoria il programma da eseguire ed i dati da elaborare all'interno dell MPP. Nell Host Process vengono eseguiti i vari tools di sviluppo e fornisce inoltre la connettività di rete. L' Host processor originale era un PDP-11 ma fu presto sostituito con un VAX 11/780 che eseguiva VMS programmato con un linguaggio MPP Pascal. Il VAX era collegato al MPP attraverso un canale DR-780.

  1. ^ Massively Parallel Processor Yields High Speed in Aviation Week & Space Technology, 28 maggio 1984, p. 157.