Una nueva generación de procesamiento heterogéneo - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Una nueva generación de procesamiento heterogéneo

Hola, un placer verte por aquí. Te habla Simón Sánchez y en esta ocasión te voy a contar sobre Una nueva generación de procesamiento heterogéneo

Con la introducción de aceleradores adicionales como las GPU, el próximo chip MIC de Intel y, en menor medida, los FPGA, las bases de la informática de alto rendimiento están experimentando una especie de revolución. Pero una variante emergente de este enfoque informático heterogéneo podría anular el modelo actual de acelerador en un futuro no muy lejano. Y ya ha comenzado en el espacio móvil.

En octubre de 2011 ARM Anunciado su diseño «big.LITTLE», una arquitectura de chip que integra núcleos ARM grandes y de alto rendimiento con núcleos pequeños y energéticamente eficientes. El objetivo de este enfoque es minimizar el consumo de energía para extender la vida útil de la batería de dispositivos como teléfonos inteligentes y tabletas.

La forma en que funciona es mapear una aplicación a núcleos óptimos según las demandas de rendimiento y la disponibilidad de energía. Para los dispositivos móviles, los núcleos más grandes se utilizarían para tareas de alto rendimiento como la navegación y los juegos, mientras que los núcleos más pequeños para el sistema operativo y tareas más simples como las aplicaciones de redes sociales. Pero cuando la batería se agota, el software puede desviar todo a los núcleos de bajo consumo para mantener el dispositivo operativo. ARM afirma que la vida útil de la batería se puede extender hasta en un 70% mediante la migración inteligente de tareas.

La primera encarnación ARM de big.LITTLE combina su gran diseño Cortex-A15 con el Cortex-A7 más pequeño, junto con la tecnología de pegamento para proporcionar consistencia de caché y E / S entre los dos conjuntos de núcleos. Empresas como Samsung, Freescale y Texas Instruments, entre otras, ya se están registrando.

Sin embargo, ARM no inventó el concepto de gran núcleo / pequeño núcleo. Este modelo ha sido popular en la comunidad de investigadores durante casi una década. Uno de primeros documentos sobre el tema fue escrito en 2003 por Rakesh Kumar, junto con colegas de UCSD y HP Labs. Propuso un único diseño multinúcleo heterogéneo ISA, pero en este caso basado en el Microprocesadores alfa, una línea de CPU que, en ese momento, estaba destinada a estaciones de trabajo y servidores de alta gama.

Descubrió que un chip con cuatro microarquitecturas de núcleo Alpha diferentes tenía el potencial de «aumentar la eficiencia energética en un factor de tres … sin pérdidas dramáticas de rendimiento». También encontró que la mayoría de estas ganancias serían posibles con un mínimo de dos tipos de núcleos.

En una conversación reciente con Kumar, expresó la idea de que puede haber llegado el momento de que los chips heterogéneos de un solo ISA encuentren un lugar en el ámbito de los servidores, incluso en la informática de alto rendimiento. El conductor, nuevamente, es el poder, o la falta del mismo. A medida que las granjas de servidores y las supercomputadoras aumentan de tamaño, el uso de electricidad se ha convertido en un factor limitante. Ya sea que esté ampliando o reduciendo la escala, ahora todos se centran en computadoras con mayor eficiencia energética.

“La idea clave fue que incluso si asigna una aplicación a un núcleo pequeño, no funcionará mucho peor que ejecutarla en un núcleo grande”, dijo Kumar, refiriéndose a su investigación anterior. «Pero puedes ahorrar muchos factores de potencia».

El problema con las CPU grandes y potentes como Xeon, Opteron y Power ahora es bien conocido. Aunque la ley de Moore todavía está trabajando para expandir los presupuestos de transistores a un buen clip, las frecuencias de reloj están estancadas. Esto significa que el rendimiento y, lo que es más importante, el rendimiento por vatio aumenta más lentamente. Para estos chips de servidor de alta gama, esencialmente tiene que gastar cuatro unidades de energía para ofrecer una unidad de rendimiento por núcleo.

Este es el resultado de la naturaleza superescalar de estas microarquitecturas de gran núcleo, que presentan una gran cantidad de paralelismo a nivel educativo (ILP) y tuberías profundas. Tal diseño reduce la latencia de ejecución, pero a un alto precio en vatios. Como explica Kumar, «Se necesita mucha potencia y mucha [die] área para exprimir ese último 5-10% de rendimiento. «

La implicación es simplemente pasar a núcleos más pequeños y con mayor eficiencia energética, con tuberías más simples y menos ILP. Si puede paralelizar una aplicación en muchos núcleos más pequeños y simples, obtendrá lo mejor de ambos mundos: mejor productividad y mayor eficiencia energética. El problema es que para muchas aplicaciones, el rendimiento decente también depende del rendimiento de un solo subproceso. Esto ha llevado a la adopción de los tipos de plataformas informáticas basadas en aceleradores que se mencionan al principio de este artículo, que combinan un chip de CPU en serie con un coprocesador de rendimiento.

