Matriz de procesadores masivamente paralelos - Massively parallel processor array
Una matriz de procesadores masivamente paralelos , también conocida como matriz de procesadores multipropósito ( MPPA ) es un tipo de circuito integrado que tiene una matriz masivamente paralela de cientos o miles de CPU y memorias RAM . Estos procesadores pasan el trabajo entre sí a través de una interconexión reconfigurable de canales . Al aprovechar una gran cantidad de procesadores que trabajan en paralelo, un chip MPPA puede realizar tareas más exigentes que los chips convencionales. Los MPPA se basan en un modelo de programación paralela de software para desarrollar aplicaciones de sistemas integrados de alto rendimiento .
Arquitectura
MPPA es una arquitectura MIMD (Multiple Instruction streams, Multiple Data), con memoria distribuida a la que se accede localmente, no compartida globalmente. Cada procesador está estrictamente encapsulado, accediendo solo a su propio código y memoria. La comunicación punto a punto entre procesadores se realiza directamente en la interconexión configurable.
El paralelismo masivo del MPPA y su arquitectura MIMD de memoria distribuida lo distingue de las arquitecturas multinúcleo y de muchos núcleos , que tienen menos procesadores y un SMP u otra arquitectura de memoria compartida , principalmente destinada a la informática de propósito general. También se distingue de las GPGPU con arquitecturas SIMD , utilizadas para aplicaciones HPC .
Programación
Una aplicación MPPA se desarrolla expresándola como un diagrama de bloques jerárquico o flujo de trabajo , cuyos objetos básicos corren en paralelo, cada uno en su propio procesador. Del mismo modo, los objetos de datos grandes pueden dividirse y distribuirse en memorias locales con acceso paralelo. Los objetos se comunican a través de una estructura paralela de canales dedicados. El objetivo es maximizar el rendimiento agregado mientras se minimiza la latencia local, optimizando el rendimiento y la eficiencia. El modelo de computación de un MPPA es similar a una red de procesos de Kahn o procesos secuenciales de comunicación (CSP).
Aplicaciones
MPPAs se utilizan en alto rendimiento sistemas embebidos y aceleración de hardware de computadora de escritorio y de servidor de aplicaciones, tales como la compresión de vídeo , procesamiento de imágenes , imágenes médicas , procesamiento de la red , la radio definida por software y otras aplicaciones de transmisión de medios de cálculo intensivo, que de otro modo utilizar FPGA , Chips DSP y / o ASIC .
Ejemplos de
Los MPPA desarrollados en empresas incluyen los diseñados en: Ambric , PicoChip , Intel , IntellaSys , GreenArrays , ASOCS , Tilera , Kalray , Coherent Logix , Tabula y Adapteva . Aspex (Ericsson) Linedancer se diferencia en que era una matriz SIMD ancha masiva en lugar de una MPPA. Estrictamente hablando, podría calificar como SIMT debido a que los 4096 de los 3,000 núcleos de puerta tienen su propia memoria direccionable por contenido.
Los MPPA fabricados desarrollados en universidades incluyen: arreglos asincrónicos de procesadores simples (AsAP) de 36 y 167 núcleos de la Universidad de California, Davis , RAW de 16 núcleos del MIT y arreglos de 16 y 24 núcleos de la Universidad de Fudan .
El proyecto chino Sunway desarrolló su propio chip de muchos núcleos SW26010 de 260 núcleos para la supercomputadora TaihuLight , que en 2016 es la supercomputadora más rápida del mundo.