¿Multinúcleo salvará el día? - Calendae | Informática, Electrónica, CMS, Ciberseguridad

¿Multinúcleo salvará el día?

Hola y mil gracias por leerme. Te habla Simón Sánchez y en esta ocasión te voy a hablar sobre ¿Multinúcleo salvará el día?

La ley de Moore está muerta, ¿o no? Ahí está el archivo campo que cree La Ley de Moore, que establece que la densidad de transistores en circuitos integrados se duplica aproximadamente cada dos años, solo será válida durante una o dos décadas más. Pero hay otro campo que piensa que la tecnología ya existe para extender la tendencia: los procesadores multinúcleo. PJ Tanzillo de National Instruments es un defensor de esta última teoría y escribió un artículo sobre el tema en la Technology Review.

El mercado de la computación de propósito general ha dado otro salto cuántico en la potencia de procesamiento en los últimos cinco años, pero esta vez no se trata de velocidades de reloj, sino de la cantidad de núcleos de procesamiento. Contrariamente a la creencia popular, la Ley de Moore no está muerta. La cantidad de transistores en los procesadores modernos continúa duplicándose cada 18 meses. Esos transistores ahora se manifiestan como núcleos de procesamiento adicionales. Hay dos razones principales por las que se realizó este cambio: poder y memoria.

Tanzillo continúa explicando que con los procesadores de un solo núcleo, una forma de aumentar el rendimiento es aumentar las velocidades de reloj, pero con problemas de calor y energía, esto solo ayuda mucho. La mayor densidad de los procesadores multinúcleo permite que cada núcleo se regule muy por debajo de su máximo teórico, lo que ayuda con la disipación del calor y la gestión de la energía.

En cuanto al problema de la memoria, Tanzillo relata cómo la velocidad de la memoria DRAM no pudo mantenerse al día con el aumento de la velocidad del microprocesador. Ambos están aumentando exponencialmente, pero con los microprocesadores hay un exponente mayor. Esto crea una situación en la que la latencia de la memoria se convierte en el mayor cuello de botella para el rendimiento del sistema. Esto también se conoce como el problema de la pared de memoria. Si bien sería bueno pensar que el multinúcleo resolvió este problema, en realidad solo lo pospuso un poco. La disparidad todavía existe.

Las máquinas con múltiples aplicaciones adecuadas para ejecutarse en un núcleo (como una computadora de escritorio) pueden aprovechar las arquitecturas de múltiples núcleos con bastante facilidad, con poca reprogramación. Pero HPC plantea un desafío porque tiene una aplicación que debe dividirse para ejecutarse en varios núcleos. Tanzillo explica:

Entonces, al igual que los clústeres de supercomputación del pasado, los algoritmos escritos en FORTRAN y C deben modificarse para aprovechar los núcleos de procesamiento en paralelo. Estas aplicaciones deben dividirse en subprocesos, y estos subprocesos deben diseñarse para evitar algunos de los errores comunes en la paralelización del código, como las condiciones de carrera y la inversión de prioridad. Además, la memoria y la comunicación entre procesos deben ser seguras para subprocesos y los recursos compartidos deben evitarse o abordarse. Estos problemas continúan acechando a los desarrolladores que actualizan el código heredado a nuevas arquitecturas y, a menudo, provocan inestabilidad y / o mejoras de rendimiento decepcionantes. Como resultado, están creciendo en madurez una serie de tecnologías complementarias que permiten a los programadores explotar sistemas multinúcleo de formas nuevas e interesantes.

Algunas de estas «nuevas e interesantes formas» giran en torno a la programación y la virtualización del flujo de datos, y la computación en la nube también debe considerarse, según Tanzillo.

Una cosa a tener en cuenta con multinúcleo es que las matemáticas no funcionan por completo. Idealmente, duplicar los núcleos duplicaría el rendimiento, pero ese no es el caso, es un aumento del rendimiento de más del 50%. Y luego está 2009 Estudio Sandia que el rendimiento sugerido en realidad disminuye para máquinas con más de ocho núcleos:

Un equipo de Sandia simuló algoritmos clave para derivar conocimiento de grandes conjuntos de datos. Las simulaciones muestran un aumento significativo en la velocidad de dos a cuatro multinúcleo, pero un aumento insignificante de cuatro a ocho multinúcleo. Exceder ocho multinúcleos provoca una disminución de la velocidad. Dieciséis núcleos múltiples apenas se comportan como dos, después de lo cual hay una fuerte caída a medida que se agregan más núcleos.

Para una perspectiva alternativa sobre el debate multinúcleo, podemos mirar a Bill Dally de NVIDIA, quien cree que construir computadoras paralelas desde cero usando GPU es el camino a seguir. En su Artículo de Forbes desde el pasado mes de abril, Dally ha declarado:

Para continuar escalando el rendimiento de la computadora, es esencial construir máquinas paralelas utilizando núcleos optimizados para la eficiencia energética, no el rendimiento en serie. La construcción de una computadora en paralelo conectando de dos a 12 CPU convencionales optimizadas para el rendimiento en serie, un enfoque que a menudo se denomina multinúcleo, no funcionará. Este enfoque es análogo a intentar construir un avión poniendo alas en un tren. Las CPU seriales convencionales son simplemente demasiado pesadas (consumen demasiada energía por instrucción) para volar a programas paralelos y continuar con la reducción histórica del rendimiento.

El camino hacia la computación paralela no será fácil. Después de 40 años de programación en serie, existe una tremenda resistencia al cambio, ya que requiere una ruptura con las prácticas de larga data. Convertir el enorme volumen de programas seriales existentes para que se ejecuten en paralelo es una tarea formidable y aún más difícil debido a la escasez de programadores capacitados en programación paralela.

Un punto clave planteado tanto por Tanzillo como por Dally es que, independientemente de si utilizan máquinas basadas en GPU multinúcleo o paralelas, todavía existe el problema de paralelizar el software para aprovechar múltiples procesadores. Y no es un problema menor. Y sí, hay resistencia al cambio. Pero al final del día, es importante recordar que si bien la ciencia no se trata de tecnología, es un facilitador principal.

Recuerda compartir en tus redes sociales para que tus colegas lo sepan

??? ? ? ???

Comparte