Lo que aporta el modelo grande / pequeño a la mesa es tener ambos tipos de núcleos en el mismo molde. Y quizás lo más importante, a diferencia de la integración CPU-GPU que AMD está haciendo con sus chips Fusion y lo que NVIDIA pretende hacer con su plataforma «Proyecto Denver», el modelo grande / pequeño se consolida en un conjunto de instrucciones homogéneas.

Esto tiene una serie de beneficios, uno de los cuales es un desarrollo de software más sencillo. Con un ISA común, no necesita una cadena de herramientas compleja con múltiples compiladores, tiempos de ejecución, bibliotecas y depuradores necesarios para administrar dos conjuntos de arquitecturas. Sin embargo, para las aplicaciones de supercomputación, es probable que la escritura de aplicaciones siga siendo un desafío, ya que el desarrollador aún tiene que paralelizar el código y mapear explícitamente el trabajo en serie y el trabajo de rendimiento a los núcleos apropiados. A diferencia de la informática móvil, para HPC la asignación de tareas a los núcleos sería más estática, ya que el objetivo principal es maximizar el rendimiento.

Pero cuando el rendimiento debe verse comprometido debido a limitaciones de energía o recursos, un solo chip ISA es una gran ventaja. Por lo tanto, en tiempo de ejecución, los subprocesos de la aplicación pueden migrar entre diferentes microarquitecturas según sea necesario para optimizar el rendimiento, la potencia o ambos. Y debido a que los núcleos comparten caché y memoria, suspender un hilo en un núcleo y reanudarlo en otro es relativamente rápido e indoloro.

Entonces, por ejemplo, una granja de servidores de renderización equipada con CPU grandes / pequeñas puede mezclar subprocesos de aplicación en núcleos más rápidos o más lentos según la combinación de cargas de trabajo, recursos de procesador disponibles y tiempo de entrega requerido. . Si existiera un acuerdo de nivel de servicio (SLA) que permitiera que el trabajo de renderizado cumpliera con la fecha límite sin quedarse sin núcleos grandes, la granja de servidores podría ahorrar en facturas de electricidad mediante el uso de núcleos más pequeños.

Cabe señalar que también se pueden lograr ahorros de energía variando el voltaje de suministro de un microprocesador y la frecuencia del reloj, también conocido como escalado de voltaje / frecuencia. Pero a medida que las geometrías de los transistores se reducen, esta técnica tiende a producir rendimientos decrecientes. Y al igual que Intel también concluido, los núcleos grandes / pequeños (Intel los llama núcleos asimétricos) parecen ofrecer los mejores resultados.

Las arquitecturas con más probabilidades de adoptar el paradigma grande / pequeño en los próximos años son x86 y ARM. Como se mencionó anteriormente, las implementaciones de big.LITTLE ARM ya están en proceso para la computación móvil, pero con la presentación de la arquitectura ARM de 64 bits el año pasado y con empresas como HP profundizando en herramientas basadas en ARM para el centro de datos, Las implementaciones de servidores ARM grandes / pequeños pueden aparecer ya a mediados de esta década.

Es posible que veamos chips de servidor grandes / pequeños basados ​​en x86 incluso antes. Intel, en particular, está en una posición privilegiada para aprovechar esta tecnología. Por un lado, el fabricante de chips es el mejor en el negocio de la reducción de transistores, que es un elemento importante si está interesado en poblar una tuerca con una cantidad útil de núcleos grandes y pequeños. También tiene un enorme diseño estable de núcleos x86, desde el chip Atom hasta el Xeon.

Además, como Intel tiene poca IP de GPU que se pueda utilizar para el procesamiento, es muy probable que la empresa confíe en su legado x86 para los núcleos de rendimiento. Por ejemplo, no es demasiado difícil imaginar el Xeon de gran núcleo de Intel emparejado con su chip MIC de núcleo pequeño en un futuro SoC orientado a servicios HPC. El mismo modelo, pero con una combinación diferente de microarquitecturas x86, también podría usarse para construir procesadores de servidores empresariales más genéricos, sin mencionar sus propios chips móviles.

Queda por ver si Intel tiene la intención de seguir este camino o no. Pero una reciente patente presentada por la empresa sobre la combinación de núcleos x86 asimétricos en un procesador sugiere que el fabricante de chips realmente ha pensado seriamente en productos grandes / pequeños. Y dado que tanto AMD como NVIDIA están buscando sus propios SoC heterogéneos, que por cierto también pueden incorporar esta tecnología, es poco probable que Intel dé alguna ventaja a sus competidores.

El enfoque grande / pequeño no será una panacea para la computación eficiente en energía, pero parece uno de los enfoques más prometedores, al menos a nivel de CPU. El hecho de que incorpore las prestaciones de una arquitectura heterogénea, pero con un modelo más sencillo, tiene mucho que recomendar. Y mientras que las CPU grandes / pequeñas pueden verse como una amenaza para la computación GPU, también pueden verse como una tecnología complementaria. Lo cierto es que los tiempos de la arquitectura de «talla única» están llegando a su fin.

Puedes compartir en tu Facebook para que tus colegas lo sepan

??? ? ? ???

Comparte