El BSC fa pública la versió 2.5 de COMPSs a l’ISC-HPC

17 Juny 2019

Aquesta versió inclou suport per a un nou tipus de paràmetre, Concurrent, que permet explotar més el paral·lelisme de les aplicacions.

El Barcelona Supercomputing Center ofereix a la comunitat HPC un conjunt d'eines que ajuden els desenvolupadors a programar i executar les seves aplicacions de forma eficient en infraestructures computacionals distribuïdes

Aquesta versió inclou suport per a un nou tipus de paràmetre, Concurrent, que permet explotar més el paral·lelisme de les aplicacions; un mecanisme de gestió de fallades de les tasques que permet a l'usuari decidir entre varies opcions en cas de tasques fallides; una nova anotació @Comps que suporta aplicacions COMPS niuades; i amb un nou suport per col·leccions de dades per permetre la detecció de dependències de dades d'una manera molt més àmplia.

Esteu convidats a assistir a una demostració PyCOMPSs en directe a l'estand del BSC #A-1412

El grup Workflows and Distributed Computing del Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC) anuncia el llançament de la versió 2.5 (nom en clau Freesia), de l'entorn de programació COMPSs.

Aquesta versió de COMPSs actualitza el resultat del treball de l'equip en els darrers anys en la provisió d'un conjunt d'eines que ajuden els desenvolupadors a programar i executar les seves aplicacions de forma eficient en infraestructures computacionals distribuïdes, com ara clústers, núvols i clústers gestionats amb contenidors. COMPSs és un model de programació basat en tasques capaç de millorar notablement el rendiment d'aplicacions a gran escala mitjançant la paral·lelització de manera automàtica de la seva execució.

COMPSs ha estat disponible en els últims anys pels usuaris del supercomputador MareNostrum i a la Red Española de Supercomputación (RES) i ha estat emprat en diversos projectes de recerca com ara OPTIMIS, VENUS-C, EUBrazil OpenBio, EUBrazil CloudConnect, EUBra-BIGSEA, transPLANT, MUG, EGI, ASCETIC i TANGO. En aquests projectes s'ha fet servir COMPSs per desenvolupar casos d'ús proporcionats per diferents comunitats de diverses disciplines com la biomedicina, l'enginyeria, la biodiversitat, la química, l'astrofísica i ciències de la terra. Actualment també està en extensió i en ús en aplicacions en els projectes NEXTGenIO, mf2C, CLASS, ELASTIC, ExaQUte, LANDSUPPORT, el BioExcel CoE i l'EXPERTISE ETN, així com en un contracte de recerca amb FUJITSU.

La nova versió inclou un nou tipus de direcció per als paràmetres de les tasques: Concurrent, que permet aprofitar millor el paral·lelisme d'algunes aplicacions. Un conjunt de tasques concurrents es poden executar en paral·lel però el programador ha de garantir l’accés exclusiu al paràmetre concurrent especificat. Aquest accés exclusiu al paràmetre es pot garantir mitjançant l'entorn d’emmagatzematge, per exemple Hecuba o DataClay, o mitjançant un sistema de fitxers compartit. Aquest mecanisme serà molt útil per implementar esquemes de reducció més eficients, entre altres usos.

La versió 2.5 també inclou un mecanisme de gestió personalitzable de les fallades de les tasques que permet a l'usuari indicar al runtime algunes opcions de com gestionar l'aplicació en cas de tasques fallides. Mentre que abans d’aquesta extensió un fallada d'una tasca COMPSs pararia tota l’aplicació, l’extensió permet als desenvolupadors d’aplicacions definir diferents comportaments: ignorar l’error, cancel·lar tots els successors de la tasca fallida, tornar a executar la tasca o aturar tota l’aplicació .

La nova versió també inclou una nova anotació de @Compss que suporta la nidificació d’aplicacions COMPSs. Una aplicació COMPSs ara permet que una tasca sigui, alhora, una altra aplicació COMPSs (que inclou tasques noves). La tasca niuada es pot executar en un subconjunt de la infraestructura informàtica, assignant-li un node o conjunt de nodes, segons les indicacions que es donin. El mecanisme de nidificació suporta el desenvolupament de programari estructurat i redueix el coll d'ampolla d'un únic planificador a l'aplicació.

Suport a col·leccions de dades en Python per permetre la detecció de dependències de dades d'una manera molt més àmplia també està present en aquesta nova versió. Aquest mecanisme permet detectar dependències entre elements d’una col·lecció més gran i la col·lecció en si mateixa, que abans no era possible. Això permetrà codis més eficients en el cas d’algorismes que impliquin col·leccions i també sistemes de reducció més eficients. Aquesta extensió només està disponible per Python, a PyCOMPSs.

Altres característiques rellevants són: suport per a tasques multi-node, noves funcions per sincronitzar fitxers sense obrir-los, un nou node màster capaç d'executar tasques en el mateix espai de procés, suport parcial per a tasques Numba i suport per a eines MAP ARM i DDT.

A més, la versió 2.5 de COMPSs ve dotada amb altres funcionalitats menors, extensions i resolució d’errors.

PyCOMPSs/COMPSs tindrà presència al ISC-HPC 2019 amb presentacions i demostracions. Més concretament, demostracions en directe sobre l'ús de PyCOMPSs amb el entorn Jupyter-notebook es realitzarà a l'estand del BSC núm. A1412, el dimarts 18 a les 14.00 hores.

COMPSs ha tingut al voltant de 1000 descàrregues durant l'any passat i és utilitzat per uns 20 grups en aplicacions reals. Recentment, COMPSs ha atret l'interès d'àrees com el reconeixement d'imatges, la genòmica i la biodiversitat, on s'han realitzat cursos específics i accions de divulgació.

Els paquets i la llista completa de funcions estan disponibles a la pàgina de descàrregues. En aquesta pàgina també es pot trobar una maquina virtual que permet provar les funcionalitats de COMPSs a través d'un tutorial pas a pas que guia a l'usuari en el desenvolupament i execució d’un conjunt d'aplicacions d'exemple.

A més del software, hi ha un conjunt de guies d'usuari i administrador, i articles publicats a conferències i revistes rellevants.

Per més informació, visiteu la nostre pàgina web: http://www.bsc.es/compss