Procesador Manycore


De Wikipedia, la enciclopedia libre
  (Redirigido desde el microprocesador Manycore )
Saltar a navegación Saltar a búsqueda

Procesadores Manycore son especialistas procesadores de múltiples núcleos diseñados para un alto grado de procesamiento en paralelo , que contienen numerosos, independientes más simples núcleos de procesador (a partir de unas pocas decenas de núcleos a miles o más). Los procesadores Manycore se utilizan ampliamente en computadoras integradas y en computación de alto rendimiento .

Contraste con la arquitectura multinúcleo

Los procesadores de muchos núcleos se distinguen de los procesadores de múltiples núcleos en que están optimizados desde el principio para un mayor grado de paralelismo explícito y para un mayor rendimiento (o menor consumo de energía) a expensas de la latencia y un menor rendimiento de un solo hilo .

La categoría más amplia de procesadores de múltiples núcleos , por el contrario, generalmente está diseñada para ejecutar de manera eficiente tanto código paralelo como serial y , por lo tanto, poner más énfasis en un alto rendimiento de un solo hilo (por ejemplo, dedicar más silicio a la ejecución fuera de orden , tuberías más profundas , más superescalar unidades de ejecución y cachés más grandes y generales) y memoria compartida. Estas técnicas dedican recursos en tiempo de ejecución a descubrir el paralelismo implícito en un solo hilo. Se utilizan en sistemas en los que han evolucionado continuamente (con compatibilidad con versiones anteriores) a partir de procesadores de un solo núcleo. Por lo general, tienen unos 'pocos' núcleos (por ejemplo, 2, 4, 8) y pueden complementarse con un acelerador de muchos núcleos (como una GPU ) en un sistema heterogéneo .

Motivación

La coherencia de la caché es un problema que limita el escalado de los procesadores multinúcleo. Los procesadores Manycore pueden pasar por alto esto con métodos como el paso de mensajes , [1] memoria de scratchpad , DMA , [2] espacio de direcciones global particionado , [3] o cachés de solo lectura / no coherentes. Un procesador de muchos núcleos que utiliza una red en un chip y memorias locales brinda al software la oportunidad de optimizar explícitamente el diseño espacial de las tareas (por ejemplo, como se ve en las herramientas desarrolladas para TrueNorth ). [4]

Muchos procesadores de núcleo pueden tener más en común (conceptualmente) con tecnologías que se originan en la computación de alto rendimiento , como clústeres y procesadores vectoriales . [5]

Las GPU pueden considerarse una forma de procesador de muchos núcleos que tiene varias unidades de procesamiento de sombreado y solo es adecuado para código altamente paralelo (alto rendimiento, pero rendimiento de subproceso único extremadamente deficiente).

Modelos de programación adecuados

  • Interfaz de paso de mensajes
  • OpenCL [6] u otras API que admitan núcleos informáticos
  • Espacio de direcciones global particionado
  • Modelo de actor
  • OpenMP [7]
  • Flujo de datos

Clases de sistemas manycore

  • GPU , que se pueden describir como procesadores vectoriales de muchos núcleos
  • Matriz de procesadores masivamente paralelos
  • Matriz asincrónica de procesadores simples

Arquitecturas de muchos núcleos específicas

  • ZettaScaler [1] , módulos japoneses PEZY Computing de 2048 núcleos
  • Coprocesador Xeon Phi , que tiene arquitectura MIC ( Many Integrated Cores )
  • Tilera
  • Adapteva Epiphany Architecture, un chip de muchos núcleos que utiliza la memoria del scratchpad PGAS
  • Procesador Coherent Logix hx3100 , un procesador DSP / GPP de 100 núcleos basado en la arquitectura HyperX
  • Movidius Myriad 2 , una unidad de procesamiento de visión de muchos núcleos
  • Kalray , un acelerador PCI-e de muchos núcleos para tareas con uso intensivo de datos
  • Teraflops Research Chip, un procesador de muchos núcleos que utiliza el paso de mensajes
  • TrueNorth, un acelerador de inteligencia artificial con una red de muchos núcleos en una arquitectura de chip
  • Green arregla un procesador de muchos núcleos que utiliza el paso de mensajes destinado a aplicaciones de baja potencia
  • Eyeriss , un procesador de muchos núcleos diseñado para ejecutar redes neuronales convolucionales para aplicaciones de visión integradas [8]
  • Graphcore , un acelerador de IA de muchos núcleos

