El BSC fa pública la versió 2.7 de COMPSs

25 Juny 2020

El BSC 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 algunes extensions per a aplicacions intensives d'E/S: el suport a un nou tipus de tasques d'E/S que poden superposar amb tasques computacionals i la possibilitat de limitar l'ample de banda d'emmagatzematge usat per una tasca per poder controlar la quantitat de tasques intensives en E/S que s'executen en un mateix instant.

Aquesta nova distribució també ve amb PyCOMPSs-player, una eina per desplegar i controlar un entorn PyCOMPSS/COMPSs basat en contenidors, llest per desenvolupar i provar aplicacions.

El grup Workflows and Distributed Computing del Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC) està orgullós d'anunciar el llançament de la versió 2.7 (nom en clau Jacint), 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 EUBra-BIGSEA, MUG, EGI, ASCETIC, TANGO, NEXTGenIO, i mF2C. 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 CLASS, ELASTIC, ExaQUte, LANDSUPPORT, el BioExcel CoE i l'EXPERTISE ETN, així com en un contracte de recerca amb FUJITSU.

La nova versió ve amb suport específic per a aplicacions intensives en E/S, amb funcionalitats que permeten el suport específic a l'E/S: la nova anotació @IO identifica tasques que bàsicament estan fent una operació d'E/S. Aquestes tasques fan un ús molt baix del processador i, per tant, es poden superposar amb tasques computacionalment intensives. Les tasques d'E/S poden ser de qualsevol tipus suportat per COMPSs: tasques regulars, tasques que invoquen binaris externs i tasques MPI, el que li permet donar suport a tasques d'E/S paral·leles que fan servir MPI. Un altre mecanisme, que es pot combinar amb les tasques d'E/S, és la restricció d'ample de banda d'emmagatzematge. Aquesta proporciona una indicació de la quantitat d'ample de banda requerida per la tasca i s'utilitza per limitar el nombre màxim de tasques d'E/S que s'executen en paral·lel, intentant no excedir l'ample de banda màxim de la infraestructura d'emmagatzematge. El motor d'execució de COMPSs utilitza aquests dos mecanismes per planificar i executar millor les aplicacions intensives en E/S.

Una altra addició molt interessant a aquesta nova versió és PyCOMPSs-player. El PyCOMPSs-player és una eina per a usar interactivament PyCOMPSs en màquines locals a través d'imatges de Docker, el que permet una instal·lació ràpida per tutorials, demostracions, desenvolupament d'aplicacions o test, o per a sistemes on la instal·lació pot ser complicada. Es pot instal·lar usant pip. Ve amb un petit conjunt d'ordres senzills per inicialitzar (que descarrega la imatge de Docker per primera vegada), per iniciar un servidor Jupyter-notebooks, per iniciar el monitor COMPSs, etc.

COMPSs 2.7 també admet un nou tipus de dependència de dades basada en directoris en lloc del nom del fitxer real. Això permet definir dependències de dades en aplicacions que fan servir directoris per organitzar múltiples arxius usats per una tasca.

Altres extensions són: una nova propietat "pes" de paràmetre que permet a les polítiques de localitat tenir en compte la mida del paràmetre; suport per a tasques híbrides MPI + OpenMP; suport per type-hinting en Python; millores i optimitzacions en DDS-2, que admet una sintaxi de tipus Spark.

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

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