El BSC publica la versió 3.2 del model de programació PyCOMPSs/COMPSs

23 Maig 2023

El Barcelona Supercomputing Center ofereix COMPSs 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ó de COMPSs inclou diverses funcionalitats noves, com ara una nova cache en software per tasques GPU i suport per contenidors per a tasques desenvolupades amb MPI i MPMD.

La funcionalitat per registrar la procedència de dades s'ha estès amb el nou perfil Workflow Run Crate profile (v0.1).

El entorn de COMPSs ha estat avaluat amb la plataforma EOSC-Synergy SQAaaS i ha obtingut la insígnia de plata.

El grup Workflows and Distributed Computing del Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC-CNS) està orgullós d'anunciar el llançament de la versió 3.2 (nom en clau Narcissus), de l'entorn de programació COMPSs.

Aquesta versió de COMPSs actualitza el resultat del treball de l'equip en els darrers anys amb 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 per als 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 mF2C, CLASS, ExaQUte, ELASTIC, BioExcel CoE, LANDSUPPORT, EXPERTISE ETN, en el projecte Edge Twins HPC del tipus Innovation Launchpad i en un cas d'ús del ChEESE CoE. 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, aplicacions financeres, telecomunicacions, processos de fabricació i ciències de la terra. Actualment també està en extensió i en ús en aplicacions en els projectes AI-SPRINT, PerMedCoE, MEEP, CAELESTIS, DT-GEO, ICOS, així com en el projecte Español HP2C-DT. Una menció especial és el projecte eFlows4HPC coordinat per el grup i iniciat el gener del 2021, que té com a objectiu desenvolupar un software per a workflows on un dels components principals és l’entorn PyCOMPSs / COMPSs.

Aquesta versió inclou una memòria cache en software per a tasques de GPU. El suport per a les tasques de la GPU es limitava en les versions anteriors a copiar les dades de la memòria de la CPU a la memòria de la GPU, i a l'inrevès, per a cada tasca. Amb la versió actual, les dades es poden emmagatzemar a la memòria de la GPU i reutilitzar-se en múltiples tasques amb la consegüent reducció de temps d'execució. La memòria cache en software emmagatzema les dades a la memòria de la GPU. En cas que el node de memòria on es necessiten determinades dades estigui ple, el sistema allibera objectes d'aquesta GPU menys utilitzats recentment fins que hi hagi prou espai disponible.

Una de les característiques dels COMPS és que les tasques poden ser multifil o multinode, per tant, tenen suport per a tasques MPI. De la mateixa manera, el suport per a les tasques MPMD MPI (acoblament de múltiples aplicacions MPI) es va afegir a la versió 3.0. A més, a la versió 2.8 es va afegir suport per a tasques en contenidors. No obstant això, el suport per a les tasques MPI i MPMD en contenidors requeria més desenvolupaments i s'ha afegit per a aquesta versió.

La versió 3.0 dels COMPS ja incloïa un mecanisme per registrar automàticament la procedència de dades de l'execució de les aplicacions COMPS. Això permet la reproductibilitat i la replicabilitat tant de les aplicacions COMPS com dels algorismes de dislib. El mecanisme es va estendre a la versió 3.1 a les aplicacions Java COMPS. A la versió 3.2 s'ha millorat amb suport per al nou perfil Workflow Run Crate (v0.1) i s'ha millorat l'estructuració dels fitxers font de l'aplicació entre altres.

COMPSs 3.2 ha estat avaluat amb l'eina EOSC Synergy Software Quality Assurance (SQA) com a servei (SQAaaS)[1]. El SQAaaS inclou una eina d'avaluació que reconeix els atributs de qualitat del software, permetent un reconeixement adequat mitjançant insígnies digitals que es poden compartir i verificar. COMPSs ha obtingut la insígnia de plata pels criteris següents: accessibilitat del codi (obert i disponible públicament), publicació del codi sota llicència de codi obert, disponibilitat de metadades del codi, disponibilitat i format de la documentació del codi i publicació del codi amb versions semàntiques.

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

COMPSs ha tingut al voltant de 1.000 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 la enginyeria, el reconeixement d'imatges, la genòmica i la sismologia, àrees 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 imatge de Docker 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, així articles publicats a conferències i revistes rellevants.

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

 


[1] https://sqaaas.eosc-synergy.eu/