
El UltraSPARC T1 ( nombre en clave " Niagara ") es una CPU multinúcleo y multihilo lanzada por Sun Microsystems en 2005. Diseñada para reducir el consumo de energía de los servidores , la CPU suele consumir 72 W de potencia a 1,4 GHz.
El T1 es una implementación de microprocesador SPARC completamente nueva que cumple con la especificación UltraSPARC Architecture 2005 [ 1 ] y ejecuta el conjunto completo de instrucciones SPARC V9 . Sun había producido dos procesadores multinúcleo anteriores ( UltraSPARC IV y IV+), pero UltraSPARC T1 fue su primer microprocesador multinúcleo y multihilo. La seguridad se integró desde el primer lanzamiento en silicio, con unidades criptográficas de hardware en el T1, a diferencia de los procesadores de propósito general de los proveedores de la competencia de la época. El procesador está disponible con cuatro, seis u ocho núcleos de CPU, cada núcleo capaz de manejar cuatro hilos simultáneamente. Por lo tanto, el procesador es capaz de procesar hasta 32 hilos simultáneamente.
El UltraSPARC T1 se puede particionar de forma similar a los sistemas Sun SMP de gama alta . De este modo, varios núcleos se pueden asignar para ejecutar uno o varios procesos o hilos, mientras que los demás núcleos se encargan del resto de los procesos del sistema.
Historial de producción
Afara Websystems fue pionera en un diseño SPARC radicalmente basado en hilos de ejecución. La empresa fue adquirida por Sun, y su propiedad intelectual se convirtió en la base de la línea de procesadores CoolThreads, comenzando con el T1.
Núcleos


