UltraSPARC T1

Microprocesador de Sun Microsystems
UltraSPARC T1
Logotipo introducido en 2006
información general
Lanzado14 de noviembre de 2005 ; hace 18 años ( 14 de noviembre de 2005 )
Diseñado porMicrosistemas solares
Fabricante común
Actuación
Frecuencia máxima de reloj de la CPU De 1,0 GHz a 1,4 GHz
Arquitectura y clasificación
Conjunto de instruccionesSPARC V9
Especificaciones físicas
Núcleos
  • 4, 6, 8
Productos, modelos, variantes
Nombre del núcleo
  • S1
Historia
SucesorUltraSPARC T2
Procesador UltraSPARC T1

UltraSPARC T1 ( nombre en código " Niagara ") es una CPU multihilo y multinúcleo lanzada por Sun Microsystems en 2005. Diseñada para reducir el consumo de energía de los servidores , la CPU normalmente utiliza 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 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 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 subprocesos simultáneamente. Por lo 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 . De esta forma, se pueden particionar varios núcleos para ejecutar un único proceso o un grupo de procesos y/o subprocesos, 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 el diseño de un procesador SPARC radicalmente basado en subprocesos. Sun adquirió la empresa y la propiedad intelectual se convirtió en la base de la línea de procesadores CoolThreads, que comenzó con el T1.

Núcleos

Plano de planta y matriz de un UltraSPARC T1 (Niagara, 8 núcleos)
El pipeline del UltraSPARC T1

El UltraSPARC T1 fue diseñado desde cero como un procesador multiproceso para propósitos especiales, y por lo tanto introdujo 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 tantos subprocesos concurrentes como fuera posible y maximizar la utilización de la secuencia 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 chip. Los núcleos no cuentan con ejecución fuera de orden ni una cantidad considerable de caché .

Los procesadores de un solo subproceso dependen en gran medida de grandes cachés para su rendimiento, ya que los errores de caché dan lugar a una espera mientras se obtienen los datos de la memoria principal. Al aumentar el tamaño de la caché, se reduce la probabilidad de un error de caché, pero el impacto de un error 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 subprocesos disponibles en cada ciclo. Cuando ocurre un evento de latencia prolongada, como un fallo de caché, el subproceso se saca de rotación mientras los datos se recuperan en caché en segundo plano. Una vez que se completa el evento de latencia prolongada, el subproceso vuelve a estar disponible para su ejecución. El hecho de que varios subprocesos compartan la canalización 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 los fallos de caché se reduce en gran medida 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 fallos de caché recientes de cada subproceso.

Los puntos de referencia demuestran que este enfoque ha funcionado muy bien en cargas de trabajo comerciales (enteros) 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. [ cita requerida ]

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 metal-óxido-semiconductor complementario (CMOS) 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

Servidor Sun Fire T1000

El procesador T1 se puede encontrar en los siguientes productos de Sun y Fujitsu Computer Systems :

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 ser utilizado para aplicaciones de procesamiento numérico de alta gama y rendimiento ultra alto, el chip está destinado a servidores de alta demanda que enfrentan la red, como servidores web de alto tráfico y servidores de aplicaciones Java, ERP y CRM de nivel medio, que a menudo utilizan una gran cantidad de subprocesos separados. Una de las limitaciones del diseño T1 es que una sola unidad de punto flotante (FPU) se comparte entre los 8 núcleos, lo que hace que el T1 no sea adecuado para aplicaciones que realicen una gran cantidad de 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 la capa web y de la aplicación, el UltraSPARC T1 puede ser adecuado para aplicaciones de bases de datos más pequeñas que tengan 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 funciona 13,5 veces más rápido que en un servidor AMD Opteron. [4]

Virtualización

T1 es el primer procesador SPARC que admite el modo de ejecución hiperprivilegiado. 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? ] , 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 de la cantidad de procesadores en los que se ejecuta el software. A principios de 2006, Oracle cambió el modelo de licencias 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úcleo de procesador Oracle" [6] se ha actualizado periódicamente a medida que nuevas CPU llegan 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 del T1 equivale a 30 PVU (cada núcleo del T2 equivale a 50 PVU y el del T3 a 70 PVU) en lugar del valor predeterminado de 100 PVU por núcleo. [7]

Debilidades

El T1 solo ofrecía una única unidad de punto flotante para compartir entre los 8 núcleos, lo que limitaba su 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 funciones adicionales.

