EAR: Energy management framework for HPC

El software EAR es un marco de gestión que optimiza la energía y la eficiencia de un clúster de nodos interconectados.

Institución:

Institution

Grupo de investigación:

Energy efficiency management for Data Centers

Investigador/es:

EAR authors: Julita Corbalan, Luigi Brochard
EAR teachnical team: Jordi Gomez Aneas and Lluis Alonso Jane

EAR: Energy management framework for HPC

Web:

https://gitlab.bsc.es/ear_team/ear/-/releases

Descripción:

El software EAR es un marco de gestión que optimiza la energía y la eficiencia de un clúster de nodos interconectados. Para mejorar la energía del clúster, EAR proporciona control, contabilidad, monitoreo y optimización de la energía tanto de las aplicaciones que se ejecutan en el clúster como del clúster global en general.

En el núcleo de EAR hay una herramienta de monitoreo que recopila datos sobre los nodos y las aplicaciones que se ejecutan en el clúster. Por lo tanto, además de optimizar la energía consumida por las aplicaciones que se ejecutan en el clúster y el clúster global en general, EAR informa sobre el sistema y la aplicación.

La información del sistema recopilada por EAR (llamada firma del sistema) informa sobre el rendimiento de los componentes principales de cada nodo (CPU, memoria). Se utiliza para optimizar la energía del clúster, pero también para informar qué componentes no funcionan al nivel esperado, como, por ejemplo, los DIMM de memoria en un nodo no brindan el ancho de banda que deberían o una CPU en un nodo no funciona a la frecuencia esperada. Por lo tanto, EAR garantiza que la eficiencia del rendimiento del clúster se mantenga al máximo.

La información de la aplicación recopilada por EAR (denominada firma de la aplicación) informa sobre las métricas de rendimiento básicas de la aplicación. Se utiliza para optimizar la energía de la aplicación, pero también se puede utilizar para determinar que una aplicación podría tener un mejor rendimiento debido, por ejemplo, a un alto ancho de banda de memoria o un bajo porcentaje de instrucción AVX512. Por lo tanto, EAR ayuda a una mejor utilización del sistema.

