Green computing: el reto del HPC

Comienzo la serie Green computing, y este primer artículo irá destinado a alguno de los problemas y retos de la supercomputación en cuanto al medio ambiente. Próximamente también publicaré algunos sobre pequeñas cosas que podemos hacer todos cuando usamos tecnologías para poder ahorrar energía o reducir el impacto de ésta.

Pero por el momento, en este simplemente me gustaría concienciar de algunas cosas que están ocurriendo, hacer una introducción al green computing, y también tratar algunos retos que se deben afrontar, especialmente en el ámbito de la supercomputación o HPC, que consume un importante porcentaje de la energía a nivel mundial como verás…

Cambiemos el mundo

Me encanta el discurso de Greta. Lo he escuchado varias veces y no me canso de hacerlo. Y es que, como ya dije en otro de los posts off-topic, o nos movemos nosotros y cambiamos el mundo o no tendremos futuro si esperamos a que los de «arriba» lo hagan. Ya habréis visto lo rápido que se han puesto de acuerdo para afrontar los retos que nos preocupan a todos, como la sanidad, la educación, la igualdad, el cambio climático, las pensiones, etc. …¡Ahh! No no, perdón, que en lo que se han puesto de acuerdo con unanimidad ha sido en subirse el sueldo… ¡vale! ¡vale!

Si no eres responsable y no cumples los objetivos que se te han pedido en tu empresa ¿Crees que puedes pedir un aumento de sueldo? Pues… otros lo hacen.

Pues eso, que o te pones las pilas y entiendes que a ellos solo les preocupa su sueldo y pensiones vitalicias o el futuro no será muy agradable para nosotros. A veces nos tratan como a idiotas para pedirnos el voto, con debates donde muestran datos falsos o mienten. Y lo hacen porque creo que tienen muy anclado en sus mentes que llevamos mucho tiempo confiando en ellos, esperando a que cambien las cosas.

Si pretendemos que el futuro nos pertenezca, no podemos dejar que lo hipotequen.

Y creo que no es ninguna broma cuando pones cifras y sabes que:

  • Le cuesta a la sanidad 1.2 billones en Europa a las enfermedades por la contaminación del aire. Un gasto que se podría destinar a investigación, etc.
  • Que en España mueren unas 6100 personas al año debido al humo del tráfico que respiramos, unas 790.000 en toda Europa, y millones en todo el mundo.
  • Que muchas enfermedades, como el cáncer, se han disparado en los últimos años.
  • O que en un año se pueden deforestar hasta dos veces el territorio ocupado por Andalucía
  • Que estamos ante la sexta gran extinción de especies, que las abejas (encargadas de polinizar) están desapareciendo…
  • Y que el cambio climático está derritiendo los casquetes polares a un ritmo alarmante.
  • Que tenemos el medio ambiente lleno de «mierda», incluido los mares que prácticamente se han transformado en una amalgama de plástico y agua.
  • Y que los microplásticos que comen las especies marinas que luego consumimos nos hacen tragarnos aproximadamente 250 gramos de plástico anuales (equivalente a una tarjeta de crédito). ¿Tu hígado está preparado para eso?
  • Que derrochamos ingentes cantidades de recursos por no ser responsables…
  • Que yo he tenido que vivir una fuerte inundación y ver cómo todo lo que te había costado un gran esfuerzo se lo lleva el agua, que te corten el agua en verano por las sequías y tengas que tengas que depender de agua embotellada o de un camión cisterna para abastecerte (fuertes torrentes de agua, pero con menor frecuencia durante el invierno), que veas como algunos árboles y plantas florecen en épocas poco frecuentes del año y se pierden algunas cosechas, que colegas suecos me decían que ‘El verano es el día del año que más me gusta.‘ y ahora estén a más de 30ºC durante días, que cada vez los días de viento sean más fuertes y en otras zonas tengan tantos huracanes y tornados… ¿Y a tí? ¿Qué te ha ocurrido?
  • Y desgraciadamente un largo etc.

Y que aún hay quien no se lo cree…me voy a contener por no escribir una gran burrada dedicada a ellos. ¿Qué debe ocurrir más para que lo creas? A lo mejor cuando te toque a ti comienzas a creer…