Computadoras de muchos núcleos específicos con más de 1 millón de núcleos de CPU

Varias computadoras construidas a partir de procesadores multinúcleo tienen un millón o más de núcleos de CPU individuales. Ejemplos incluyen:

  • Sunway TaihuLight , una supercomputadora china masivamente paralela (núcleos de CPU de 10 millones) , que alguna vez fue una de las supercomputadoras más rápidas del mundo, utiliza una arquitectura de muchos núcleos personalizada [ cita requerida ] . En noviembre de 2018, la tercera supercomputadora más rápida del mundo (clasificada en la lista TOP500 ), la china Sunway TaihuLight , obtiene su rendimiento de 40,960 procesadores de muchos núcleos SW26010, cada uno con 256 núcleos.
  • Gyoukou ( japonés : 暁 光Hepburn : gyōkō , luz del amanecer), una supercomputadora desarrollada por ExaScaler y PEZY Computing .
  • SpiNNaker , un procesador de muchos núcleos masivamente paralelo (1 millón de núcleos de CPU) construido como parte del Proyecto Cerebro Humano

Ver también

  • Multinúcleo
  • Procesador de vectores
  • SIMD
  • Computación de alto rendimiento
  • Clúster de computadoras
  • Sistema multiprocesador en un chip
  • Unidad de procesamiento de visión
  • Patrón de acceso a la memoria
  • Coherencia de caché
  • Vergonzosamente paralelo
  • Masivamente paralelo
  • CUDA

Referencias

  1. ^ Mattson, Tim (enero de 2010). "El futuro de la computación de muchos núcleos: una historia de dos procesadores" (PDF) .
  2. ^ Hendry, Gilbert; Kretschmann, Mark. "Procesador de células IBM" (PDF) .
  3. ^ Olofsson, Andreas; Nordström, Tomas; Ul-Abdin, Zain (2014). "Puesta en marcha de arquitecturas Manycore energéticamente eficientes de alto rendimiento con Epiphany". arXiv : 1412,5538 [ cs.AR ].
  4. ^ Amir, Arnon (11 de junio de 2015). "IBM SyNAPSE Deep Dive Part 3" . IBM Research.
  5. ^ "arquitectura celular" ."La arquitectura Cell no se parece a nada que hayamos visto en microprocesadores básicos, tiene un diseño más parecido al de las supercomputadoras vectoriales multiprocesador".
  6. ^ Rick Merritt (20 de junio de 2011), "Los fabricantes de equipos originales muestran sistemas con chips Intel MIC" , www.eetimes.com , EE Times
  7. ^ Barker, J; Bowden, J (2013). "Paralelismo de Manycore a través de OpenMP". OpenMP en la era de los dispositivos y aceleradores de bajo consumo . IWOMP. Lecture Notes in Computer Science, vol 8122. Springer. doi : 10.1007 / 978-3-642-40698-0_4 .
  8. ^ Chen, Yu-Hsin y Krishna, Tushar y Emer, Joel y Sze, Vivienne (2016). "Eyeriss: un acelerador reconfigurable energéticamente eficiente para redes neuronales convolucionales profundas" . IEEE International Solid-State Circuits Conference, ISSCC 2016, Digest of Technical Papers . págs. 262-263.Mantenimiento de CS1: utiliza el parámetro de autores ( enlace )

enlaces externos

  • Soluciones de arquitectura para el futuro de Manycore , publicado el 19 de febrero de 2010 (más de un enlace muerto en la diapositiva)
  • Arquitectura Eyeriss
Obtenido de " https://en.wikipedia.org/w/index.php?title=Manycore_processor&oldid=1021670849 "