Un conjunto de procesadores masivamente paralelos , también conocido como conjunto de procesadores multipropósito ( MPPA ), es un tipo de circuito integrado que cuenta con una matriz masivamente paralela de cientos o miles de CPU y memorias RAM . Estos procesadores se transfieren tareas entre sí a través de una interconexión reconfigurable de canales . Al aprovechar un gran número 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 el desarrollo de aplicaciones de sistemas embebidos de alto rendimiento .
Arquitectura
MPPA es una arquitectura MIMD (Múltiples Flujos de Instrucciones, Múltiples Datos), con memoria distribuida a la que se accede localmente, no se comparte 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. [ 1 ]
El paralelismo masivo de la MPPA y su arquitectura MIMD de memoria distribuida la distinguen de las arquitecturas multinúcleo y manycore , que tienen menos procesadores y una arquitectura SMP u otra arquitectura de memoria compartida , principalmente destinada a la computación de propósito general. También se distingue de las GPGPU con arquitecturas SIMD , utilizadas para aplicaciones HPC . [ 2 ]
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 se ejecutan en paralelo, cada uno en su propio procesador. Asimismo, 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 minimizando la latencia local, optimizando así el rendimiento y la eficiencia. El modelo de computación de una MPPA es similar a una red de procesos de Kahn o a procesos secuenciales comunicantes (CSP). [ 3 ]
Aplicaciones
Los MPPA se utilizan en sistemas embebidos de alto rendimiento y en la aceleración de hardware de aplicaciones de computadoras de escritorio y servidores , como la compresión de video , [ 4 ] [ 5 ] el procesamiento de imágenes , [ 6 ] imágenes médicas , el procesamiento de redes , la radio definida por software y otras aplicaciones de transmisión de medios de computación intensiva, que de otro modo utilizarían chips FPGA , DSP y/o ASIC .
Ejemplos
Entre los MPPA desarrollados en empresas se incluyen los diseñados en: Ambric , PicoChip , Intel , [ 7 ] IntellaSys , GreenArrays , ASOCS , Tilera , Kalray , Coherent Logix , Tabula y Adapteva . El Aspex (Ericsson) Linedancer se diferencia en que era un Massive Wide SIMD Array en lugar de un MPPA. Estrictamente hablando, podría calificarse como procesamiento asociativo debido a que cada uno de los 4096 de los 3000 núcleos de puerta tiene su propia memoria direccionable por contenido. [ 8 ] [ 9 ] [ 10 ]
Los MPPA fabricados desarrollados en universidades incluyen: matrices asíncronas de procesadores simples (AsAP) de 36 núcleos [ 11 ] y 167 núcleos [ 12 ] de la Universidad de California, Davis , RAW de 16 núcleos [ 13 ] del MIT y matrices de 16 núcleos [ 14 ] y 24 núcleos [ 15 ] de la Universidad de Fudan .
El proyecto chino Sunway desarrolló su propio chip multinúcleo SW26010 de 260 núcleos para la supercomputadora TaihuLight , que fue, desde junio de 2016 hasta junio de 2018, la supercomputadora más rápida del mundo. [ 16 ] [ 17 ]
Los procesadores Anton 3, diseñados por DE Shaw Research para simulaciones de dinámica molecular , contienen matrices de 576 procesadores dispuestos en una cuadrícula de 12×24 pares de núcleos; una red enrutada conecta estos bloques entre sí y se extiende fuera del chip a otros nodos en un sistema completo. [ 18 ] [ 19 ]
Véase también
Referencias
- ↑ Mike Butts (septiembre-octubre de 2007). "Sincronización mediante comunicación en una matriz de procesadores masivamente paralelos". IEEE Micro . 27 (5). IEEE Computer Society : 32. Bibcode : 2007IMicr..27e..32A . doi : 10.1109/MM.2007.4378781 .
- ↑ Mike Butts. "Plataformas multinúcleo y masivamente paralelas y la escalabilidad de la ley de Moore". Actas de la Conferencia de Sistemas Embebidos - Silicon Valley, abril de 2008 .
- ↑ Mike Butts; Brad Budlong; Paul Wasson; Ed White (abril de 2008). Granjas de trabajo reconfigurables en una matriz de procesadores masivamente paralelos . 16.º Simposio Internacional de 2008 sobre máquinas de computación personalizadas programables en campo. IEEE Computer Society . doi : 10.1109/FCCM.2008.6 .
- ↑ Laurent Bonetto (16 de mayo de 2008). "Matrices de procesamiento masivamente paralelo (MPPA) para vídeo e imágenes HD embebidas (Parte 1)" . Video/Imaging DesignLine. EE Times .
- ↑ Laurent Bonetto (18 de julio de 2008). "Matrices de procesamiento masivamente paralelo (MPPA) para vídeo e imágenes HD embebidas (Parte 2)" . Video/Imaging DesignLine. EE Times .
- ↑ Paul Chen (18 de marzo de 2008). "Procesamiento de sensores multimodo mediante matrices de procesadores masivamente paralelos (MPPA)" . Programmable Logic DesignLine. EE Times .
- ↑ Vangal, Sriram R.; Howard, Jason; Ruhl, Gregory; Dighe, Saurabh; Wilson, Howard; Tschanz, James; Finan, David; et al. (2008). "Un procesador de teraflops de 80 teselas y menos de 100 W en tecnología CMOS de 65 nm". IEEE Journal of Solid-State Circuits . 43 (1): 29– 41. Bibcode : 2008IJSSC..43...29V . doi : 10.1109/JSSC.2007.910957 .
- ↑ Krikelis, A. (1990). "Red neuronal artificial en una arquitectura asociativa masivamente paralela" . Conferencia Internacional de Redes Neuronales . pág. 673. doi : 10.1007/978-94-009-0643-3_39 . ISBN 978-0-7923-0831-7.
- ↑ "Simulación Monte Carlo efectiva en la arquitectura de procesamiento de cadenas asociativas masivamente paralelas System-V" (PDF) . Archivado del original (PDF) el 6 de junio de 2021.
- ↑ "Un procesador programable con 4096 unidades de procesamiento para aplicaciones multimedia" .
- ↑ Yu, Zhiyi; Meeuwsen, Michael; Persona, Ryan; Sattari, Omar; Lai, Michael; Webb, Jeremy; Trabaja, Eric; Mohsenin, Tinoosh; Singh, Mandeep; Baas, Bevan (2006). Un conjunto asíncrono de procesadores simples para aplicaciones DSP . Conferencia internacional de circuitos de estado sólido IEEE (ISSCC'06). vol. 49. págs. 428– 429. doi : 10.1109/ISSCC.2006.1696225 .
- ↑ Truong, Dean; Cheng, Wayne; Mohsenin, Tinoosh; Yu, Zhiyi; Jacobson, Toney; Landge, Gouri; Meeuwsen, Michael; et al. (2008). Una plataforma computacional de 65 nm con 167 procesadores, voltaje de alimentación dinámico por procesador y escalado dinámico de frecuencia de reloj . Simposio sobre circuitos VLSI. págs. 22–23 . doi : 10.1109/VLSIC.2008.4585936 .
- ↑ Michael Bedford Taylor; Jason Kim; Jason Miller; David Wentzlaff; Fae Ghodrat; Ben Greenwald; Henry Hoffmann; Paul Johnson; Walter Lee; Arvind Saraf; Nathan Shnidman; Volker Strumpen; Saman Amarasinghe; Anant Agarwal (febrero de 2003). "Un microprocesador de contador de programa múltiple de 16 emisiones con red de operandos escalares punto a punto". Actas de la Conferencia Internacional de Circuitos de Estado Sólido del IEEE . doi : 10.1109/ISSCC.2003.1234253 .
- ↑ Yu, Zhiyi; You, Kaidi; Xiao, Ruijin; Quan, Heng; Ou, Peng; Ying, Yan; Yang, Haofan; Zeng, Xiaoyang (2012). "Un procesador de 16 núcleos de 800 MHz y 320 mW con mecanismos de comunicación entre núcleos de paso de mensajes y memoria compartida". 2012 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC) . IEEE. pp. 64–66 . doi : 10.1109/ISSCC.2012.6176931 .
- ↑ Ou, Peng; Zhang, Jiajie; Quan, Heng; Li, Yi; He, Maofei; Yu, Zheng; Yu, Xueqiu; et al. (2013). "Un procesador de 65 nm y 39 GOPS/W de 24 núcleos con red en chip de doble capa conmutada por circuitos controlada por paquetes de 11 Tb/s/W y matriz de ejecución heterogénea". 2013 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC) . IEEE. pp. 56–57 . doi : 10.1109/ISSCC.2013.6487635 .
- ↑ Dongarra, Jack (20 de junio de 2016). "Informe sobre el sistema de iluminación Sunway Taihu" (PDF) . www.netlib.org . Consultado el 20 de junio de 2016 .
- ^ Fu, Haohuan; Liao, Junfeng; Yang, Jinzhe; et al. (2016). "La supercomputadora Sunway TaihuLight: sistema y aplicaciones" . Ciencia. Inf. China. Ciencia . 59 (7) 072001. doi : 10.1007/s11432-016-5588-7 .
- ↑ Shaw, David E.; Adams, Peter J.; Azaria, Asaph; Bank, Joseph A.; Batson, Brannon; Bell, Alistair; Bergdorf, Michael; Bhatt, Jhanvi; Butts, J. Adam; Correia, Timothy; Dirks, Robert M.; Dror, Ron O.; Eastwood, Michael P.; Edwards, Bruce; Even, Amos (14 de noviembre de 2021). "Anton 3". Actas de la Conferencia Internacional sobre Computación de Alto Rendimiento, Redes, Almacenamiento y Análisis . St. Louis, Missouri: ACM. págs. 1–11 . doi : 10.1145/3458817.3487397 . ISBN 978-1-4503-8442-1. S2CID 239036976 .
- ↑ Adams, Peter J.; Batson, Brannon; Bell, Alistair; Bhatt, Jhanvi; Butts, J. Adam; Correia, Timothy; Edwards, Bruce; Feldmann, Peter; Fenton, Christopher H.; Forte, Anthony; Gagliardo, Joseph; Gill, Gennette; Gorlatova, Maria; Greskamp, Brian; Grossman, JP (22 de agosto de 2021). "El ASIC ΛNTON 3: Un monstruo que escupe fuego para simulaciones de dinámica molecular". Simposio IEEE Hot Chips 33 (HCS) 2021. Palo Alto, CA, EE. UU.: IEEE. págs. 1–22 . doi : 10.1109/HCS52781.2021.9567084 . ISBN 978-1-6654-1397-8. S2CID 239039245 .
- Procesadores multinúcleo
- Computación paralela