¿Qué es el green computing?

Chip RISC-V core

Bueno, pensarás que tienes RISC-V hasta en la sopa… sí otra vez incluyo una imagen de un microprocesador basado en esta ISA. Y es que nos pueden ayudar mucho a los retos que tiene la computación, al igual que lo puede hacer Linux como verás en el siguiente apartado. Pero hablemos del término green computing, que hace referencia a tecnologías verdes, a cómo se puede hacer un uso eficiente de los recursos computacionales para reducir su impacto ambiental.

No se trata de volver a la época de las cavernas, se puede tener tecnología avanzada, pero también buscar un buen compromiso entre progreso, viabilidad económica y respeto a la naturaleza. Eso pasa por crear dispositivos más eficientes energéticamente, hacer un uso óptimo de ellos, usar materiales biodegradables, reciclar, etc.

  • El reciclaje está en manos de los usuarios, que deberían de usar puntos limpios y contenedores especiales para la basura tecnológica, así como de sus respectivos gobiernos que deberían garantizar un tratamiento de los residuos adecuado.
  • El uso de materiales más respetuosos o biodegradables está en manos de los fabricantes. Recuerda que las grandes empresas solo buscan su beneficio. Pero si tú buscas materiales verdes, ellas te los darán para obtener beneficios. Tienes el poder de cambiarlas a ellas, aunque ellas no tengan la disposición ética y moral para hacerlo, solo la económica. Por ejemplo, hay muchos plástico procedentes del maíz y no del petróleo. Algunos como Sony lo han venido usando en algunos productos. Recuerda que tienes indicativos para saber si un producto tiene menor impacto, como las etiquetas etiqueta ECO de la UE, RoHS, Energy Star, etc.
  • Comprar dispositivos energéticamente eficientes es otra de las responsabilidades de usuarios y empresas. Esto unido al siguiente punto puede ahorrar toneladas de CO2 a la atmósfera… Se notará en la huella de carbono que mide el impacto de nuestras actividades.
  • Aunque dedicaré un artículo a ello, el uso responsable de la tecnología se debe inculcar desde pequeños o formar a los grandes. Pero hay muchas cosas que puedes hacer desde tu hogar y que tendrían incluso un impacto en los datacenters como te mostraré en un futuro. Por ejemplo, la tecnología de la virtualización puede beneficiar mucho al aprovechamiento de los recursos de una mejor forma.

Incluso otros otros pequeños gestos o acciones como el teletrabajo pueden repercutir positivamente en el medioambiente. No tener que coger el coche u otros transportes públicos para ir a trabajar supondría un ahorro en cuanto a gases y otras energías de propulsión.

RISC-V + Linux

Linus Torvalds en una Con

Que la tecnología del silicio está llegando a su final es un hecho. No se puede seguir mejorando la litografía mucho más allá de lo que existe actualmente y si se pudiera, a las escalas que se están empleando ya se comienzan a notar efectos cuánticos no deseados, como el efecto túnel. Cada vez los fabricantes o foundries tienen más problemas para miniaturizar más y más los circuitos: 10nm, 7nm, 5nm, 3nm (2021),… esto se acaba.

¿Se pasará radicalmente de la tecnología basada en el silicio a otras más exóticas? Personalmente no creo que estén suficientemente maduras, por tanto, se extenderá el uso de las actuales tecnologías. Si recuerdas, cuando resultaba más y más complicado extraer rendimiento de mejorar la microarquitectura se paso a un modelo multinúcleo para escalar el rendimiento más rápido. Y aunque en la actualidad se siguen mejorando las microarquitecturas, las mayores ganancias se consiguen integrando más núcleos.

¿Computación cuántica? Bueno, dejémosla para un poco más adelante. Los resultados que ofrece no son muy estables y la tecnología es bastante compleja y poco asequible para los usuarios. Pronto aparecerán máquinas cuánticas para usarlas como un servicio más de la nube. De hecho, si te interesa te invito a que conozcas y programes IBM Q. Pero siendo razonables, que la computación cuántica resuelva los problemas de consumo y disipación actuales lo veo aún lejos. El futuro más inmediato aún sigue ligado a la electrónica basada en la física o mecánica clásica.

