Intel Tera-Scale es un programa de investigación de Intel que se centra en el desarrollo de procesadores y plataformas Intel que utilizan el paralelismo inherente de las aplicaciones de computación visual emergentes. Dichas aplicaciones requieren teraFLOPS de rendimiento de computación paralela para procesar terabytes de datos rápidamente. [1] El paralelismo es el concepto de realizar múltiples tareas simultáneamente. La utilización del paralelismo no solo aumentará la eficiencia de las unidades de procesamiento de la computadora (CPU), sino que también aumentará los bytes de datos analizados cada segundo. Para aplicar el paralelismo de manera apropiada, la CPU debe poder manejar múltiples subprocesos y, para ello, debe constar de múltiples núcleos. La cantidad convencional de núcleos en las computadoras de consumo es de 2 a 8 núcleos, mientras que las computadoras de estación de trabajo pueden tener cantidades aún mayores. Sin embargo, incluso la cantidad actual de núcleos no es lo suficientemente grande como para funcionar a un rendimiento de teraFLOPS, lo que lleva a una cantidad aún mayor de núcleos que se deben agregar. Como resultado del programa, se han fabricado dos prototipos que se utilizaron para probar la viabilidad de tener muchos más núcleos que la cantidad convencional y demostraron ser exitosos.
Teraflops Research Chip (Polaris) es un prototipo de procesador de 80 núcleos desarrollado por Intel en 2007. Representa el primer intento público de Intel de crear un procesador a escala de teraflops. El procesador Polaris necesita funcionar a 3,13 GHz y 1 V para mantener su denominación de teraFLOP. En su máximo rendimiento, el procesador es capaz de alcanzar 1,28 teraFLOP. [2]
Single-chip Cloud Computer es otro procesador de investigación desarrollado por Intel en 2009. Este procesador consta de 48 núcleos P54C conectados en una malla 2D de 6x4. [3]
El paralelismo es el concepto de realizar múltiples tareas simultáneamente, reduciendo efectivamente el tiempo necesario para realizar una tarea determinada. El programa de investigación Tera-Scale se centra en el concepto de utilizar muchos más núcleos de lo convencional para aumentar el rendimiento con paralelismo. Basándose en su experiencia previa con el aumento de la cantidad de núcleos en las CPU, duplicar la cantidad de núcleos permitió casi duplicar el rendimiento sin aumentar la energía. Con una mayor cantidad de núcleos, existen posibilidades de mejorar la eficiencia energética, mejorar el rendimiento, extender la vida útil y obtener nuevas capacidades. Los procesadores Tera-Scale mejorarían la eficiencia energética al poder "poner en reposo" los núcleos que no se necesitan en ese momento, al tiempo que podrían mejorar el rendimiento al redistribuir de manera inteligente las cargas de trabajo para garantizar una distribución uniforme de la carga de trabajo en el chip. Los procesadores Tera-Scale también pueden extender la vida útil debido a la posibilidad de tener núcleos de reserva que podrían ponerse en línea cuando falla un núcleo en el procesador. Por último, los procesadores obtendrían nuevas capacidades y funcionalidades, ya que se podrían integrar motores de hardware dedicados, como motores gráficos. [4]
Intel Tera-Scale se centra en la creación de procesadores multinúcleo que puedan utilizar el procesamiento paralelo para alcanzar teraFLOPS de rendimiento informático. Los procesadores actuales constan de núcleos muy complejos; sin embargo, los núcleos actuales están construidos de una manera que dificulta tener más de la cantidad actual de núcleos en las CPU. Como resultado, Intel se centra actualmente en la creación de procesadores Tera-Scale con muchos núcleos en lugar de núcleos de alto rendimiento. Para simplificar los núcleos de la CPU, Intel pasó de las CPU que utilizan la arquitectura x86 a una arquitectura VLIW mucho más simple . VLIW es una arquitectura poco común para computadoras de escritorio, pero es adecuada para computadoras que ejecutan aplicaciones especializadas. Esta arquitectura simplifica el diseño de hardware a costa de aumentar la carga de trabajo del lado del compilador, lo que significa que se debe dedicar más trabajo a la programación. Este inconveniente se compensa con el hecho de que la cantidad de aplicaciones que se ejecutarán en un procesador Tera-Scale es lo suficientemente baja como para que no sea una carga demasiado grande para el lado del software. [2]
Con el lanzamiento del procesador Polaris de 80 núcleos en 2007, la gente se cuestionó la necesidad de decenas o cientos de núcleos. Intel respondió con una categoría de software llamada aplicaciones de reconocimiento, minería y síntesis (RMS), que requieren la potencia computacional de decenas o cientos de núcleos. Las aplicaciones de reconocimiento crean modelos basados en lo que identifican, como la cara de una persona. Las aplicaciones de minería extraen una o más instancias de una gran cantidad de datos. Por último, las aplicaciones de síntesis permiten la predicción y proyección de nuevos entornos. Un ejemplo de dónde son necesarios los procesadores RMS y de escala tera es la creación de resúmenes deportivos. Por lo general, los resúmenes deportivos requieren horas para que una computadora explore cientos de miles de fotogramas de video para encontrar clips de acción cortos que se mostrarán en los resúmenes deportivos. Con el software RMS y un procesador de escala tera, se podrían crear resúmenes deportivos en tiempo real durante los eventos deportivos. [1] Los procesadores Tera-Scale también muestran potencial en el análisis en tiempo real en campos como las finanzas, que requieren un procesador capaz de analizar inmensas cantidades de datos. A partir de la evolución anterior de Intel desde procesadores de un solo núcleo a procesadores de múltiples núcleos, Intel ha aprendido que la paralelización es la clave para una mayor potencia de procesamiento en el futuro. El programa de investigación Intel Tera-Scale no solo se centra en la creación de procesadores de múltiples núcleos, sino también en las aplicaciones de paralelización de hoy y del futuro. Para demostrar su dedicación a todos los aspectos de la computación paralela, Intel reservó 20 millones de dólares para establecer centros que investigarán y desarrollarán nuevos métodos para utilizar la computación paralela en muchas más aplicaciones. [5]
A principios de 2005, Intel se encontró por primera vez con el problema del ancho de banda de la memoria. A medida que se añaden más núcleos, el ancho de banda de la memoria sigue siendo el mismo debido a las restricciones de tamaño, lo que efectivamente crea un cuello de botella en la CPU. Pudieron superar el problema mediante un proceso llamado apilamiento de matrices. Este es un proceso en el que la matriz de la CPU , la memoria flash y la DRAM se apilan una sobre otra, lo que aumenta significativamente los posibles anchos de bus de memoria. [2] Otro desafío que Intel encontró fueron las limitaciones físicas de los buses eléctricos. Un ancho de banda de bus es la conexión de la CPU con el mundo exterior y con el ancho de banda de bus actual, no podría seguir el ritmo del rendimiento de teraFLOP resultante de los procesadores de escala tera. La investigación de Intel en fotónica de silicio ha producido un bus óptico funcional que puede ofrecer una velocidad de señalización y una eficiencia energética superiores en comparación con los buses actuales. Estos buses ópticos son una solución ideal para la limitación del ancho de banda de bus para los procesadores de escala tera. [2]