Blue Waters, el superordenador rebelde

La última lista (Noviembre de 2012) de los ordenadores más potenetes del mundo, top500.org, coronó a Titan como el supercomputador más potente. Al mismo tiempo la publicación de esta lista ha sido una de las más polémicas de los últimos tiempos dado que los responsables del superordenador Blue Waters, instalado por el National Center for Supercomputing Applications (NCSA) de la University of Illinois at Urbana-Champaign, decidieron no enviar los resultados de la potencia de Blue Waters para ser incluido en la lista.

CA-HIV

Modelo atómico elaborado en Blue Waters de la proteína CA ancontrada en cápsides del VIH.

Blue Waters ha sido uno de los superordenadores más esperados por la comunidad de la supercomputación desde que se anunció su financiación por parte de la National Science Foundation (Agosto de 2007) y su posterior adjudicación para su construcción a Cray por 188 millones de dolares. A pesar de lo mareante de la cifra el costo de este tipo de ordenadores ronda este orden.

La polémica ha surgido, evidentemente, por que Blue Waters ha sido el primer superordenador en años que no envía los resultados del benchmark de potencia de cálculo a la lista top500.org, donde hubiese copado una de las primeras posiciones.

¿Porqué no enviaron los benchmarks?

La lista top500.org usa un único benchmark para medir la potencia de un ordenador: la ejecución del benchmark de linpack que resuelve un sistema denso de equaciones lineales. La característica más notable de este benchamark es que es muy intensivo desde el punto de vista de ejecución de operaciones en coma flotante, es decir, operaciones matemáticas con número reales. En este sentido se obtienen mejores resultados cuantos más cores de cálculo existan. Que estén bien comunicados también es necesario, pero otro tipo de requerimientos técnicos como sistemas de archivos y memoria RAM o más intangibles com usabilidad son secundarios.

La lista Top500 fue creada en 1993 con este benchmark y se considera por la comunidad como muy simplista, ya no es significativo de todas o una mayoría de las aplicaciones reales que hoy en día se ejecutan. No obstante, parece necesario enviar el resultado del benchmark a la lista “por que todos lo hacen”. Es más, parece que en muchas ocasiones la presión de logar un buen posicionamiento en la lista induce a que se configuren los sistemas para obtener el mejor rendimiento posible en el Linpack en decrimento de otras características, lo que podría penalizar las aplicaciones de la ciencia real que posteriormente se van a ejecutar en el superordenador.

Desde el NCSA hacen las siguientes objeciones al benchmark Linpack:

  • El benchmark Linpack sólo mide sistemas de ecuaciones lineales densas.

Esto deja de lado muchos métodos y algoritmos usados hoy en día y sus necesidades computacionales. La ausencia de significado de este benchmark en ancho de banda a memoria, disco o interconexión se agravará en la evolución hacia la computación a exaescala. Se propone el uso de otros benchmark más realistas como NERSC SSP, DOD o el test NSF-Blue Waters SPP que ellos mismos desarrollan con 15 aplicaciones que van a correr en Blue Waters.

  • No hay relación entre el posicionamiento en el top500 y la usabilidad del sistema

Muchos sistemas son incluidos en la lista sin estar todavía en producción incluso en fase de montaje. Esto produce hasta meses de diferencia entre la medida y cuando está realmente en uso por investigadores. Esto perturba el valor historico de la lista. Se propone la inclusión de sólo superordenadores y resultados de sistemas en producción.

  • El Top500 fuerza a las instituciones a pobres configuraciones

La presión por conseguir un buen posicionamiento en la lista fuerza a las instituciones a sacrificar ancho de banda, memoria y almacenamiento en aras de incrementar los procesadores desequilibrando el supercomputador y reduciendo su eficiencia. Realizando estos sacrificios Blue Waters podría haber sido 3 o 4 veces más “potente”, pero habría limitado las aplicaciones que se podrían usar y dificultaría su programación haciéndolo menos usable. Se propone recoger más datos técnicos de los sistemas relacionados con anchos de banda, IO, etc para favorecer la configuración de sistemas equilibrados.

  • El Top500 no reconoce el valor de un sistema.

Uno de los factores que afectan el posicionamiento en la lista, tanto como por ejemplo el diseño, las habilidades en programación o incluso la propia evolución de la tecnología, es el costo del superordenador. El top500 en cierto sentido releja la capacidad de financiación y enmascara otros valores añadidos como los mencionados (diseño, software, etc) inhibiendo posibles comparaciones entre sistemas. Se propone que se incluya el costo como dato, bien por que se proporciona directamente al ser un dato público o calculado por fuentes independientes. Esto permitirá comparaciones más perspicaces.

  • Conclusión

Aplicar estas nuevas correciones y otras nos ayudarán a tener nuevas métricas y listas mejor relacionadas con el rendimiento real de las aplicaciones. En el sentido en que evolucionamos a sistemas más complejos y exóticos, tener métricas adecuadas nos ayudará a tomar decisiones en la dirección correcta.

 Referencias

Blue Waters Project Newsletter, diciembre de 2012.

 

1 comment to Blue Waters, el superordenador rebelde

Leave a Reply