Además, el T1 solo estaba disponible en sistemas monoprocesador, lo que limitaba la escalabilidad vertical en entornos empresariales de gran tamaño. Esta debilidad se mitigó con el siguiente UltraSPARC T2 Plus , [8] así como con la próxima generación de SPARC T3 y SPARC T4 . El UltraSPARC T2+, SPARC T3 y SPARC T4 ofrecen configuraciones de uno, dos y cuatro zócalos.

El T1 tenía un rendimiento excepcional con una cantidad masiva de subprocesos soportados por el procesador, pero las aplicaciones más antiguas cargadas con cuellos de botella de un solo subproceso ocasionalmente exhibían 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 velocidad de reloj casi se duplicó, todo lo cual contribuyó a un rendimiento más rápido de un solo subproceso (un aumento del 300% al 500% con respecto a las generaciones anteriores). [9] Se hizo un esfuerzo adicional para agregar la "API de subproceso 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) subprocesos, a los procesos de aplicación específicos que exhibieran un comportamiento limitado a la CPU de un solo subproceso. [10] 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 múltiples subprocesos.

Ajuste de aplicaciones

Aprovechar la enorme cantidad de paralelismo a nivel de subproceso (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 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, Tuning Applications on UltraSPARC T1 Chip Multithreading Systems , [11] aborda cuestiones para programadores de aplicaciones generales. También hay 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 ha optimizado 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 la consolidación web en CoolThreads utilizando Solaris Containers . [17] [18]

Sun tenía una página de ajuste 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 los sistemas CoolThreads puede generar ganancias significativas: cuando se utiliza el compilador Sun Studio con las configuraciones de optimización recomendadas, 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 arquitectura "Coolthreads(TM)", que comenzó con el UltraSPARC T1 (con sus aspectos positivos y negativos), ciertamente influyó en los diseños simultáneos y futuros de los procesadores SPARC.

"Roca"

El UltraSPARC T1 original fue diseñado únicamente para sistemas de una sola CPU y no es capaz de SMP. "Rock" fue 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 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 marco temporal de la adquisición de Sun por parte de Oracle .

UltraSPARC T2

Anteriormente conocido con el nombre en código Niagara 2 , el sucesor del UltraSPARC T1, el T2 ofrece ocho núcleos. A diferencia del T1, cada núcleo admite ocho 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 , cuyo nombre en código era Victoria Falls , se lanzaría en octubre de 2006. Un servidor de dos sockets (2 RU ) tendrá 128 subprocesos, 16 núcleos y una mejora de rendimiento de 65x sobre 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 simultáneos. [20]

En abril de 2008, Sun lanzó los servidores UltraSPARC T2 Plus bidireccionales: SPARC Enterprise T5140 y T5240.

En octubre de 2008, Sun lanzó el servidor UltraSPARC T2 Plus SPARC Enterprise T5440 de 4 vías. [21]

SPARC-T3

En octubre de 2006, Sun reveló que el Niagara 3 se construiría 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 subprocesos. [22] [23] 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/s y la E/S SerDes de 308 pines de 2,4 Tb/s admiten el ancho de banda requerido. Seis dominios de reloj y cuatro dominios de voltaje, así como técnicas de gestión de energía y circuitos, optimizan el rendimiento, la potencia, la variabilidad y las compensaciones de rendimiento en toda la matriz de 377 mm2 " . [24]

SPARC-T4

La CPU T4 se lanzó a fines de 2011. La nueva CPU T4 pasará de tener 16 núcleos (en la T3) a tener 8 núcleos (como los que se usan en la T1, T2 y T2+). El nuevo diseño de núcleo T4 (llamado "S3") presenta un rendimiento por subproceso mejorado, 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ía Oracle Linux en la plataforma UltraSPARC y que el puerto estaba previsto que estuviera disponible en el período T4 y T5. [27]

John Fowler, vicepresidente ejecutivo de sistemas de Oracle, dijo en Openworld 2014 que Linux podrá ejecutarse en Sparc en algún momento. [28] [29] [30] [31]

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 . [32] La información publicada incluye:

  • Código fuente Verilog del diseño UltraSPARC T1;
  • Conjunto de verificación y modelos de simulación;
  • Especificación ISA (Arquitectura UltraSPARC 2005);
  • Las imágenes de simulación del sistema operativo Solaris 10.

Referencias

  1. ^ "OpenSPARC T1". SunSource.net . Sun Microsystems. 2006. Archivado desde el original el 21 de abril de 2006 . Consultado el 3 de agosto de 2024 .
  2. ^ McGhan, Harlan (6 de noviembre de 2006). "Niagara 2 abre las compuertas". Informe sobre microprocesadores .
  3. ^ "cooltst: Cool Threads Selection Tool". Blog de caracterización de la carga de trabajo . Sun Microsystems . 6 de abril de 2006. Consultado el 30 de mayo de 2008 .
  4. ^ Thomas Rampelberg; Jason JW Williams (9 de mayo de 2006). "Cruisin' with a T2k" (PDF) . DigiTar. pág. 6. Consultado el 7 de febrero de 2007 .
  5. ^ "Procesadores multinúcleo: impacto en las licencias de procesadores de Oracle" (PDF) . Oracle. Archivado desde el original (PDF) el 20 de marzo de 2007. Consultado el 12 de agosto de 2007 .
  6. ^ "Tabla de factores de núcleo de procesador de Oracle" (PDF) . Oracle . Consultado el 8 de septiembre de 2011 .
  7. ^ "Licencia de unidad de valor de procesador para software distribuido". IBM . Consultado el 15 de junio de 2011 .
  8. ^ ab Fowler, John (6 de febrero de 2007). "Crecimiento por diseño" (PDF) . Sun Microsystems . p. 21. Consultado el 7 de febrero de 2007 .
  9. ^ "El chip Sparc T4 de Oracle: ¿Pagará la prima de Larry?". The Register . Consultado el 21 de junio de 2012 .
  10. ^ "Conversaciones con innovadores de Oracle". Oracle . Consultado el 21 de junio de 2012 .
  11. ^ "Desarrollo y ajuste de aplicaciones en sistemas multihilo con chip UltraSPARC T1" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
  12. ^ "Uso de aceleradores criptográficos en los procesadores UltraSPARC T1 y T2" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
  13. ^ "Ajuste 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 .
  14. ^ "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 .
  15. ^ "Solución de proxy web fiable y de alto rendimiento de Sun" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
  16. ^ "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 .
  17. ^ "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 .
  18. ^ "Consolidación web en Sun Fire T1000 con contenedores Solaris" (PDF) . Sun BluePrints Online . Sun Microsystems . Consultado el 9 de enero de 2008 .
  19. ^ "Ajuste del rendimiento de aplicaciones". Sun Microsystems . Consultado el 9 de enero de 2008 .
  20. ^ Stephen, Phillips (21 de agosto de 2007). "Victoria Falls: Scaling Highly-Threaded Processor Cores" (PDF) . Sun Microsystems . p. 24 . Consultado el 24 de agosto de 2007 .
  21. ^ "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". Sun Microsystems . 13 de octubre de 2008 . Consultado el 13 de octubre de 2008 .
  22. ^ Sanjay Patel, Stephen Phillips y Allan Strong. "El procesador multiproceso de próxima generación de Sun - Rainbow Falls: el procesador CMT de próxima generación de Sun Archivado el 23 de julio de 2011 en Wayback Machine ". HOT CHIPS 21 .
  23. ^ Stokes, Jon (9 de febrero de 2010). "Bestias de dos mil millones de transistores: POWER7 y Niagara 3". Ars Technica .
  24. ^ 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 SPARC CMT de 16 núcleos y 128 subprocesos de 40 nm". ISSCC 2010 .
  25. ^ "El chip SPARC T4 de Oracle: ¿Pagarás la prima de Larry?". The Register .
  26. ^ Sean Gallagher (28 de septiembre de 2011), "SPARC T4 parece ser lo suficientemente bueno como para evitar deserciones hacia x86, Linux", arstechnica.com , Ars Technica
  27. ^ Niccolai, James. "Ellison: Oracle Enterprise Linux llega a Sparc". PCWorld.
  28. ^ "Oracle afirma que el chip Sparc M7 acabará con Heartbleed". The Inquirer. Archivado desde el original el 3 de octubre de 2014.{{cite web}}: CS1 maint: URL no apta ( enlace )
  29. ^ "parches binutils". binutils ml.
  30. ^ "parches del kernel de linux". sparc linux ml.
  31. ^ "parches libc". libc ml.
  32. ^ "Abrir SPARC T1". oracle.com . Consultado el 16 de enero de 2021 .
  • OpenSPARC T1 y especificaciones
  • Descripción general de OpenSPARC
  • El gran chapoteo 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
Obtenido de "https://es.wikipedia.org/w/index.php?title=UltraSPARC_T1&oldid=1238450022"