EAR también es robusto y confiable, ya que está operativo en SuperMUC-NG en el Centro de Supercomputación Leibniz (LRZ) en Garching, cerca de Múnich, desde el 8 de agosto de 2019 (https://doku.lrz.de/display/PUBLIC/SuperMUC-NG) y se ejecuta en un clúster de 6480 nodos que ayudan a LRZ a cumplir con sus objetivos de energía. En LRZ, EAR se utiliza de forma transparente a través de un complemento SLURM (https://doku.lrz.de/display/PUBLIC/Energy+Aware+Runtime).

EAR ahora tiene una oferta extensible de complementos para políticas, modelos de energía, rastreo de aplicaciones y lecturas de energía de nodos.

Con la última versión, EAR ha informado ahorros de energía de más del 10% en promedio en un conjunto de aplicaciones evaluadas en colaboración con SURF Open Innovation Lab (SOIL). Se está realizando una evaluación en un conjunto más amplio de aplicaciones.

Los componentes de EAR son la biblioteca EAR (EARL), el administrador de bases de datos EAR (EARDBD), el demonio EAR (EARD), el complemento slurm EAR (EARplug) y el administrador global EAR (EARGM). EAR ofrece una infraestructura altamente configurable y extensible para la gestión de la energía. La última versión de EAR incluye un mecanismo de complemento para cargar dinámicamente políticas de energía, modelos de energía y tiempo, lecturas de energía y generación de rastros de aplicaciones. Para ofrecer un enfoque de instalación y prueba simple, EAR incluye complementos potentes predeterminados para todas estas funciones.

La contabilidad de energía y el monitoreo de energía son proporcionados por EARplug y EARD. EARD es un servicio de Linux que se ejecuta con privilegios en nodos informáticos. Este servicio monitorea continuamente la energía y otras métricas relevantes de los nodos, como la temperatura y la frecuencia promedio, y las informa a la base de datos a través de EARDBD. Además, dado que EARD monitorea continuamente las métricas de los nodos, se realizan pruebas de confiabilidad del hardware periódicamente. Cuando se detecta un problema de hardware, además de intentar solucionarlo, se envía una notificación a los registros del sistema y a la base de datos. Estos eventos pueden ser activados automáticamente por el sistema para una reacción inmediata y/o analizados. EARD utiliza un complemento de energía para proporcionar lecturas de energía. De forma predeterminada, los complementos para Intel NodeManager y Lenovo SD650 utilizados en LRZ se proporcionan utilizando el controlador openipmi, así como una estimación de energía del nodo basada en contadores RAPL. Este último complemento es práctico para permitir que EAR se instale y pruebe en cualquier sistema con CPU Intel.

EARplug se comunica con EARD al inicio/final de la aplicación para ofrecer contabilidad de la aplicación. Esta información se informa asociada con el id del trabajo, siendo posible unir la información de EAR con la informada por el planificador para su posterior evaluación y análisis. La versión actual de EAR solo proporciona EARplug para SLURM.

EARL es una biblioteca de tiempo de ejecución dinámica, transparente y liviana que optimiza y controla la energía consumida por los trabajos de mpi sin ninguna modificación de la aplicación o entrada del usuario. EARL garantiza la utilización óptima de la energía del sistema siguiendo la configuración del administrador del sistema. EARL incluye de manera predeterminada dos políticas de energía: min_time_to_solution y min_energy_to_solution. El objetivo de Min_time_to_solution es aumentar la frecuencia de las aplicaciones cuyo rendimiento se escala con la frecuencia de acuerdo con un factor de escala definido por el administrador del sistema, mientras que las demás se ejecutan a una frecuencia predeterminada más baja y, por lo tanto, se reduce la energía de estas aplicaciones sin penalizar el rendimiento. Min_energy_to_solution tiene como objetivo ahorrar energía al reducir la frecuencia hasta una degradación máxima del rendimiento definida por el administrador del sistema. EARL identifica dinámicamente la región repetitivas en aplicaciones paralelas (bucles externos) sin añadir ninguna anotación o entrada de usuario. El algoritmo encargado de detectar estas regiones se llama DynAIS. DynAIS es un innovador algoritmo multinivel con muy baja sobrecarga. Los componentes internos de EARL están controlados por DynAIS, lo que permite evaluar las decisiones de EARL, una de las diferencias clave entre EARL y otras soluciones. Gracias a DynAIS, EARL calcula dinámicamente la Firma de la Aplicación, un conjunto muy reducido de métricas que caracterizan el comportamiento de la aplicación: Ciclos por Instrucciones (CPI), Transacciones de memoria por Instrucciones (TPI), Tiempo y Consumo, Porcentaje de instrucciones SSE/AVX/AVX512. La Firma de la Aplicación junto con la Firma del Sistema son las entradas para el modelo de potencia y tiempo predeterminado utilizado por EARL. La API de política de energía se ejecuta en diferentes puntos del ciclo de vida de una aplicación, como inicio/fin de la aplicación, inicio/fin del bucle/por iteración, etc. De esa manera, EARL se puede ampliar para ofrecer nuevas políticas o simplemente variaciones de las ya proporcionadas para adaptarse mejor a los requisitos y cargas de trabajo del centro de datos. El complemento de modelo de energía permite la evaluación de nuevos modelos y/o enfoques para proyecciones de energía y tiempo, como redes neuronales, sin reinstalar EAR. Estos dos complementos no solo evitan tener que reinstalar EAR cuando se desea considerar una nueva política o modelo, sino que son realmente muy útiles para la investigación, ya que se pueden habilitar políticas o modelos específicos para usuarios específicos sin afectar la seguridad del sistema. Las métricas recopiladas durante la ejecución de la aplicación se pueden informar a la base de datos EAR para un análisis posterior.

EARL es compatible con la utilización de otras bibliotecas de instrumentación como Extrae (https://tools.bsc.es/extrae). Se proporciona un complemento de seguimiento para los seguimientos de Paraver (https://tools.bsc.es/paraver) de forma predeterminada, pero se pueden desarrollar complementos adicionales.

La configuración de EAR permite al administrador del sistema configurar la granularidad y frecuencia de la información que se envía a la BD para un control detallado del tamaño de la BD. En el caso de sistemas grandes, EARDBD es responsable de garantizar la escalabilidad del sistema.

EARGM monitorea y controla la energía y la potencia global consumidas en el sistema. El objetivo de EARGM es garantizar un consumo máximo de energía durante un período determinado. Puede configurarse para que funcione solo como una herramienta de monitoreo de clúster, que informa el estado global a la BD, o puede configurarse para que sea proactivo y adapte automáticamente los ajustes del sistema al coordinarse con EARL y EARD. Dado que EARL conoce las características de la aplicación, puede reaccionar a los diferentes niveles de advertencia de EARGM en función de las características de la aplicación y la eficiencia energética medida. EARGM es una solución liviana para el control global, ya que solo centraliza la detección de problemas, pero se toman acciones específicas de manera distribuida.

Los componentes de EAR se pueden instalar parcialmente para adaptarse a requisitos específicos. Por ejemplo, si solo se necesita contabilidad de energía, solo se instalarán EARplug y EARD. Dependiendo del tamaño del clúster, EARDBD puede resultar útil, pero no es obligatorio. Si se necesita una monitorización global del clúster, se debe instalar y configurar EARGM en el modelo de monitorización. EARL proporciona optimización energética, pero solo se necesitan EARD y EARPlugin para utilizarlo. Sin embargo, la instalación de todos los componentes ofrece un entorno flexible, extensible y potente para la gestión energética.

Problema:

N/A

Solución:

N/A

Áreas de aplicación:

N/A

Novedad:

N/A

Protección:

For individual/non-commercial use: BSD License (Version 3.0)

For commercial use: EPL License (Version 1.0)

Mercado objetivo:

N/A

Keywords:

Herramientas de rendimiento

TRL: N/A

CRL: N/A

BRL: N/A

IPRL: N/A

TmRL: N/A

FRL: N/A

Más información

Si quieres saber más sobre este proyecto no dudes en contactarnos

Contáctanos