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. [1]
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 . [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 corren en paralelo, cada uno en su propio procesador. Asimismo, los grandes objetos de datos se pueden dividir y distribuir 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 cálculo de un MPPA es similar a una red de procesos de Kahn o procesos secuenciales de comunicación (CSP). [3]
Aplicaciones
Los MPPA se utilizan en sistemas integrados de alto rendimiento y aceleración de hardware de computadoras de escritorio y aplicaciones de servidor , como compresión de video , [4] [5] procesamiento de imágenes , [6] procesamiento de imágenes médicas , procesamiento de red , radio definida por software y otras aplicaciones de computación intensiva. aplicaciones de transmisión de medios, que de otro modo utilizarían chips FPGA , DSP y / o ASIC .
Ejemplos de
Los MPPA desarrollados en empresas incluyen los diseñados en: Aspex (Ericsson) , Ambric , PicoChip , Intel , [7] IntellaSys , GreenArrays , ASOCS , Tilera , Kalray , Coherent Logix , Tabula y Adapteva .
Los MPPA fabricados desarrollados en universidades incluyen: Arreglos asincrónicos de procesadores simples (AsAP) de 36 núcleos [8] y 167 núcleos [9] de la Universidad de California, Davis , RAW de 16 núcleos [10] del MIT y 16 núcleos matrices core [11] y 24-core [12] 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. [13] [14]
Ver también
- Manycore
- Acelerador de IA
- Matriz asincrónica de procesadores simples
- SW26010
Referencias
- ^ Mike Butts, "Sincronización a través de la comunicación en una matriz de procesadores masivamente paralelos", IEEE Micro, vol. 27, no. 5, septiembre / octubre de 2007, IEEE Computer Society
- ^ Mike Butts, "Plataformas multinúcleo y masivamente paralelas y escalabilidad de la ley de Moore", Actas de la Conferencia de sistemas integrados - Silicon Valley, abril de 2008
- ^ Mike Butts, Brad Budlong, Paul Wasson, Ed White, "Granjas de trabajo reconfigurables en una matriz de procesadores masivamente paralelos", Actas de FCCM , abril de 2008, IEEE Computer Society
- ^ Laurent Bonetto, "Matrices de procesamiento masivo paralelo (MPPA) para imágenes y video HD integrado (Parte 1)", Video / Imaging DesignLine, 16 de mayo de 2008 http://www.eetimes.com/document.asp?doc_id=1273823
- ^ Laurent Bonetto, "Matrices de procesamiento masivo en paralelo (MPPA) para imágenes y video HD integrado (Parte 2)", Video / Imaging DesignLine, 18 de julio de 2008 http://www.eetimes.com/document.asp?doc_id=1273830
- ^ Paul Chen, "Procesamiento de sensor multimodo mediante matrices de procesadores masivamente paralelos (MPPA)", Programmable Logic DesignLine, 18 de marzo de 2008 http://www.pldesignline.com/howto/206904379
- ^ Vangal, Sriram R., Jason Howard, Gregory Ruhl, Saurabh Dighe, Howard Wilson, James Tschanz, David Finan et al. "Un procesador de 80 teraflops de menos de 100 w en cmos de 65 nm". Circuitos de estado sólido, IEEE Journal of 43, no. 1 (2008): 29-41.
- ^ Yu, Zhiyi, Michael Meeuwsen, Ryan Apperson, Omar Sattari, Michael Lai, Jeremy Webb, Eric Work, Tinoosh Mohsenin, Mandeep Singh y Bevan Baas. "Una matriz asincrónica de procesadores simples para aplicaciones DSP". En IEEE International Solid-State Circuits Conference, (ISSCC'06), vol. 49, págs. 428-429. 2006
- ^ Truong, Dean, Wayne Cheng, Tinoosh Mohsenin, Zhiyi Yu, Toney Jacobson, Gouri Landge, Michael Meeuwsen et al. "Una plataforma computacional de 65 nm con 167 procesadores con voltaje de suministro dinámico por procesador y escalado dinámico de frecuencia de reloj". En Simposio sobre circuitos VLSI, págs. 22-23. 2008
- ^ 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 y Anant Agarwal, "A 16 números microprocesador de contador de programas múltiples con red de operandos escalares punto a punto, "Actas de la Conferencia Internacional de Circuitos de Estado Sólido de IEEE, febrero de 2003
- ^ Yu, Zhiyi, Kaidi You, Ruijin Xiao, Heng Quan, Peng Ou, Yan Ying, Haofan Yang y Xiaoyang Zeng. "Un procesador de 16 núcleos a 800 MHz y 320 mW con mecanismos de comunicación entre núcleos de transmisión de mensajes y memoria compartida". En Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2012 IEEE International, págs. 64-66. IEEE, 2012.
- ^ Ou, Peng, Jiajie Zhang, Heng Quan, Yi Li, Maofei He, Zheng Yu, Xueqiu Yu et al. "Un procesador de 24 núcleos y 65 nm 39GOPS / W con 11Tb / s / W de red en chip de doble capa, conmutación de circuitos, controlado por paquetes y matriz de ejecución heterogénea". En Solid-State Circuits Conference Digest of Technical Papers (ISSCC), 2013 IEEE International, págs. 56-57. IEEE, 2013.
- ^ Dongarra, Jack (20 de junio de 2016). "Informe sobre el sistema Sunway TaihuLight" (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" . Sci. China Inf. Sci . doi : 10.1007 / s11432-016-5588-7 . Consultado el 22 de junio de 2016 .