Y algo similar ocurrirá con esto, de hecho ya está ocurriendo. Cada vez se destinan más esfuerzos a simplificar la microarquitectura para que cada núcleo sea más sencillo y ocupe menor superficie y así poder integrar más cantidad de ellos en una misma pastilla monolítica. No hay más que ver movimientos que está haciendo Intel o AMD…

Linus Torvalds, también hizo alusiones a estos techos tecnológicos y cree algo que yo comparto. Y es que optimizar el software al máximo es algo que marcará la diferencia en el futuro. Algo que hasta ahora muchos grandes desarrolladores han olvidado por completo. Parecen estar más acompasadas con el fomento de ventas de hardware que en optimizar su software: «¡Ehh! Mira, tengo un nuevo programa, los requisitos mínimos son estos. Así que ya puedes comprar un nuevo equipo».  ¿Sabes?

Si se quieren exprimir las tecnologías actuales durante más tiempo, un paso muy inteligente sería abandonar las complejas microarquitecturas CISC como x86 y comenzar a explotar las RISC como RISC-V debido al diminuto tamaño de cada núcleo. Eso, si recuerdas anteriores artículos, lo hacen mucho más escalable y se puede aumentar la cantidad de núcleos por dado (no afecta tanto al yield).

Creo que vamos a llegar pronto a un modelo tipo tile de núcleos (manycore) con decenas, cientos o miles de cores. Aunque también es verdad, que las interconexiones y la lógica de conexión también se han convertido en un gran problema en la actualidad debido a la cantidad de superficie del dado que ocupan… Tal vez el fin de los x86 esté más cerca que nunca, tal vez la competencia que tendrán Intel y AMD a partir de ahora sea mucho más elevada de lo que muchos esperan…

IBM Power9
Die shot del POWER9 de IBM. En verde he remarcado la superficie ocupada por los 24 núcleos 8+8 arriba y 4+4 abajo. El resto es circuitería de conexión tanto interna como hacia la interfaz externa. El chip esta construido con tecnología de 14nm (con solo unas decenas de mm2 de superficie). Las 17 capas de interconexiones metálicas de cobre tienen casi 25 km de longitud para conectar 8.000.000.000 transistores.

RISC-V ha puesto la ISA, Europa, China, Rusia, India, etc., ya trabajan para poner las microarquitecturas para traer productos basados en ella. Los expertos esperan que veamos los primeros dispositivos móviles basados en RISC-V en 1 o 2 años y los primeros equipos de HPC en 3 o 4 años. La revolución y el impacto que tuvo el software libre y de código abierto en la industria del software podría llegar ahora de forma masiva al hardware.

Y volviendo a Linux, lo bueno es que al ser de código abierto, los fabricantes de software podrán optimizar sus controladores o partes del código que afecten al rendimiento para extraer más. Incluso los propios clientes podrían optimizar el código para una determinada aplicación concreta si lo requieren. Esto en software privativo significaría comenzar a hacer colaboraciones entre empresas, algo que no veo tan sencillo si tenemos la cantidad de fabricantes diferentes que existen…

Además, Linux sigue una de las filosofías principales de UNIX y es estar compuesto por pequeños programas simples en vez de grandes y complejos. Eso también contribuye a que los sistemas basados en Linux no demanden tanto recursos como otros.

El reto de la supercomputación

Cray NERSC supercomputador

El sector del HPC tiene un problema, o mejor dicho, un reto importante de cara al futuro. Las grandes máquinas son las que más consumen. Los centros de datos se están convirtiendo en un gran problema de consumo. Algunos sistemas de gestión de clusters ya incluyen sistemas de gestión de energía mejorados, como Moab, SLURM, CLUES, etc. El hardware cada vez es más eficiente también.

En este sentido, ya he comentado que RISC-V y Linux (y otros proyectos abiertos) pueden tener mucho que decir. En el caso de RISC-V, al ser abierta se puede optimizar gracias a sus módulos para tareas concretas, y al ser núcleos tan reducidos el consumo también lo será. En cuanto a Linux, también se puede optimizar el código para tareas específicas, lo que aprovecharía de una mejor forma los recursos de hardware y reduciría considerablemente el consumo a la par que se extrae más rendimiento.

