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 .
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).
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
^ Mattson, Tim (enero de 2010). "El futuro de la computación de muchos núcleos: una historia de dos procesadores" (PDF) .
^ 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 ].
^ Amir, Arnon (11 de junio de 2015). "IBM SyNAPSE Deep Dive Part 3" . IBM Research.
^ "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".
^ Rick Merritt (20 de junio de 2011), "Los fabricantes de equipos originales muestran sistemas con chips Intel MIC" , www.eetimes.com , EE Times
^ 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 .
^ 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
vtmiComputación paralela
General
Computación distribuída
Computación paralela
Masivamente paralelo
Computación en la nube
Computación de alto rendimiento
Multiprocesamiento
Procesador Manycore
GPGPU
Red de computadoras
Matriz sistólica
Niveles
Poco
Instrucción
Hilo
Tarea
Datos
Memoria
Lazo
Tubería
Subprocesos múltiples
Temporal
Simultáneo (SMT)
Especulativo (SpMT)
Con derecho preferente
Cooperativa
Hilo múltiple agrupado (CMT)
Explorador de hardware
Teoría
Modelo PRAM
Modelo PEM
Análisis de algoritmos paralelos
Ley de amdahl
Ley de gustafson
Eficiencia de costo
Métrica de Karp-Flatt
Desacelerar
Acelerar
Elementos
Proceso
Hilo
Fibra
Ventana de instrucciones
Estructura de datos de matriz
Coordinación
Multiprocesamiento
Coherencia de la memoria
Coherencia de caché
Invalidación de caché
Barrera
Sincronización
Punto de control de la aplicación
Programación
Procesamiento de flujo
Programación de flujo de datos
Modelos
Paralelismo implícito
Paralelismo explícito
Concurrencia
Algoritmo de no bloqueo
Hardware
Taxonomía de Flynn
SISD
SIMD
Procesamiento de matrices (SIMT)
Procesamiento canalizado
Procesamiento asociativo
MISD
MIMD
Arquitectura de flujo de datos
Procesador canalizado
Procesador superescalar
Procesador de vectores
Multiprocesador
simétrico
asimétrico
Memoria
compartido
repartido
distribuido compartido
UMA
NUMA
COMA
Computadora masivamente paralela
Clúster de computadoras
Computadora de cuadrícula
Aceleracion de hardware
API
Ateji PX
Aumentar
Capilla
HPX
Encanto ++
Cilk
Coarray Fortran
CUDA
Dríada
C ++ AMP
Matrices globales
GPUOpen
MPI
OpenMP
OpenCL
OpenHMPP
OpenACC
Extensiones paralelas
PVM
Hilos POSIX
RaftLib
UPC
TBB
ZPL
Problemas
Paralelización automática
Punto muerto
Algoritmo determinista
Vergonzosamente paralelo
Ralentización paralela
Condición de carrera
Bloqueo de software
Escalabilidad
Inanición
Categoría: Computación paralela
Categorías :
Arquitectura de Computadores
Procesadores Manycore
Computación paralela
Categorías ocultas:
CS1 maint: utiliza el parámetro de los autores
Artículos con breve descripción
La descripción corta coincide con Wikidata
Todos los artículos con declaraciones sin fuente
Artículos con declaraciones sin fuente de diciembre de 2018