El UltraSPARC T1 ( con nombre en código " Niagara ") es una CPU multinúcleo y subprocesos múltiples lanzada por Sun Microsystems en 2005. Diseñada para reducir el consumo de energía de las computadoras servidor , la CPU generalmente usa 72 W de potencia a 1,4 GHz.
El T1 es una implementación de microprocesador SPARC totalmente nueva que cumple con la especificación UltraSPARC Architecture 2005 [1] y ejecuta el conjunto completo de instrucciones SPARC V9 . Sun ha producido dos procesadores multinúcleo anteriores ( UltraSPARC IV y IV+), pero UltraSPARC T1 fue su primer microprocesador multinúcleo y multiproceso. La seguridad se incorporó desde la primera versión del silicio, con unidades criptográficas de hardware en el T1, a diferencia de los procesadores de uso general de los proveedores competidores de la época. El procesador está disponible con cuatro, seis u ocho núcleos de CPU, cada núcleo capaz de manejar cuatro subprocesos al mismo tiempo. Por tanto, el procesador es capaz de procesar hasta 32 subprocesos simultáneamente.
El UltraSPARC T1 se puede particionar de forma similar a los sistemas Sun SMP de gama alta . Por lo tanto, se pueden particionar varios núcleos para ejecutar uno o un grupo de procesos y/o subprocesos, mientras que los otros núcleos se ocupan del resto de los procesos del sistema.
Afara Websystems fue pionera en un diseño SPARC radical con muchos hilos. Sun compró la empresa y la propiedad intelectual se convirtió en la base de la línea de procesadores CoolThreads, comenzando con el T1.
El UltraSPARC T1 fue diseñado desde cero como un procesador multiproceso de propósito especial y, por lo tanto, introdujo una arquitectura completamente nueva para obtener rendimiento. En lugar de intentar que cada núcleo sea lo más inteligente y optimizado posible, el objetivo de Sun era ejecutar tantos subprocesos simultáneos como fuera posible y maximizar la utilización de la canalización de cada núcleo. Los núcleos del T1 son menos complejos que los de los procesadores de la competencia para permitir que quepan 8 núcleos en el mismo troquel. Los núcleos no presentan ejecución desordenada ni una cantidad considerable de caché .
Los procesadores de un solo subproceso dependen en gran medida de cachés grandes para su rendimiento porque los errores de caché provocan una espera mientras se recuperan los datos de la memoria principal. Al aumentar el tamaño del caché, se reduce la probabilidad de que se produzca un error en el caché, pero el impacto de un error sigue siendo el mismo.
Los núcleos T1 evitan en gran medida el problema de los errores de caché debido al subproceso múltiple. Cada núcleo es un procesador de barril , lo que significa que cambia entre los subprocesos disponibles en cada ciclo. Cuando se produce un evento de latencia prolongada, como una pérdida de caché, el subproceso queda fuera de rotación mientras los datos se recuperan en la caché en segundo plano. Una vez que se completa el evento de latencia larga, el hilo vuelve a estar disponible para su ejecución. Compartir la canalización entre varios subprocesos puede hacer que cada subproceso sea más lento, pero el rendimiento (y la utilización) general de cada núcleo es mucho mayor. También significa que el impacto de los errores de caché se reduce considerablemente y el T1 puede mantener un alto rendimiento con una cantidad menor de caché. El caché ya no necesita ser lo suficientemente grande como para contener todo o la mayor parte del "conjunto de trabajo", solo los errores recientes de caché de cada subproceso.
Los puntos de referencia demuestran que este enfoque ha funcionado muy bien en cargas de trabajo comerciales (enteras) de subprocesos múltiples, como servidores de aplicaciones Java , servidores de aplicaciones de planificación de recursos empresariales (ERP), servidores de correo electrónico (como Lotus Domino ) y servidores web. Estos puntos de referencia sugieren que cada núcleo del UltraSPARC T1 es más potente que el UltraSPARC III de un solo núcleo y un solo subproceso de alrededor de 2001 y, en una comparación de chip a chip, supera significativamente a otros procesadores en cargas de trabajo de enteros multiproceso. [ cita necesaria ]
El UltraSPARC T1 contiene 279 millones de transistores y tiene un área de 378 mm 2 . Fue fabricado por Texas Instruments (TI) en su proceso de semiconductor complementario de óxido de metal (CMOS) de 90 nm con nueve niveles de interconexión de cobre . [2] Cada núcleo tiene caché de instrucciones L1 de 16 KB y caché de datos de 8 KB. La caché L2 es de 3 MB y no hay caché L3.
El procesador T1 se puede encontrar en los siguientes productos de Sun y Fujitsu Computer Systems :
El microprocesador UltraSPARC T1 es único en sus fortalezas y debilidades y, como tal, está dirigido a mercados específicos. En lugar de usarse para aplicaciones de alto rendimiento y cálculo numérico de alta gama, el chip está dirigido a servidores de alta demanda orientados a la red, como servidores web de alto tráfico y aplicaciones Java, ERP y CRM de nivel medio. servidores, que a menudo utilizan una gran cantidad de subprocesos separados. Una de las limitaciones del diseño del T1 es que se comparte una única unidad de punto flotante (FPU) entre los 8 núcleos, lo que hace que el T1 no sea adecuado para aplicaciones que realizan muchas matemáticas de punto flotante. Sin embargo, dado que los mercados a los que se dirige el procesador no suelen hacer mucho uso de operaciones de punto flotante, Sun no esperaba que esto fuera un problema. Sun proporciona una herramienta para analizar el nivel de paralelismo de una aplicación y el uso de instrucciones de punto flotante para determinar si es adecuada para su uso en una plataforma T1 o T2. [3]
Además del procesamiento de niveles web y de aplicaciones, UltraSPARC T1 puede ser adecuado para aplicaciones de bases de datos más pequeñas que tienen un gran número de usuarios. Un cliente publicó resultados que muestran que una aplicación MySQL que se ejecuta en un servidor UltraSPARC T1 funciona 13,5 veces más rápido que en un servidor AMD Opteron. [4]
T1 es el primer procesador SPARC que admite el modo de ejecución Hyper-Privileged. El hipervisor SPARC se ejecuta en este modo y puede dividir un sistema T1 en 32 dominios lógicos , cada uno de los cuales puede ejecutar una instancia del sistema operativo.
Actualmente [ ¿cuándo? ] , Solaris , Linux , NetBSD y OpenBSD son compatibles.
Tradicionalmente, los paquetes de software comerciales como Oracle Database cobran a sus clientes en función de la cantidad de procesadores en los que se ejecuta el software. A principios de 2006, Oracle cambió el modelo de licencia introduciendo el factor de procesador . Con un factor de procesador de 0,25 para el T1, un T2000 de 8 núcleos requiere sólo una licencia de 2 CPU. [5]
Desde entonces , la "Tabla de factores centrales del procesador Oracle" [6] se ha actualizado periódicamente a medida que llegan nuevas CPU al mercado.
En el tercer trimestre de 2006, IBM introdujo el concepto de fijación de precios por unidad de valor (VU). Cada núcleo de T1 tiene 30 PVU (cada núcleo T2 tiene 50 PVU y T3 tiene 70 PVU) en lugar del valor predeterminado de 100 PVU por núcleo. [7]
El T1 solo ofrecía una única unidad de punto flotante para compartir con los 8 núcleos, lo que limitaba el uso en entornos HPC. Esta debilidad se mitigó con el siguiente procesador UltraSPARC T2 , que incluía 8 unidades de punto flotante, así como otras características adicionales.
Además, el T1 solo estaba disponible en sistemas monoprocesador, lo que limitaba la escalabilidad vertical en entornos empresariales grandes. Esta debilidad se mitigó con el siguiente UltraSPARC T2 Plus , [8] así como con el SPARC T3 y SPARC T4 de próxima generación . UltraSPARC T2+, SPARC T3 y SPARC T4 ofrecen configuraciones de enchufe único, doble y cuádruple.
El T1 tenía un rendimiento excepcional con una gran cantidad de subprocesos admitidos por el procesador, pero las aplicaciones más antiguas cargadas con cuellos de botella de un solo subproceso ocasionalmente mostraban un rendimiento general deficiente. La debilidad de las aplicaciones de subproceso único se mitigó con el siguiente procesador SPARC T4 . El número de núcleos T4 se redujo a 8 (de 16 en el T3), los núcleos se hicieron más complejos, la velocidad del reloj casi se duplicó, todo lo cual contribuyó a un rendimiento de un solo subproceso más rápido (aumento de 300 % a 500 % con respecto a las generaciones anteriores). [9] Se hizo un esfuerzo adicional para agregar la "API de subprocesos críticos", donde el sistema operativo detectaría un cuello de botella y asignaría temporalmente los recursos de un núcleo completo, en lugar de 1 (de 8) subprocesos, a los procesos de aplicación específicos que exhiben comportamiento vinculado a la CPU de un solo subproceso. [10] Esto permitió al T4 mitigar de manera única los cuellos de botella de un solo subproceso, sin tener que comprometer la arquitectura general para lograr un rendimiento masivo de múltiples subprocesos.
Aprovechar la enorme cantidad de paralelismo a nivel de subprocesos (TLP) disponible en la plataforma CoolThreads puede requerir técnicas de desarrollo de aplicaciones diferentes a las de las plataformas de servidor tradicionales. Usar TLP en aplicaciones es clave para conseguir un buen rendimiento. Sun ha publicado varios Sun BluePrints para ayudar a los programadores de aplicaciones a desarrollar e implementar software en servidores CoolThreads basados en T1 o T2. El artículo principal, Ajuste de aplicaciones en sistemas multiproceso de chip UltraSPARC T1 , [11] aborda cuestiones para programadores de aplicaciones generales. También hay un artículo de BluePrints sobre el uso de unidades aceleradoras criptográficas en los procesadores T1 y T2. [12]
Se optimizó una amplia gama de aplicaciones en la plataforma CoolThreads, incluidas Symantec Brightmail AntiSpam, [13] las aplicaciones Siebel de Oracle , [14] y Sun Java System Web Proxy Server . [15] Sun también documentó su experiencia al trasladar su propia tienda en línea a un clúster de servidores T2000, [16] y publicó dos artículos sobre consolidación web en CoolThreads utilizando Solaris Containers . [17] [18]
Sun tenía una página de ajuste del rendimiento de las aplicaciones para una variedad de aplicaciones de código abierto , incluidas MySQL , PHP , gzip e ImageMagick . [19] La optimización adecuada para los sistemas CoolThreads puede generar ganancias significativas: cuando se usa el compilador Sun Studio con la configuración de optimización recomendada, el rendimiento de MySQL mejora en un 268% en comparación con el uso solo del indicador -O3 .
La arquitectura "Coolthreads(TM)", comenzando con el UltraSPARC T1 (con sus aspectos positivos y negativos), fue ciertamente influyente en los diseños actuales y futuros de los procesadores SPARC.
El UltraSPARC T1 original fue diseñado para sistemas de una sola CPU y no es compatible con SMP. "Rock" era un proyecto más ambicioso, destinado a soportar arquitecturas de servidores de múltiples chips, dirigido a cargas de trabajo tradicionales orientadas a datos, como las bases de datos. Fue visto más como una continuación de los procesadores SMP de Sun, como UltraSPARC IV , en lugar de un reemplazo para UltraSPARC T1 o T2, pero fue cancelado en el período de adquisición de Sun por parte de Oracle .
Anteriormente conocido con el nombre en clave Niagara 2 , el sucesor del UltraSPARC T1, el T2 proporciona ocho núcleos. A diferencia del T1, cada núcleo admite 8 subprocesos por núcleo, una FPU por núcleo, una unidad criptográfica mejorada por núcleo y controladores de red Ethernet de 10 Gigabit integrados en la CPU.
En febrero de 2007, Sun anunció en su cumbre anual de analistas que su diseño de subprocesos múltiples simultáneos de tercera generación , con el nombre en código Victoria Falls , se grabó en octubre de 2006. Un servidor de dos sockets (2 RU ) tendrá 128 subprocesos, 16 núcleos, y una mejora de rendimiento 65 veces superior a UltraSPARC III. [8]
En la conferencia Hot Chips 19, Sun anunció que Victoria Falls estará en servidores de dos y cuatro vías. Por lo tanto, un único servidor SMP de 4 vías admitirá 256 subprocesos de hardware simultáneos. [20]
En abril de 2008, Sun lanzó los servidores bidireccionales UltraSPARC T2 Plus, SPARC Enterprise T5140 y T5240.
En octubre de 2008, Sun lanzó el servidor UltraSPARC T2 Plus SPARC Enterprise T5440 de 4 vías. [21]
En octubre de 2006, Sun reveló que Niagara 3 se construiría con un proceso de 45 nm. [ cita necesaria ] The Register informó en junio de 2008 que el microprocesador tendrá 16 núcleos, sugiriendo incorrectamente que cada núcleo tendría 16 subprocesos. Durante la conferencia Hot Chips 21, Sun reveló que el chip tiene un total de 16 núcleos y 128 subprocesos. [22] [23] Según la presentación de la ISSCC 2010:
"Un procesador SPARC SoC de 16 núcleos permite hasta 512 subprocesos en un sistema sin pegamento de 4 vías para maximizar el rendimiento. La caché L2 de 6 MB de 461 GB/s y la E/S SerDes de 308 pines de 2,4 Tb/s admiten la ancho de banda requerido. Seis dominios de reloj y cuatro de voltaje, así como técnicas de circuito y administración de energía, optimizan el rendimiento, la potencia, la variabilidad y las compensaciones de rendimiento en el troquel de 377 mm 2 ". [24]
La CPU T4 se lanzó a finales de 2011. La nueva CPU T4 pasará de 16 núcleos (en el T3) a 8 núcleos (como se usa en el T1, T2 y T2+). El nuevo diseño del núcleo T4 (llamado "S3") presenta un rendimiento mejorado por subproceso, debido a la introducción de la ejecución fuera de orden, además de tener un rendimiento mejorado adicional para programas de un solo subproceso. [25] [26]
En 2010, Larry Ellison anunció que Oracle ofrecerá Oracle Linux en la plataforma UltraSPARC, y estaba previsto que el puerto estuviera disponible en los plazos T4 y T5. [27]
John Fowler, vicepresidente ejecutivo de sistemas de Oracle, en Openworld 2014 dijo que Linux podrá ejecutarse en Sparc en algún momento. [28] [29] [30] [31]
La nueva CPU T5 cuenta con 128 subprocesos en 16 núcleos y está fabricada con tecnología de 28 nanómetros.
El 21 de marzo de 2006, Sun puso a disposición el diseño del procesador UltraSPARC T1 bajo la Licencia Pública General GNU a través del proyecto OpenSPARC . [32] La información publicada incluye:
{{cite web}}
: Mantenimiento CS1: URL no apta ( enlace )