La virtualización también puede ayudar como he comentado anteriormente. Según algunos estudios, solo se usa un porcentaje bajo del equipo de hardware, por lo que fragmentar los equipos en máquinas virtuales y aprovechar al máximo sus capacidades, en vez de comprar nuevos equipos, sería una buena práctica. También el uso de la computación distribuida y de la nube en vez de tener un servidor físico propio… Algunos estudios estiman que la mejora en consumo gracias a esto ha sido de un 20%.

Cuando creé mi curso de supercomputación CSAC, pude hacer algunos cálculos que son realmente alarmantes sobre el consumo de estos supercomputadores y grandes servidores de los centros de datos. Sin duda, HPC tiene un gran reto para reducir esas ingentes cantidades de energía, especialmente cuando no vienen de fuentes renovables y que emiten contaminantes y CO2 a la atmósfera.

¿Cuánto consume un supercomputador?

La respuesta rápida es: MUCHO. Ten en cuenta que los data centers tienen grandes servidores / supercomputadoras / mainframes con cientos o miles de microprocesadores, miles de módulos RAMs, miles de placas PCB, miles de discos duros, kilómetros de cableado, etc. Si tu PC de casa consume energía, multiplica eso por miles y obtendrás una aproximación. A eso agrega que son máquinas de alta disponibilidad, es decir, están siempre funcionando…

Por otro lado, multiplica esas cifras por la enorme cantidad de centros de datos que existen en el mundo y puedes intuir que el consumo a nivel global es excesivo. Ya existen máquinas que consumen unos 20MW, 50MW (energía equivalente al despegue de un Boing 747), 100MW (Google tiene un centro de datos con este consumo en Hamina en 2019 que irá actualizándose), y si se sigue escalando al mismo ritmo y con la tecnología actual, en unos años se podría llegar a cifras totalmente inadmisibles e insostenibles…

Y ese consumo tan elevado tiene un efecto colateral que también hay que resolver: la disipación de calor. De hecho, algunos de los sistemas de refrigeración de esas grandes máquinas también consumen ingentes cantidades de energía eléctrica para refrigerar los centros de datos y mantenerlos bajo rangos de temperaturas seguras.

Mirad, pongo el mismo ejemplo que puse en mi curso de supercomputación. El Tianhe-2 tiene un consumo de 17.6 MW y con los sistemas de refrigeración necesarios sube a 24 MW. Supón que el kWh está a 0.12€, eso significaría que tiene un consumo de 2880€ a la hora. El consumo anual sería de 2880x24x365=25.228.800€, es decir, más de 25 millones de euros en la factura energética para solo una máquina de estas.

Eso en cuanto a gasto económico, pero entiende que para alimentar eso hace falta liberar mucho CO2 a la atmósfera para conseguir producir la energía eléctrica si no proviene de fuentes respetuosas o renovables. Tal es la preocupación que se ha creado la lista Green500 de forma paralela a la Top500. La segunda lista solo tiene en cuenta el rendimiento (FLOPS) para posicionar a las máquinas más potentes registradas. La primera muestra la lista de las 500 supercomputadoras más potentes del mundo en orden según su eficiencia energética (FLOPS/W).

Ya expliqué en el curso CSAC otras medidas como PUE, DCiE, etc., que tienen que ver con la eficiencia.

Estoy seguro que con el paso del tiempo veremos máquinas basadas en RISC-V y computación heterogénea que irán escalando poco a poco por la lista Green500. Y espero que ayuden a reducir esos 416 Teravatios de electricidad al año actuales, es decir, el 2% del consumo mundial ya está destinado a los centros de datos. Eso es lo que nos está costando la nube en términos de economía y ecología, ya que supondría el 95% de esos centros.

Eso significa que el 2% de las emisiones mundiales se deben a la HPC, es decir, 850 millones de toneladas de C02 al año. Para que te hagas una idea más certera, 100 búsquedas en Google significan 20 gramos de CO2, ver 3 semanas de vídeos en Youtube  kg, enviar 1 email 4 gramos de dióxido de carbono (65 emails equivalen a recorrer 1km con un coche). Eso multiplicalo por la cantidad de usuarios conectados. Ninguna broma ¿verdad?

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto:

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar