La principal novetat d’aquesta versió és el nou mòdul DROM, que proporcionarà una interfície per a entitats externes que permet canviar els recursos computacionals assignats a processos durant la seva execució.
El departament de Ciències de la Computació del BSC anuncia el llançament de la versió 2.0 de la llibreria DLB (Dynamic Load Balance). La principal novetat d’aquesta versió és el nou mòdul DROM (Dynamic Resource Ownership Management). Aquest proporcionarà una interfície per a entitats externes (per exemple, un gestor de recursos) que permet canviar els recursos computacionals assignats a processos durant la seva execució.
A més, en aquesta nova versió també s’ha ampliat el mòdul encarregat de millorar el balanceig de càrrega entre processos (LeWI). C concretament, LeWI permet ara una comunicació asíncrona amb els runtimes a través d’una extensió a l’API.
Marta García, investigadora principal de l’equipo DLB, assegura que “millorar el balanceig de càrrega no només és important per millorar el rendiment de les aplicacions a nivell individual, també és clau per aprofitar al màxim els recursos de supercomputació”.
“DLB té un gran potencial per solucionar els problemes de balanceig de càrrega en aplicacions híbrides, que d’altra manera implicarien grans esforços de modificació del codi. També alleugera la decisió dels usuaris sobre la millor configuració de processos i threads en codis híbrid”, afirma Jesús Labarta, director del departament de Ciències de la Computació.
Diversos projectes europeus compten avui dia amb l’ajuda de DLB per millorar el balanceig de càrrega, entre ells: Human Brain Project, HPC Europa 3, MontBlanc 3, POP o Interwine. A més, és utilitzat per una àmplia gama d’aplicacions de diferents camps, des de la neurociència, la mecànica computacional, la dinàmica molecular, o les simulacions cosmològiques i el model climàtic.
“DLB és una eina que usem, principalment, per mitigar l’impacte del desbalanceig de càrrega en les execucions d’Alya. Aquests desbalancejos poden aparèixer espontàniament o provenir de la repartició inicial de dades. DLB ressol aquests problemes en temps d’execució, actuant tan sols quan és necessari, i fent la nostra aplicació molt més flexible per usar els nous entorns HPC. Estalviem milions d’hores de CPU cada any gràcies a DLB”, explica Ricard Borrell, investigador sènior de l’equip de desenvolupament d’Alya.
Actualment, la llibreria DLB està organitzada en 2 mòduls diferents, LeWI i DROM, que són independents entre ells però que poden treballar de manera coordinada.
En aquesta nova versió de DLB, a més d’algunes correccions d’errors, s’han introduït les següents noves funcionalitats:
1. DROM (Dynamic Resource Ownership Management) module.
- DROM ofereix una interfície per a entitats externes (per exemple, un gestor de cues o recursos), que permet treure o afegir CPUs a un procés en execució i re-assignar-les a un altre procés que comença o que ja està en execució.
2. Versió asíncrona de l’algoritme de balanceig LeWI (Lend When Idle).
- L’algoritme de balanceig LeWI, ara pot treballar de manera síncrona o asíncrona. La nova versió asíncrona permet una interacció entre els sistemes de runtime i DLB sense consultes constants.
3. Nova API publica de DLB
- Més clara, amb la unificació de la nomenclatura.
- Més exhaustiva, suportant més casos d’ús.
4. Sistema de callbacks per a runtimes paral·lels
- El sistema de callbacks permet registrar funcions per ser cridades per DLB. Ofereix una interfície còmode per integrar nous runtimes paral·lels amb DLB.
5. Suport d’interoperabilitat per a múltiples runtimes
- DLB ofereix suport per a múltiples runtimes en el mateix procés compartint recursos computacionals.
6. Nou mecanisme per configurar l’ús de DLB basat en la variable d’entorn DLB_ARGS.
- Ara, les opcions de DLB estan encapsulades en una sola variable d’entorn, facilitant així la configuració i detecció d’errors quan s’estableixen les opcions d’execució.
Podeu descarregar DLB de manera gratuïta (distribuït sota llicència de codi obert LGPL-3.0) i obtenir-ne més informació a la pàgina web de DLB: https://pm.bsc.es/dlb