El procesador Goodyear Massively Parallel Processor ( MPP ) era un superordenador de procesamiento masivo paralelo construido por Goodyear Aerospace para el Goddard Space Flight Center de la NASA . Fue diseñado para ofrecer una enorme potencia computacional a un costo menor que otras arquitecturas de supercomputadoras existentes, mediante el uso de miles de elementos de procesamiento simples, en lugar de una o unas pocas CPU altamente complejas . El desarrollo del MPP comenzó alrededor de 1979; se entregó en mayo de 1983 y fue de uso general desde 1985 hasta 1991.
Se basó en el anterior procesador de matriz STARAN de Goodyear , una computadora con elemento de procesamiento (PE) 4x256 de 1 bit . El MPP era una matriz bidimensional de 128x128 de PE de 1 bit de ancho. En realidad, 132x128 PE se configuraron con una configuración de 4x128 agregada para tolerancia a fallas para sustituir hasta 4 filas (o columnas) de procesadores en presencia de problemas. Los PE operaban en una sola instrucción, en forma de datos múltiples (SIMD); cada PE realizaba la misma operación simultáneamente, en diferentes elementos de datos, bajo el control de una unidad de control microprogramada.
Después de que el MPP se retiró en 1991, fue donado a la Smithsonian Institution , y ahora está en la colección del Aire y del Espacio Museo Nacional 'es Steven F. Udvar-Hazy Center . Fue sucedido en Goddard por las computadoras masivamente paralelas MasPar MP-1 y Cray T3D .
Aplicaciones
El MPP se desarrolló inicialmente para el análisis de alta velocidad de imágenes de satélite . En las primeras pruebas, fue capaz de extraer y separar diferentes áreas de uso de la tierra en imágenes Landsat en 18 segundos, en comparación con 7 horas en un DEC VAX-11/780 . [1]
Una vez que el sistema se puso en uso en producción, la Oficina de Ciencias y Aplicaciones Espaciales de la NASA solicitó propuestas de científicos de todo el país para probar e implementar una amplia gama de algoritmos computacionales en el MPP. Se aceptaron 40 proyectos, para formar el "Grupo de Trabajo MPP"; Los resultados de la mayoría de ellos se presentaron en el Primer Simposio sobre las fronteras de la computación masivamente paralela , en 1986.
Algunos ejemplos de aplicaciones que se hicieron del MPP son:
- Procesamiento de señales de datos de radar de apertura sintética
- Generación de mapas topográficos mediante análisis estéreo de imágenes de satélite
- Modelado matemático de la circulación oceánica
- Gráficos por computadora con trazado de rayos
- Redes neuronales
- Resolver grandes sistemas de ecuaciones lineales
- Simulación del transporte de partículas cargadas por rayos cósmicos
- Conjuntos de Mandelbrot de alta resolución
Arquitectura del sistema
El hardware general de MPP constaba de la unidad de matriz, la unidad de control de matriz, la memoria intermedia y el procesador de host.
La unidad de matriz era el corazón del MPP, siendo la matriz de 128x128 de 16,384 elementos de procesamiento. Cada PE estaba conectado a sus cuatro vecinos más cercanos: norte, sur, este y oeste. La matriz podría configurarse como un avión, un cilindro, una cadena de margaritas o un toro. Los PE se implementaron en un chip LSI de silicio sobre zafiro personalizado que contenía ocho de los PE como un subarreglo de 2x4. Cada uno de los PE tenía unidades aritméticas y lógicas, 35 registros de desplazamiento y 1024 bits de memoria de acceso aleatorio implementados con chips de memoria listos para usar. Los procesadores funcionaban en forma de segmentos de bits y podían operar con longitudes variables de datos. La frecuencia operativa de la matriz fue de 10 MHz. Los estados del bus de datos de los 16.384 PE se combinaron en un árbol de elementos lógicos o inclusivos cuya salida única se utilizó en la Unidad de control de matriz para operaciones como encontrar el valor máximo o mínimo de una matriz en paralelo. Un registro en cada PE controlado enmascaramiento de operaciones: las operaciones enmascaradas solo se realizaron en aquellos PE donde se estableció este bit de registro.
La Unidad de control de matriz (ACU) transmite comandos y direcciones de memoria a todos los PE de la Unidad de matriz y recibe bits de estado de la Unidad de matriz. Realizó operaciones de contabilidad como control de bucle y llamada de subrutinas. El código del programa de aplicación se almacenó en la memoria de la ACU; la ACU ejecutó partes escalares del programa y luego puso en cola instrucciones paralelas para la matriz. También controló el desplazamiento de datos entre los PE y entre la unidad de matriz y la memoria de ensayo.
La memoria intermedia era un bloque de memoria de 32 MB para almacenar en búfer los datos de la unidad de matriz. Fue útil porque los propios PE tenían solo un total de 2 MB de memoria (1024 bits por PE) y porque proporcionaba una tasa de bits de comunicación más alta que la conexión del procesador de host (80 megabytes / segundo frente a 5 megabytes / segundo). La memoria de etapas también proporcionó funciones de manipulación de datos como "giro de esquina" (reorganización de datos orientados a bytes o palabras de la matriz) y acceso a la matriz multidimensional. Los datos se movieron entre la memoria intermedia y la matriz a través de 128 líneas paralelas.
El Host Processor era una computadora frontal que cargaba programas y datos en el MPP y proporcionaba herramientas de desarrollo de software y acceso en red al MPP. El procesador anfitrión original era un PDP-11 , que pronto fue reemplazado por un VAX-11/780 conectado al MPP por un canal DR-780. El VAX ejecutó el sistema operativo VMS y fue programado en MPP Pascal.
Velocidad de operaciones
La velocidad de cálculo bruta para operaciones aritméticas básicas en el MPP fue la siguiente:
Operación | Millones de operaciones por segundo |
---|---|
Adición de matrices | |
Enteros de 8 bits (suma de 9 bits) | 6553 |
Enteros de 12 bits (suma de 13 bits) | 4428 |
Números de coma flotante de 32 bits | 430 |
Multiplicación de matrices | |
Enteros de 8 bits (producto de 16 bits) | 1861 |
Enteros de 12 bits (producto de 24 bits) | 910 |
Números de coma flotante de 32 bits | 216 |
Multiplicación de matriz por escalar | |
Enteros de 8 bits (producto de 16 bits) | 2340 |
Enteros de 12 bits (producto de 24 bits) | 1260 |
Números de coma flotante de 32 bits | 373 |
Ver también
- ICL DAP
- Máquina de conexión de máquinas de pensamiento
- MasPar
- Cúmulo de Beowulf
- Parsytec
- SUPRENUM
Referencias
- Fischer, James R .; Corporación Aeroespacial de Goodyear (1987). "Apéndice B. Resumen técnico" . Fronteras de la computación científica masivamente paralela . Administración Nacional de Aeronáutica y del Espacio, Oficina de Información Científica y Técnica. págs. 289-294 . Consultado el 11 de junio de 2012 .
- Batcher, KE (1 de septiembre de 1980). "Diseño de un procesador masivamente paralelo". Transacciones IEEE en computadoras . C-29 (9): 836–840. doi : 10.1109 / TC.1980.1675684 .
- Batcher, Ken (1998). "Retrospectiva: arquitectura de un procesador masivamente paralelo" . Proceeding ISCA '98 25 años de los Simposios Internacionales de Arquitectura de Computadores . Isca '98: 15–16 . doi : 10.1145 / 285930.285937 . ISBN 978-1581130584.
- JL Potter, ed. (1986). Procesador masivamente paralelo . [Sl]: Mit Press. ISBN 9780262661799.
- Neil Boyd Coletti, "Procesamiento de imágenes en matrices similares a MPP", Ph.D. tesis, Departamento de Ciencias de la Computación, Universidad de Illinois en Urbana-Champaign, 1983.
- Efstratios J. Gallopoulos; Scott D. McEwan (1983). Experimentos numéricos con el procesador masivamente paralelo . Departamento de Ciencias de la Computación, Universidad de Illinois en Urbana-Champaign . Consultado el 11 de junio de 2012 .
- Gallopoulos, EJ (julio de 1985). "El procesador masivamente paralelo para problemas en dinámica de fluidos". Comunicaciones de Física Informática . 37 (1-3): 311-315. doi : 10.1016 / 0010-4655 (85) 90167-5 .
- E. Gallopoulos, D. Kopetzky, S. McEwan, DL Slotnick y A. Spry, "Desarrollo y simulación de programas MPP". En "The Massively Parallel Processor", JL Potter ed., Págs. 276-290, MIT Press, 1985
- Tom Henkel. "MPP procesa datos de satélite; la supercomputadora afirma la velocidad de E / S más rápida del mundo", Computerworld , 13 de febrero de 1984, p. 99.
- Eric J. Lerner. "Muchos procesadores facilitan el trabajo", Aerospace America , febrero de 1986, pág. 50.
- ^ "Procesador masivamente paralelo produce alta velocidad". Semana de la aviación y tecnología espacial . 1984-05-28. pag. 157.
- Todd Kushner, Angela Wu, Azriel Rosenfeld, "Procesamiento de imágenes en MPP", Reconocimiento de patrones - PR, vol. 15, no. 3, págs. 121–130, 1982