Propuesta de Investigación

Planteamiento del problema

La gran mayoria de los supercomputadores exitentes a nivel mundial, son concebidos con arquitectura de tipo cluster, en la cual cada maquina ayuda a la ejecución de un trabajo en forma paralela. De allí la importancia de la incorporación de esta tecnología, para el aprovechamiendo de su potencia de cálculo.

Sin embargo, la tecnología GPU tiene implicaciones serías que no pueden ser pasadas por alto, como son los impactos a nivel economico, ecológico y de rendimiento.

  • Económicos: incorporar unidad GPU a cada nodo de cómputo, incrementa TCO (Total Cost of Ownership); que incluye tanto los costes de adquisición como los de funcionamiento y mantenimiento de las instalaciones.

  • Ecológicos: incorporar unidad GPU a cada nodo de cómputo, incrementa la energía necesaria para el funcionamiento del sistema, lo que cual tiene impacto negativo tanto a nivel económico, como a nivel ecológico\cite{Gelenbe_2015}; donde la huella de carbono para la instalación incrementa de forma considerable, ya que la huella ecologica o emición de cada unidad GPU equivale a X CO2 emisiones generadas por una unidad CPU. Revisar esta referencia y sus calculos

    Aqui hay de donde hacer los calculos para mi equipo y para guane Calculadora referencia

  • De rendimiento: ya que no todas las aplicaciones son candidatas a beneficiarse de su ejecución en el entorno GPU. Tanto así, que las gran mayoría de las aplicaciones HPC, tan solo se benefician durante las fases de su ejecución donde se cuenta con paralelismo de datos, lo cual en el mejor de los casos no llega ha ser mas del 70% de la totalidad de la ejecución, sin tomar en cuenta los costos de trasnferencia, que no benefician ni a la ejecución paralela ni a la serial, buscar una referencia para esto. De forma que la gran mayoria del tiempo, la plataforma cuenta con hardware GPU, que solo es útil para ciertos tipos de trabajos y por ciertos periodos de tiempo, pudiendo estar inactivo durante largos periodos.

Para dar alivio a esta problematica, la comunidad HPC ha venido acogiendo y desarrollando la idea de virtualizar las unidades GPU para el cálculo de propósito general, de forma que los recursos de computo GPU sean asequibles a todos los nodos de la infraestructura, y empleados para la ejecución de los trabajos que requieran de estos recursos.

Sin embargo, los actuales manejadores de recursos con que cuentan la gran mayoria de plataformas HPC a nivel mundial, como son LSF, PBS, SLURM, entre otros. Fueron enfocados desde sus comiensos a la planificación de unidades de procesamiento CPU mas no al manejo de recursos genericos, como se les conoce a las unidades aceleradoras (MICs y GPU).

Un reflejo claro de esta situación es el caso de SLURM, el gestor de colas más popular en el ámbito HPC, el cual no esta capacitado para planificar la ejecución de trabajos masivamente paralelos (Grano fino - GPU), de forma apropiada sobre la totalidad de los recursos computacionales disponibles a lo largo de la infraestructura.