EAR: Energy management framework for HPC

El programari EAR és un marc de gestió que optimitza l'energia i l'eficiència d'un clúster de nodes interconnectats.

Institució:

Institution

Grup d´investigació:

Energy efficiency management for Data Centers

Investigador/s:

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ó:

El programari EAR és un marc de gestió que optimitza l'energia i l'eficiència d'un clúster de nodes interconnectats. Per millorar l'energia del clúster, EAR proporciona control energètic, comptabilitat, seguiment i optimització tant de les aplicacions que s'executen al clúster com del clúster global global.

Al nucli d'EAR hi ha una eina de supervisió que recull dades sobre els nodes i les aplicacions que s'executen al clúster. Per tant, a més d'optimitzar l'energia consumida per les aplicacions que s'executen al clúster i al clúster global global, EAR informa del sistema i la informació de l'aplicació.

La informació del sistema recollida per EAR (anomenada signatura del sistema) informa del rendiment dels components principals de cada node (cpu, memòria). S'utilitza per optimitzar l'energia del clúster, però també per informar quins components no funcionen al nivell esperat com, per exemple, els DIMM de memòria d'un node no proporcionen l'ample de banda que haurien de proporcionar o una CPU d'un node no s'està executant. la freqüència esperada. Per tant, EAR s'assegura que l'eficiència del rendiment del clúster es mantingui al màxim.

La informació de l'aplicació recollida per EAR (anomenada signatura de l'aplicació) informa de les mètriques bàsiques de rendiment de l'aplicació. S'utilitza per optimitzar l'energia de l'aplicació, però també es pot utilitzar per determinar que una aplicació podria funcionar millor a causa, per exemple, d'un ample de banda de memòria elevat o d'un baix percentatge d'instruccions AVX512. Per tant, EAR ajuda a una millor utilització del sistema.