El UltraSPARC T1 fue diseñado desde cero como un procesador multihilo de propósito especial, introduciendo así una arquitectura completamente nueva para obtener rendimiento. En lugar de intentar que cada núcleo fuera lo más inteligente y optimizado posible, el objetivo de Sun era ejecutar la mayor cantidad de hilos concurrentes posible y maximizar la utilización de la tubería de cada núcleo. Los núcleos del T1 son menos complejos que los de los procesadores de la competencia para permitir que ocho núcleos quepan en el mismo chip. Los núcleos no cuentan con ejecución fuera de orden ni con una cantidad considerable de caché .
Los procesadores de un solo hilo dependen en gran medida de cachés grandes para su rendimiento, ya que los fallos de caché provocan una espera mientras se recuperan los datos de la memoria principal. Al aumentar el tamaño de la caché, se reduce la probabilidad de un fallo, pero el impacto de dicho fallo sigue siendo el mismo.
Los núcleos T1 evitan en gran medida el problema de los fallos de caché mediante el uso de multihilo. Cada núcleo es un procesador de barril , lo que significa que alterna entre los hilos disponibles en cada ciclo. Cuando se produce un evento de larga latencia, como un fallo de caché, el hilo se retira de la rotación mientras se recuperan los datos en la caché en segundo plano. Una vez que finaliza el evento de larga latencia, el hilo vuelve a estar disponible para su ejecución. Compartir la canalización entre varios hilos puede ralentizar cada hilo individualmente, pero el rendimiento general (y la utilización) de cada núcleo es mucho mayor. Esto también significa que el impacto de los fallos de caché se reduce considerablemente, y el T1 puede mantener un alto rendimiento con una menor cantidad de caché. La caché ya no necesita ser lo suficientemente grande como para almacenar todo o la mayor parte del "conjunto de trabajo", sino solo los fallos de caché recientes de cada hilo.
Las pruebas de rendimiento demuestran que este enfoque ha funcionado muy bien en cargas de trabajo comerciales (enteras) multihilo, 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. Estas pruebas sugieren que cada núcleo del UltraSPARC T1 es más potente que el UltraSPARC III de un solo núcleo y un solo hilo de alrededor de 2001, y, en una comparación directa entre chips, supera significativamente a otros procesadores en cargas de trabajo enteras multihilo.
Características físicas
El UltraSPARC T1 contiene 279 millones de transistores y tiene un área de 378 mm² . Fue fabricado por Texas Instruments (TI) en su proceso CMOS ( semiconductor complementario de óxido metálico ) de 90 nm con nueve niveles de interconexión de cobre . [ 2 ] Cada núcleo tiene una caché de instrucciones L1 de 16 KB y una 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 :
- Servidores Sun/Fujitsu/ Fujitsu Siemens SPARC Enterprise T1000 y T2000
- Servidores Sun Fire T1000 y T2000
- Servidor Sun Netra T2000
- Cuchilla Sun Netra CP3060
- Módulo de servidor Sun Blade T6300
Mercado objetivo
El microprocesador UltraSPARC T1 es único en sus fortalezas y debilidades, y por ello está dirigido a mercados específicos. En lugar de utilizarse para cálculos complejos y aplicaciones de altísimo rendimiento, el chip está diseñado para servidores de alta demanda orientados a la red, como servidores web de alto tráfico y servidores de aplicaciones Java, ERP y CRM de nivel medio, que suelen utilizar un gran número de hilos independientes. Una de las limitaciones del diseño del T1 es que una única unidad de punto flotante (FPU) se comparte entre los 8 núcleos, lo que lo hace inadecuado para aplicaciones que realizan muchos cálculos de punto flotante. Sin embargo, dado que los mercados a los que está dirigido el procesador no suelen hacer un uso intensivo de operaciones de punto flotante, Sun no preveía que esto supusiera 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 la capa web y de aplicaciones, el UltraSPARC T1 puede ser muy adecuado para aplicaciones de bases de datos más pequeñas con un gran número de usuarios. Un cliente ha publicado resultados que muestran que una aplicación MySQL que se ejecuta en un servidor UltraSPARC T1 funcionó 13,5 veces más rápido que en un servidor AMD Opteron. [ 4 ]
Virtualización
El T1 es el primer procesador SPARC que admite el modo de ejecución hiperprivilegiado. El hipervisor SPARC se ejecuta en este modo y puede particionar 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 licencias de software
Tradicionalmente, las suites 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 licenciamiento al introducir el factor de procesador . Con un factor de procesador de 0,25 para el T1, un T2000 de 8 núcleos requiere solo una licencia de 2 CPU. [ 5 ]
La "Tabla de factores de núcleos de procesadores Oracle" [ 6 ] se ha actualizado periódicamente a medida que salían al mercado nuevas CPU.
En el tercer trimestre de 2006, IBM introdujo el concepto de precios por unidad de valor (VU). Cada núcleo del T1 tiene un valor de 30 PVU (cada núcleo del T2 tiene un valor de 50 PVU y el T3 tiene un valor de 70 PVU) en lugar del valor predeterminado de 100 PVU por núcleo. [ 7 ]
Debilidades
El T1 solo ofrecía una unidad de coma flotante compartida por los 8 núcleos, lo que limitaba su uso en entornos de computación de alto rendimiento (HPC). Esta limitación se subsanó con el procesador UltraSPARC T2 , que incorporó 8 unidades de coma flotante, además de otras características adicionales.
Además, el T1 solo estaba disponible en sistemas monoprocesador, lo que limitaba la escalabilidad vertical en grandes entornos empresariales. Esta debilidad se mitigó con el UltraSPARC T2 Plus [ 8 ] , así como con las generaciones posteriores SPARC T3 y SPARC T4 . Los UltraSPARC T2+, SPARC T3 y SPARC T4 ofrecen configuraciones de uno, dos y cuatro sockets.
El T1 tenía un rendimiento excepcional con una gran cantidad de hilos soportados por el procesador, pero las aplicaciones más antiguas sobrecargadas con cuellos de botella de un solo hilo exhibían ocasionalmente un rendimiento general deficiente. La debilidad de las aplicaciones de un solo hilo se mitigó con el procesador SPARC T4 sucesor . El número de núcleos del T4 se redujo a 8 (desde 16 en el T3), los núcleos se hicieron más complejos, la frecuencia de reloj se casi duplicó , todo lo cual contribuyó a un rendimiento de un solo hilo más rápido (aumento del 300% al 500% con respecto a las generaciones anteriores). [ 9 ] Se hizo un esfuerzo adicional para agregar la "API de hilo crítico", 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) hilos, a los procesos de aplicación objetivo que exhibían un comportamiento limitado por la CPU de un solo hilo. [ 10 ] Esto permitió que el T4 mitigara de forma única los cuellos de botella de un solo hilo, sin tener que comprometer la arquitectura general para lograr un rendimiento masivo de múltiples hilos.
Ajuste de la aplicación
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 servidores tradicionales. El uso de TLP en las aplicaciones es clave para obtener 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, " Optimización de aplicaciones en sistemas multihilo con chip UltraSPARC T1" [ 11 ] , aborda cuestiones de interés para programadores de aplicaciones en general. También existe un artículo de BluePrints sobre el uso de las unidades aceleradoras criptográficas en los procesadores T1 y T2 [ 12 ] .
Estudios de caso
Se optimizó una amplia gama de aplicaciones en la plataforma CoolThreads, incluyendo Symantec Brightmail AntiSpam, [ 13 ] las aplicaciones Siebel de Oracle , [ 14 ] y el servidor proxy web Sun Java System . [ 15 ] Sun también documentó su experiencia al trasladar su propia tienda en línea a un clúster de servidores T2000, [ 16 ] y ha publicado dos artículos sobre consolidación web en CoolThreads usando Solaris Containers . [ 17 ] [ 18 ]
Sun tenía una página de optimización del rendimiento de aplicaciones para una variedad de aplicaciones de código abierto , incluidas MySQL , PHP , gzip e ImageMagick . [ 19 ] La optimización adecuada para sistemas CoolThreads puede resultar en 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 de solo la bandera -O3 .
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 de GNU a través del proyecto OpenSPARC . [ 20 ] La información publicada incluye:
- Código fuente Verilog del diseño UltraSPARC T1;
- Conjunto de herramientas de verificación y modelos de simulación;
- Especificación ISA (Arquitectura UltraSPARC 2005);
- Imágenes de simulación del sistema operativo Solaris 10 .
Diseños contemporáneos y posteriores
La arquitectura "Coolthreads™", que comenzó con el UltraSPARC T1 (con sus aspectos positivos y negativos), influyó sin duda en los diseños actuales y futuros de los procesadores SPARC.
"Roca"
El UltraSPARC T1 original fue diseñado únicamente para sistemas de una sola CPU y no es compatible con SMP. "Rock" fue un proyecto más ambicioso, destinado a soportar arquitecturas de servidores multichip y dirigido a cargas de trabajo tradicionales orientadas a datos, como bases de datos. Se consideró más una continuación de los procesadores SMP de Sun, como el UltraSPARC IV , que un reemplazo para el UltraSPARC T1 o T2, pero fue cancelado durante la adquisición de Sun por parte de Oracle .
UltraSPARC T2
Anteriormente conocido con el nombre en clave Niagara 2 , el sucesor del UltraSPARC T1, el T2 ofrece ocho núcleos. A diferencia del T1, cada núcleo admite 8 hilos, una unidad de punto flotante (FPU), una unidad criptográfica mejorada 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 multihilo simultáneo de tercera generación , con nombre en clave Victoria Falls , se había completado en octubre de 2006. Un servidor de dos sockets (2 RU ) tendrá 128 hilos, 16 núcleos y una mejora de rendimiento de 65 veces con respecto a UltraSPARC III. [ 8 ]
En la conferencia Hot Chips 19, Sun anunció que Victoria Falls estará disponible en servidores de dos y cuatro vías. Por lo tanto, un único servidor SMP de cuatro vías admitirá 256 subprocesos de hardware concurrentes. [ 21 ]
En abril de 2008, Sun lanzó los servidores UltraSPARC T2 Plus de dos vías, los SPARC Enterprise T5140 y T5240.
En octubre de 2008, Sun lanzó el servidor UltraSPARC T2 Plus SPARC Enterprise T5440 de 4 vías. [ 22 ]
SPARC T3
En octubre de 2006, Sun reveló que Niagara 3 se fabricaría con un proceso de 45 nm. The Register informó en junio de 2008 que el microprocesador tendría 16 núcleos, sugiriendo erróneamente que cada núcleo tendría 16 hilos. Durante la conferencia Hot Chips 21, Sun reveló que el chip tiene un total de 16 núcleos y 128 hilos. [ 23 ] [ 24 ] Según la presentación de ISSCC 2010:
"Un procesador SPARC SoC de 16 núcleos permite hasta 512 hilos en un sistema sin adhesivos de 4 vías para maximizar el rendimiento. La caché L2 de 6 MB con una velocidad de 461 GB/s y la E/S SerDes de 308 pines con una velocidad de 2,4 Tb/s soportan el ancho de banda requerido. Seis dominios de reloj y cuatro de voltaje, así como la gestión de energía y las técnicas de circuitos, optimizan el rendimiento, el consumo de energía, la variabilidad y las compensaciones de rendimiento en el chip de 377 mm² . " [ 25 ]
SPARC T4
La CPU T4 se lanzó a finales de 2011. La nueva CPU T4 pasará de 16 núcleos (en la T3) a 8 núcleos (como en las T1, T2 y T2+). El nuevo diseño de núcleo T4 (denominado "S3") ofrece un rendimiento mejorado por hilo, gracias a la introducción de la ejecución fuera de orden, además de un rendimiento mejorado adicional para programas de un solo hilo. [ 26 ] [ 27 ]
En 2010, Larry Ellison anunció que Oracle ofrecería Oracle Linux en la plataforma UltraSPARC, y se programó que el puerto estaría disponible en el período T4 y T5. [ 28 ]
John Fowler, vicepresidente ejecutivo de sistemas de Oracle, dijo en Openworld 2014 que Linux podrá ejecutarse en Sparc en algún momento. [ 29 ] [ 30 ] [ 31 ] [ 32 ]
SPARC T5
La nueva CPU T5 cuenta con 128 hilos distribuidos en 16 núcleos y está fabricada con tecnología de 28 nanómetros.
Referencias
- ↑ "OpenSPARC T1" . SunSource.net . Sun Microsystems. 2006. Archivado del original el 21 de abril de 2006. Consultado el 3 de agosto de 2024 .
- ↑ McGhan, Harlan (6 de noviembre de 2006). "Niagara 2 abre las compuertas". Microprocessor Report .
- ↑ "cooltst: Cool Threads Selection Tool" . Blog de caracterización de carga de trabajo . Sun Microsystems . 6 de abril de 2006. Archivado del original el 26 de diciembre de 2014. Consultado el 30 de mayo de 2008 .
- ↑ Thomas Rampelberg; Jason JW Williams (09-05-2006). "Cruisin' with a T2k" (PDF) . DigiTar. pág. 6. Consultado el 07-02-2007 .
- ↑ "Procesadores multinúcleo: Impacto en el licenciamiento de procesadores de Oracle" (PDF) . Oracle. Archivado del original (PDF) el 20 de marzo de 2007. Consultado el 12 de agosto de 2007 .
- ↑ "Tabla de factores del núcleo del procesador Oracle" (PDF) . Oracle . Consultado el 8 de septiembre de 2011 .
- ↑ "Licencias por unidad de valor del procesador para software distribuido" . IBM . Consultado el 15 de junio de 2011 .
- 1 2 Fowler, John (6 de febrero de 2007). "Crecimiento por diseño" (PDF) . Sun Microsystems . pág. 21. Recuperado el 7 de febrero de 2007 .
- ↑ "Chip Sparc T4 de Oracle: ¿Pagarás la prima de Larry?" . The Register . Consultado el 21 de junio de 2012 .
- ↑ "Conversaciones con innovadores de Oracle" . Oracle . Consultado el 21 de junio de 2012 .
- ↑ "Desarrollo y optimización de aplicaciones en sistemas multihilo con chip UltraSPARC T1" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Uso de los aceleradores criptográficos en los procesadores UltraSPARC T1 y T2" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Optimización de Symantec Brightmail AntiSpam en servidores con procesadores UltraSPARC T1 y T2" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Optimización de las aplicaciones Siebel de Oracle en servidores Sun Fire con tecnología CoolThreads" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Solución de proxy web de alto rendimiento y confiable de Sun" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Consolidación de Sun Store en servidores Sun Fire T2000" (PDF) . Sun BluePrints Online . Sun Microsystems. Octubre de 2007. Consultado el 9 de enero de 2008 .
- ↑ "Implementación de Sun Java Enterprise System 2005-Q4 en el servidor Sun Fire T2000 mediante contenedores Solaris" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Consolidación web en Sun Fire T1000 usando contenedores Solaris" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Ajuste del rendimiento de la aplicación" . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ↑ "Open SPARC T1" . oracle.com . Consultado el 16 de enero de 2021 .
- ↑ Stephen, Phillips (21 de agosto de 2007). "Victoria Falls: Escalado de núcleos de procesadores con muchos subprocesos" (PDF) . Sun Microsystems . pág. 24. Consultado el 24 de agosto de 2007 .
- ↑ "El servidor SPARC Enterprise T5440 de Sun y Fujitsu redefine la informática empresarial de gama media con precios líderes en la industria, gestión de energía y múltiples récords mundiales de rendimiento" . Sun Microsystems . 13 de octubre de 2008. Consultado el 13 de octubre de 2008 .
- ↑ Sanjay Patel, Stephen Phillips y Allan Strong. " Procesador multihilo de próxima generación de Sun - Rainbow Falls: Procesador CMT de próxima generación de Sun Archivado el 23/07/2011 en Wayback Machine ". HOT CHIPS 21 .
- ↑ Stokes, Jon (9 de febrero de 2010). " Dos bestias de mil millones de transistores: POWER7 y Niagara 3 ". Ars Technica .
- ↑ J. Shin, K. Tam, D. Huang, B. Petrick, H. Pham, C. Hwang, H. Li, A. Smith, T. Johnson, F. Schumacher, D. Greenhill, A. Leon, A. Strong. "Un procesador SoC CMT SPARC de 40 nm, 16 núcleos y 128 hilos". ISSCC 2010 .
- ↑ "Chip SPARC T4 de Oracle: ¿Pagarás la prima de Larry?" . The Register .
- ↑ Sean Gallagher (28 de septiembre de 2011), "SPARC T4 parece ser lo suficientemente bueno como para evitar las deserciones a x86 y Linux" , arstechnica.com , Ars Technica
- ↑ Niccolai, James. "Ellison: Oracle Enterprise Linux llega a Sparc" . PCWorld. Archivado del original el 1 de septiembre de 2012. Consultado el 9 de junio de 2011 .
- ↑ "Oracle afirma que el chip Sparc M7 acabará con Heartbleed" . The Inquirer. Archivado del original el 3 de octubre de 2014.
- ↑ "parches de binutils" . binutils ml.
- ↑ "parches del kernel de Linux" . sparc linux ml.
- ↑ "parches de libc" . libc ml.
Enlaces externos
- OpenSPARC T1 y sus especificaciones
- Descripción general de OpenSPARC
- El gran chapuzón del sol, por Linda Geppert, en IEEE Spectrum, enero de 2005.
- Niagara, un procesador SPARC multiproceso de 32 vías por Poonacha Kongetira, Kathirgamar Aingaran, Kunle Olukotun , en IEEE Micro, marzo-abril de 2005
- Microprocesadores Sun
- Microprocesadores abiertos
- Microprocesadores SPARC
- microprocesadores de 64 bits
- Presentaciones relacionadas con la informática en 2005