Teraflops y velocidades de procesamiento en supercomputadoras

El 18 de noviembre, me encontré con una nota de Xataka, donde se anunciaba que el supercomputador de Microsoft entra en la lista TOP500. Se trata del supercomputador Voyager-EUS2, que ha desarrollado Microsoft Azure y que cuenta con una potencia de 30 petaflops por segundo.

Aquí me gustaría detenerme, pues estos conceptos (teraflops) son relativamente nuevos para mi, por ser velocidades de supercomputadoras, así que vamos a explicar algunos de ellos, partiendo de la unidad básica.

Conceptos

¿Qué es FLOPS?

FLOPS (operaciones de coma flotante por segundo), es la unidad de medida que calcula la capacidad de rendimiento de una supercomputadora. Las operaciones de coma flotante solo se pueden ejecutar en equipos con registros de coma flotante integrados.

El rendimiento promedio del procesador de una computadora se mide en megahercios (MHz) para calcular su velocidad de reloj. Dado que las supercomputadoras son mucho más capaces en lo que respecta al rendimiento energético, el método con el que se calcula el rendimiento debe basarse en una escala considerablemente mayor.

Los tecnólogos se refieren a esta medición de picos de rendimiento teórico como “Rpeak”. Una lectura de FLOPS por sí sola no es suficiente para medir con precisión el Rpeak de una supercomputadora. Es necesario ejecutar una serie de pruebas diferentes e intrincadas antes de alcanzar una cifra final.

¿Qué es un teraFLOPS?

Un teraFLOPS es igual a 1,000,000,000,000 (un billón) de FLOPS.

Construida en 1996, ASCI Red® de Intel® se construyó para romper la barrera de los teraFLOPS. Para el año 2000, se convirtió en la computadora más rápida del mundo y la primera en obtener una puntuación por encima de un teraFLOPS en el marco de referencia de LINPACK. Antes de su desmantelamiento en 2006, la ASCI Red se modificó para realizar un rendimiento asombroso de 2 teraFLOPS.

¿Qué es un petaFLOPS?

Un petaFLOPS es igual a 1,000,000,000,000,000 (mil billones) FLOPS, o mil teraFLOPS.

2008 marcó el primer año en que una supercomputadora pudo romper lo que se llamó «la barrera petaFLOPS» [3]. La IBM Roadrunner® conmocionó al mundo con un asombroso Rpeak de 1.105 petaFLOPS.

En ese momento, el jefe de ciencias de la computación del Laboratorio Nacional de Oak Ridge afirmó: “La nueva capacidad le permite realizar una física fundamentalmente nueva y abordar nuevos problemas. Y acelerará la transición de la investigación básica a la tecnología aplicada”. Hoy, IBM Summit® puede funcionar más de 100 veces más rápido.

TOP500

Los propios responsables de la lista TOP500 indican que ha habido muy pocos cambios en esos primeros puestos y que el supercomputador japonés Fugaku sigue siendo el más potente del mundo con sus 7.630.848 núcleos y una potencia asombrosa de 442 petaflops por segundo.

El segundo puesto es para el supercomputador estadounidense Summit, que está lejos de Fugaku con sus 148,8 PFLOPS, y más lejos aún está Sierra, también de EE.UU. y que presume de una potencia de 94,6 PFLOPS. 

En el mundo de la supercomputación Estados Unidos (tiene 150 en la lista) y China (173) son también los grandes destacados, y entre ambos tienen dos de cada tres supercomputadores de la lista.

Top 10 de supercomputadoras

Rendimiento histórico

En el sitio TOP500 se muestra una gráfica que muestra el rendimiento que han tenido las supercomputadoras, y que nos permite apreciar cuanto han escalado las velocidades de las supercomputadoras.

GHz y las computadoras personales

Hasta este punto, quizás el lector se pregunte por qué en las supercomputadoras no se utilizan los GHz como unidad de medida de velocidad, como en el caso de las computadoras personales.

Para hablar de GHz, lo mejor es empezar por los Hz, la unidad desde la que partir.

Los hercios, una unidad de medida que se encarga de las frecuencias, y que cuando hablamos de procesadores mide las activaciones por segundo. Si un procesador corriese a 1Hz, un hercio, significaría que se activaría una vez cada segundo. Porque sí, los hercios son un medidor de frecuencia. Un hercio, una activación por segundo.

Cuando hablamos de activación nos referimos al procesador completo, no a una única instrucción parcial. Cuando un procesador se activa, puede llevar a cabo multitud de operaciones de forma simultánea. Y si está bien optimizado el software que se encarga de gestionarlo, las operaciones serán aún más abundantes.

1 hercio = 1 activación del procesador por segundo.

Así, un GHz significa que el procesador es capaz de activarse 10 elevado a 9 veces por segundo, o 1.000.000.000 de veces. Mil millones de veces, mil millones de hercios.

1 GHz = 1000 millones de activaciones.

2 GHz = 2000 millones de activaciones.

La potencia de un procesador la definen otros muchos factores

Podemos tener en una mano un procesador que corra a 1,5GHz y en la otra otro modelo que corra a 2,2GHz, y aún así que el primer procesador sea más potente que el segundo. ¿Cómo es esto posible? Pues, grosso modo, porque el primer procesador es capaz de ejecutar mucha más carga de trabajo en sus 1.500 millones de ejecuciones que el segundo en sus 2.200 millones de ejecuciones.

Aquí influyen múltiples variables como la densidad de transistores del procesador, que puede variar en una horquilla gigante. O como los nanómetros con los que esté construido, que influyen de forma directa en la densidad. A menos nanómetros, menor tamaño de transistores, más espacio para que el procesador tenga más transistores a su servicio. Y dado que un transistor es capaz de procesar una instrucción simple cada vez, devolviendo un 1 o un 0, a más transistores, más procesos ejecutados y mayor velocidad.

También hay que tener en cuenta la optimización llevada a cabo desde el software que controla el propio procesador, pues no todas las instrucciones que mandamos a un chip pueden ejecutarse de forma paralela.

Para finalizar

En conclusión, los FLOPS son una unidad de medida más confiable en cuanto a velocidades de procesamiento se refiere, y su fidelidad aplicada en el campo de las supercomputadoras es más relevante que si se aplicará a las computadoras personales, donde los GHz nos dan un parámetro menos complicado para efectos de comparativa.

Por último, dejo una tabla a modo de recordatorio de los prefijos de mediciones en computación y en muchos otros aspectos.

Memory Sizes.

Referencias externas

Deja un comentario