El microprocesador UltraSPARC T1 de Sun Microsystems , conocido hasta su anuncio del 14 de noviembre de 2005 por su nombre en clave de desarrollo " Niagara ", es una CPU de múltiples subprocesos y núcleos . 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.
Información general | |
---|---|
Lanzado | 2005 |
Diseñada por | Microsistemas solares |
Fabricante (s) común (es) | |
Actuación | |
Max. Frecuencia de reloj de la CPU | 1.0 GHz a 1.4 GHz |
Arquitectura y clasificación | |
Conjunto de instrucciones | SPARC V9 |
Especificaciones físicas | |
Núcleos |
|
Productos, modelos, variantes | |
Nombre (s) principal |
|
Historia | |
Sucesor | UltraSPARC T2 |
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 multinúcleo y multiproceso. La seguridad se incorporó desde el primer lanzamiento en silicio, con unidades criptográficas de hardware en el T1, a diferencia del procesador de propósito 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 lo tanto, el procesador es capaz de procesar hasta 32 subprocesos al mismo tiempo.
El UltraSPARC T1 se puede particionar de forma similar a los sistemas Sun SMP de gama alta . Por lo tanto, se pueden dividir 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 hacer 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 8 núcleos quepan en el mismo dado. Los núcleos no presentan una ejecución desordenada o una cantidad considerable de caché .
Los procesadores de un solo subproceso dependen en gran medida de las cachés grandes para su rendimiento porque las fallas de caché dan como resultado una espera mientras los datos se obtienen de la memoria principal. Al aumentar el tamaño de la memoria caché, se reduce la probabilidad de que se pierda la memoria caché, pero el impacto de una falla sigue siendo el mismo.
Los núcleos T1 evitan en gran medida el problema de los fallos de caché mediante subprocesos múltiples. 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 la falta de caché, el subproceso se saca 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 subproceso vuelve a estar disponible para su ejecución. Compartir la canalización por varios subprocesos puede hacer que cada subproceso sea más lento, pero el rendimiento general (y la utilización) de cada núcleo es mucho mayor. También significa que el impacto de las fallas de caché se reduce en gran medida, y el T1 puede mantener un alto rendimiento con una menor cantidad de caché. El caché ya no necesita ser lo suficientemente grande para contener todo o la mayor parte del "conjunto de trabajo", solo los fallos recientes de caché de cada hilo.
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 poderoso 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 requerida ]
Características físicas
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 de óxido de metal complementario (CMOS) de 90 nm con nueve niveles de interconexión de cobre . [1] Cada núcleo tiene una caché de instrucciones L1 de 16kB y una caché de datos de 8KB. 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
- Hoja Sun Netra CP3060
- Módulo de servidor Sun Blade T6300
Mercado objetivo
El microprocesador UltraSPARC T1 es único en sus puntos fuertes y débiles y, como tal, está dirigido a mercados específicos. En lugar de utilizarse para aplicaciones de alto rendimiento y procesamiento de números de alta gama, el chip está dirigido a servidores de alta demanda de 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 T1 es que se comparte una sola 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 las 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. [2]
Además del procesamiento de niveles de aplicaciones y web, UltraSPARC T1 puede ser muy adecuado para aplicaciones de bases de datos más pequeñas que tienen una gran cantidad de usuarios. Un cliente ha publicado resultados que muestran que una aplicación MySQL que se ejecuta en un servidor UltraSPARC T1 se ejecuta 13,5 veces más rápido que en un servidor AMD Opteron. [3]
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 de sistema operativo.
Actualmente [ ¿cuándo? ] , Solaris , Linux , NetBSD y OpenBSD son compatibles.
Problemas de licencia de software
Tradicionalmente, las suites de software comerciales como Oracle Database cobran a sus clientes según la cantidad de procesadores en los que se ejecuta el software. A principios de 2006, Oracle cambió el modelo de licencia al introducir el factor de procesador . Con un factor de procesador de .25 para el T1, un T2000 de 8 núcleos requiere solo una licencia de 2 CPU. [4]
Desde entonces, la "Tabla de factores centrales del procesador de Oracle" [5] se ha actualizado periódicamente a medida que llegaban 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 30 PVU (cada núcleo T2 es 50 PVU y T3 es 70 PVU) en lugar del valor predeterminado de 100 PVU por núcleo. [6]
Debilidades
El T1 solo ofrecía una única unidad de coma flotante para ser compartida por 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 limita la escalabilidad vertical en entornos de grandes empresas. Esta debilidad se mitigó con el siguiente " UltraSPARC T2 Plus ", [7] así como la próxima generación de SPARC T3 y SPARC T4 . UltraSPARC T2 +, SPARC T3 y SPARC T4 ofrecen configuraciones de zócalo simple, 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 exhibían ocasionalmente un rendimiento general deficiente. La debilidad de la aplicación de un solo subproceso se mitigó con el siguiente procesador SPARC T4 . El recuento de núcleos T4 se redujo a 8 (de 16 en el T3), los núcleos se hicieron más complejos, la frecuencia de reloj casi se duplicó, todo lo que contribuyó a un rendimiento de un solo hilo más rápido (de entre un 300% a un 500% de aumento con respecto a las generaciones anteriores. [8] 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 enlazado de CPU de un solo subproceso. [9] Esto permitió que el T4 mitigara de manera única los cuellos de botella de un solo subproceso, sin tener que comprometer la arquitectura general para lograr un rendimiento masivo de subprocesos múltiples.
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 servidor tradicionales. El uso de TLP en 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, Tuning Applications on UltraSPARC T1 Chip Multithreading Systems , [10] aborda problemas para los programadores de aplicaciones generales. También hay un artículo de BluePrints sobre el uso de las unidades de aceleración criptográfica en los procesadores T1 y T2. [11]
Estudios de caso
Se optimizó una amplia gama de aplicaciones en la plataforma CoolThreads, incluyendo Symantec Brightmail AntiSpam, [12] las aplicaciones Siebel de Oracle , [13] y Sun Java System Web Proxy Server . [14] Sun también documentó su experiencia al trasladar su propia tienda en línea a un clúster de servidores T2000, [15] y ha publicado dos artículos sobre consolidación web en CoolThreads usando Solaris Containers . [16] [17]
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 . [18] La optimización adecuada para los 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 usar solo el indicador -O3 .
Diseños contemporáneos y posteriores
La arquitectura "Coolthreads (TM)", comenzando con el UltraSPARC T1 (con sus aspectos positivos y negativos), fue ciertamente influyente en los diseños simultáneos y futuros de los procesadores SPARC.
"Roca"
El UltraSPARC T1 original fue diseñado solo para sistemas de CPU única y no es compatible con SMP. "Rock" era un proyecto más ambicioso, destinado a admitir arquitecturas de servidor de múltiples chips, dirigido a cargas de trabajo tradicionales de cara a datos, como las bases de datos. Se consideró más una continuación de los procesadores SMP de Sun, como UltraSPARC IV , en lugar de un reemplazo de UltraSPARC T1 o T2, pero se canceló en el período de tiempo de la adquisición de Sun por parte de Oracle .
UltraSPARC T2
Anteriormente conocido con el nombre en clave Niagara 2 , la continuación 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 de 10 Gigabit Ethernet 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 , cuyo nombre en código era Victoria Falls , se grabó en octubre de 2006. Un servidor de dos sockets (2 RU ) tendrá 128 subprocesos, 16 núcleos, y una mejora del rendimiento de 65 veces con respecto a UltraSPARC III. [7]
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. [19]
En abril de 2008, Sun lanzó los servidores UltraSPARC T2 Plus de 2 vías, SPARC Enterprise T5140 y T5240.
En octubre de 2008, Sun lanzó el servidor UltraSPARC T2 Plus SPARC Enterprise T5440 de 4 vías. [20]
SPARC T3
En octubre de 2006, Sun reveló que Niagara 3 se construirá con un proceso de 45 nm. [ cita requerida ] 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 hilos. [21] [22] Según la presentación de ISSCC 2010:
"Un procesador SoC SPARC 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 / sy la E / S SerDes de 308 pines de 2,4 TB / s admiten el ancho de banda requerido . Seis dominios de reloj y cuatro de voltaje, así como la administración de energía y las técnicas de circuito, optimizan el rendimiento, la energía, la variabilidad y las compensaciones de rendimiento en el dado de 377 mm 2 ". [23]
SPARC T4
La CPU T4 fue lanzada a finales de 2011. La nueva CPU T4 bajará de 16 núcleos (en el T3) a 8 núcleos (como se usa en el T1, T2 y T2 +). El nuevo diseño de núcleo T4 (llamado "S3") presenta un rendimiento mejorado por subproceso, debido a la introducción de ejecución fuera de orden, así como un rendimiento mejorado adicional para programas de un solo subproceso. [24] [25]
En 2010, Larry Ellison anunció que Oracle ofrecerá Oracle Linux en la plataforma UltraSPARC, y se programó que el puerto estaría disponible en el plazo de tiempo T4 y T5. [26]
John Fowler, vicepresidente ejecutivo de sistemas Oracle, en Openworld 2014 dijo que Linux podrá ejecutarse en Sparc en algún momento. [27] [28] [29] [30]
SPARC T5
La nueva CPU T5 cuenta con 128 hilos en 16 núcleos y está fabricada con 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 . [31] La información publicada incluye:
- Código fuente Verilog del diseño UltraSPARC T1;
- Suite de verificación y modelos de simulación;
- Especificación ISA (UltraSPARC Architecture 2005);
- Las imágenes de simulación del sistema operativo Solaris 10.
Referencias
- ^ McGhan, Harlan (6 de noviembre de 2006). "Niagara 2 abre las compuertas". Informe del microprocesador .
- ^ "cooltst: herramienta de selección de subprocesos geniales" . Blog de caracterización de cargas de trabajo . Sun Microsystems . 6 de abril de 2006 . Consultado el 30 de mayo de 2008 .
- ^ Thomas Rampelberg; Jason JW Williams (9 de mayo de 2006). "Cruisin 'con un T2k" (PDF) . DigiTar. pag. 6 . Consultado el 7 de febrero de 2007 .
- ^ "Procesadores de varios núcleos: impacto en las licencias de los procesadores de Oracle" (PDF) . Oráculo. Archivado desde el original (PDF) el 2007-03-20 . Consultado el 12 de agosto de 2007 .
- ^ "Tabla de factores centrales del procesador de Oracle" (PDF) . Oracle . Consultado el 8 de septiembre de 2011 .
- ^ "Licencia de unidad de valor de procesador para software distribuido" . IBM . Consultado el 15 de junio de 2011 .
- ^ a b Fowler, John (6 de febrero de 2007). "Crecimiento por diseño" (PDF) . Sun Microsystems . pag. 21 . Consultado el 7 de febrero de 2007 .
- ^ "Chip Sparc T4 de Oracle: ¿Pagará la prima de Larry?" . El registro . Consultado el 21 de junio de 2012 .
- ^ "Conversaciones con innovadores de Oracle" . Oracle . Consultado el 21 de junio de 2012 .
- ^ "Desarrollo y ajuste de aplicaciones en sistemas multiproceso de chip UltraSPARC T1" (PDF) . Sun BluePrints en línea . 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 en línea . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ^ "Ajuste de Symantec Brightmail AntiSpam en servidores con procesador UltraSPARC T1 y T2" (PDF) . Sun BluePrints en línea . 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 en línea . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ^ "Solución de proxy web confiable y de alto rendimiento de Sun" (PDF) . Sun BluePrints en línea . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ^ "Consolidación de Sun Store en servidores Sun Fire T2000" (PDF) . Sun BluePrints en línea . 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 en línea . Sun Microsystems . Consultado el 9 de enero de 2008 .
- ^ "Consolidación web en Sun Fire T1000 mediante contenedores Solaris" (PDF) . Sun BluePrints en línea . 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 .
- ^ Stephen, Phillips (21 de agosto de 2007). "Cataratas Victoria: escalado de núcleos de procesador altamente subprocesados" (PDF) . Sun Microsystems . pag. 24 . Consultado el 24 de agosto de 2007 .
- ^ "El servidor SPARC Enterprise T5440 de Sun y Fujitsu redefine la informática empresarial de rango medio con precios líderes en la industria, administración de energía y múltiples récords mundiales de referencia" . Sun Microsystems . 13 de octubre de 2008 . Consultado el 13 de octubre de 2008 .
- ^ Sanjay Patel, Stephen Phillips y Allan Strong. " Procesador de subprocesos múltiples de próxima generación de Sun - Rainbow Falls: Procesador CMT de próxima generación de Sun Archivado el 23 de julio de 2011 en Wayback Machine ". PATATAS FRITAS CALIENTES 21 .
- ^ Stokes, Jon (9 de febrero de 2010). " Dos mil millones de bestias 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 . Fuerte. "Un procesador SoC CMT SPARC de 40 nm, 16 núcleos y 128 hilos". ISSCC 2010 .
- ^ "Chip SPARC T4 de Oracle: ¿Pagará la prima de Larry?" .
- ^ Sean Gallagher (28 de septiembre de 2011), "SPARC T4 parece ser lo suficientemente bueno como para evitar deserciones a x86, Linux" , arstechnica.com , Ars Technica
- ^ Niccolai, James. "Ellison: Oracle Enterprise Linux llegando a Sparc" . Mundo PC.
- ^ "Oracle dice que el chip Sparc M7 acabará con Heartbleed" . El indagador.
- ^ "parches binutils" . binutils ml.
- ^ "parches del kernel de Linux" . sparc linux ml.
- ^ "parches libc" . libc ml.
- ^ "Abra SPARC T1" . oracle.com . Consultado el 16 de enero de 2021 .
enlaces externos
- OpenSPARC T1 y especificaciones
- Descripción general de OpenSPARC
- Sun's Big Splash por Linda Geppert, en IEEE Spectrum, enero de 2005
- Niagara, un procesador SPARC multiproceso de 32 vías de Poonacha Kongetira, Kathirgamar Aingaran, Kunle Olukotun , en IEEE Micro, marzo-abril de 2005