UltraSPARC T1

Sun Microsystems' El microprocesador UltraSPARC T1, conocido hasta su anuncio del 14 de noviembre de 2005 por su nombre clave de desarrollo "Niagara", es una CPU multinúcleo y subprocesos múltiples. Diseñada para reducir el consumo de energía de los servidores, la CPU normalmente utiliza 72 W de potencia a 1,4 GHz.
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 T1 es una implementación de microprocesador SPARC nueva desde cero que cumple con la especificación UltraSPARC Architecture 2005 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 que es 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.
Núcleos

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 pierda un caché, pero el impacto de un fallo 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 se retira de la 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 de caché recientes de cada subproceso.
Los puntos de referencia demuestran que este enfoque ha funcionado muy bien en cargas de trabajo comerciales (enteras) y multiproceso, 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.
Características físicas
El UltraSPARC T1 contiene 279 millones de transistores y tiene un área de 378 mm2. Fue fabricado por Texas Instruments (TI) en su proceso de semiconductor de óxido de metal complementario (CMOS) de 90 nm con nueve niveles de interconexión de cobre. 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.
Sistemas

El procesador T1 se puede encontrar en los siguientes productos de Sun y Fujitsu Computer Systems:
- Sun/Fujitsu/Fujitsu Siemens SPARC Servidores Enterprise T1000 y T2000
- Servidores Sun Fire T1000 y T2000
- Sun Netra T2000 Servidor
- Sun Netra CP3060 Blade
- Sun Blade T6300 Módulo servidor
Mercado objetivo
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 previstos para 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.
Además del procesamiento a nivel de aplicaciones y web, 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.
Virtualización
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, se admiten Solaris, Linux, NetBSD y OpenBSD.
Problemas de licencia de software
Tradicionalmente, los paquetes de software comerciales como Oracle Database cobran a sus clientes en función del número 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.
La "Tabla de factores centrales del procesador Oracle" Desde entonces, 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.
Debilidades
El T1 solo ofrecía una única unidad de punto flotante para ser compartida por los 8 núcleos, lo que limita 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, 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). 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 la aplicación de destino. procesos que exhiben un comportamiento vinculado a la CPU de un solo subproceso. 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.
Ajuste de aplicaciones
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 una serie de 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, 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.
Estudios de casos
Se optimizó una amplia gama de aplicaciones en la plataforma CoolThreads, incluidas Symantec Brightmail AntiSpam, las aplicaciones Siebel de Oracle y Sun Java System Web Proxy Server. Sun también documentó su experiencia al trasladar su propia tienda en línea a un clúster de servidores T2000 y publicó dos artículos sobre consolidación web en CoolThreads utilizando Solaris Containers.
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. 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.
Diseños contemporáneos y posteriores
La aplicación "Coolthreads(TM)" La arquitectura, 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.
"Roca"
El UltraSPARC T1 original fue diseñado para sistemas de una sola CPU y no es compatible con SMP. "Roca" Era un proyecto más ambicioso, destinado a admitir 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, que como un reemplazo de UltraSPARC T1 o T2, pero fue cancelado en el plazo de la adquisición de Sun por parte de Oracle.
UltraSPARC T2
Anteriormente conocido con el nombre 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.
UltraSPARC T2 Plus
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.
En la conferencia Hot Chips 19, Sun anunció que Victoria Falls estará en servidores de dos y cuatro vías. Por tanto, un único servidor SMP de 4 vías admitirá 256 subprocesos de hardware simultáneos.
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.
SPARC T3
En octubre de 2006, Sun reveló que Niagara 3 se construiría con un proceso de 45 nm. 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. Según la presentación de la ISSCC 2010:
"A 16-core SPARC El procesador SoC permite hasta 512 hilos en un sistema sin cola de 4 vías a maximizar el rendimiento. El caché de 6 MB L2 de 461GB/s y el 308-pin SerDes I/O de 2.4Tb/s apoya el ancho de banda requerido. Seis dominios de reloj y cuatro voltaje, así como potencia técnicas de gestión y circuito, optimización de rendimiento, potencia, variabilidad y rentabilidad a través de 377mm2 morir."
SPARC T4
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.
En 2010, Larry Ellison anunció que Oracle ofrecerá Oracle Linux en la plataforma UltraSPARC, y estaba previsto que el puerto estuviera disponible en el plazo T4 y T5.
John Fowler, vicepresidente ejecutivo de sistemas de Oracle, en Openworld 2014 dijo que Linux podrá ejecutarse en Sparc en algún momento.
SPARC T5
La nueva CPU T5 cuenta con 128 subprocesos en 16 núcleos y está fabricada con una tecnología de 28 nanómetros.
Diseño abierto
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. La información publicada incluye:
- Código fuente Verilog del diseño UltraSPARC T1;
- Verification suite and simulation models;
- ISA specification (UltraSPARC Architecture 2005);
- Las imágenes de simulación Solaris 10 OS.