EAR també és robust i fiable, ja que està operatiu a SuperMUC-NG al Leibniz Supercomputing Center (LRZ) a Garching, prop de Munic, des del 8 d'agost de 2019 (https://doku.lrz.de/display/PUBLIC/SuperMUC-NG) un clúster de 6480 nodes que ajuden LRZ a assolir els seus objectius energètics. A LRZ, EAR s'utilitza de manera transparent mitjançant un connector SLURM (https://doku.lrz.de/display/PUBLIC/Energy+Aware+Runtime).

Ara EAR té una oferta extensible de connectors per a polítiques, models de potència, seguiment d'aplicacions i lectures d'energia dels nodes.

Amb l'última versió, EAR ha informat d'un estalvi energètic superior al 10% de mitjana en un conjunt d'aplicacions avaluades en col·laboració amb SURF Open Innovation Lab (SOIL). S'està fent una avaluació d'un conjunt més ampli d'aplicacions.

Els components EAR són la biblioteca EAR (EARL), el gestor EAR DB (EARDBD), EAR Daemon (EARD), el connector EAR slurm (EARplug) i el gestor global EAR (EARGM). EAR ofereix una infraestructura altament configurable i extensible per a la gestió energètica. L'última versió d'EAR inclou un mecanisme de connectors per carregar dinàmicament polítiques d'energia, models de potència i temps, lectures d'energia i generació de traces d'aplicacions. Per oferir un enfocament senzill d'instal·lació i prova, EAR inclou complements potents per defecte per a totes aquestes funcions.

EARplug i EARD proporcionen la comptabilitat i el control de l'energia. EARD és un servei Linux que s'executa amb privilegis en nodes informàtics. Aquest servei està supervisant contínuament la potència i altres mètriques rellevants dels nodes, com ara la temperatura i la freqüència mitjana, i els informa a la BD mitjançant EARDBD. A més, atès que EARD està monitoritzant contínuament les mètriques del node, les proves de fiabilitat del maquinari es fan periòdicament. Quan es detecta un problema de HW, a part d'intentar solucionar-lo, s'envia una notificació a syslogs i DB. Aquests esdeveniments podrien ser activats automàticament pel sistema per a una reacció immediata i/o analitzats. EARD utilitza un connector d'energia per proporcionar lectures d'energia. De manera predeterminada, els connectors per a Intel NodeManager i Lenovo SD650 utilitzats a LRZ es proporcionen mitjançant el controlador openipmi, així com una estimació d'energia del node basada en comptadors RAPL. Aquest darrer connector és pràctic per permetre que EAR es pugui instal·lar i provar en qualsevol sistema amb CPU Intel.

EARplug es posa en contacte amb EARD a l'inici/final de l'aplicació per oferir la comptabilitat de l'aplicació. Aquesta informació s'informa associada a l'identificador del treball, essent possible unir la informació EAR amb la informada pel planificador per a una posterior avaluació i anàlisi. La versió actual d'EAR només proporciona EARplug per a SLURM.

EARL és una biblioteca d'execució dinàmica, transparent i lleugera que optimitza i controla l'energia consumida pels treballs mpi sense cap modificació de l'aplicació o entrada de l'usuari. EARL garanteix la utilització òptima de l'energia del sistema després de la configuració de l'administrador del sistema. EARL inclou per defecte dues polítiques d'energia: min_time_to_solution i min_energy_to_solution. L'objectiu de Min_time_to_solution és augmentar la freqüència de les aplicacions que s'escala el rendiment amb freqüència segons un factor d'escala definit per l'administrador del sistema, mentre que s'executen les altres a una freqüència inferior per defecte i, per tant, es redueix l'energia d'aquestes aplicacions sense penalització de rendiment Objectius de Min_energy_to_solution per estalviar energia. reduint la freqüència fins a una degradació de rendiment màxima definida per l'administrador del sistema. EARL identifica dinàmicament la regió repetitives s en aplicacions paral·leles (bucles exteriors) sense afegir cap anotació o entrada d'usuari. L'algorisme encarregat de detectar aquestes regions s'anomena DynAIS. DynAIS és un algorisme innovador multinivell amb una sobrecàrrega molt baixa. Els elements interns d'EARL estan impulsats per DynAIS, podent avaluar les decisions d'EARL, una de les diferències clau entre EARL i altres solucions. Gràcies a DynAIS, EARL calcula dinàmicament la signatura de l'aplicació, un conjunt molt reduït de mètriques que caracteritzen el comportament de l'aplicació: cicles per instruccions (CPI), transaccions de memòria per instrucció (TPI), temps i potència, percentatge d'instruccions SSE/AVX/AVX512. La signatura de l'aplicació juntament amb la signatura del sistema són les entrades per al model de potència i temps predeterminat utilitzat per EARL. L'API de política de potència s'executa en diferents punts del cicle de vida d'una aplicació, com ara l'inici/finalització de l'aplicació, l'inici/final del bucle/per iteració, etc. D'aquesta manera, EARL es pot estendre per oferir noves polítiques o simplement una variació de les ja proporcionat per adaptar-se millor als requisits i càrregues de treball del centre de dades. El connector Power Model permet l'avaluació de nous models i/o enfocaments per a projeccions de potència i temps, com ara xarxes neuronals, sense reinstal·lar EAR. Aquests dos connectors no només eviten haver de reinstal·lar EAR quan es vol considerar una nova política o model, sinó que són realment molt útils per a la investigació, ja que es poden habilitar polítiques o models específics per a usuaris específics sense afectar la seguretat del sistema. Les mètriques recollides durant l'execució de l'aplicació es poden informar a l'EAR DB per a una anàlisi post mortem.

EARL és compatible amb la utilització d'altres biblioteques d'instrumentació com Extrae (https://tools.bsc.es/extrae). Per defecte es proporciona un connector de traça per a traces de paraver (https://tools.bsc.es/paraver), però es poden desenvolupar connectors addicionals.

La configuració EAR permet a l'administrador del sistema configurar la granularitat i la freqüència de la informació que s'informa a la base de dades per a un control fi de la mida de la base de dades. Per a sistemes grans, EARDBD s'encarrega de garantir l'escalabilitat del sistema.

EARGM supervisa i controla l'energia global i l'energia consumida al sistema. L'objectiu d'EARGM és garantir un consum màxim d'energia durant un període determinat. Es pot configurar per funcionar només com una eina de monitorització de clúster, informant de l'estat global a la base de dades, o es pot configurar per ser proactiu i adaptar automàticament la configuració del sistema coordinada amb EARL i EARD. Atès que l'EARL coneix les característiques de l'aplicació, pot reaccionar als diferents nivells d'avís de l'EARGM en funció de les característiques de l'aplicació i de l'eficiència energètica mesurada. EARGM és una solució lleugera per al control global, ja que només centralitza la detecció de problemes però es fan accions específiques de manera distribuïda.

Els components EAR es poden instal·lar parcialment per adaptar-se a requisits específics. Per exemple, si només cal comptabilitzar l'energia, només s'instal·laran EARplug i EARD. Depenent de la mida del clúster, EARDBD pot ser útil però no és obligatori. Si es necessita un seguiment global del clúster, s'ha d'instal·lar i configurar EARGM en el model de monitorització. EARL proporciona optimització energètica, però només es necessiten EARD i EARPlugin per utilitzar-lo. Tanmateix, la instal·lació de tots els components ofereix un entorn flexible, extensible i potent per a la gestió energètica.

Problema:

N/A

Solució:

N/A

Àrees d'aplicació:

N/A

Novetat:

N/A

Protecció:

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

For commercial use: EPL License (Version 1.0)

Mercat objectiu:

N/A

Keywords:

Eines de rendiment

TRL: N/A

CRL: N/A

BRL: N/A

IPRL: N/A

TmRL: N/A

FRL: N/A

Més informació

Si vols saber més sobre aquest projecte no dubtis en contactar amb nosaltres

Contacta´ns