El BSC hace pública la versión 2.5 de COMPSs en el ISC-HPC 2019

17 Junio 2019

Esta versión incluye soporte para un nuevo tipo de parámetro, Concurrent, que permite explotar mejor el paralelismo de algunas aplicaciones.

El Barcelona Supercomputing Center ofrece a la comunidad HPC un conjunto de herramientas que ayudan a los desarrolladores a programar y ejecutar sus aplicaciones de forma eficiente en infraestructuras computacionales distribuidas

Esta versión incluye soporte para un nuevo tipo de parámetro, Concurrent, que permite explotar mejor el paralelismo de algunas aplicaciones; un mecanismo de administración de fallos de tareas personalizable que permite al usuario seleccionar opciones de como administrar la aplicación en el caso de tareas fallidas; una nueva anotación @Compss que admite el anidamiento de aplicaciones COMPSs; y un nuevo soporte para cpñeccopmes de datos que permite la detección de dependencias de datos de una manera mucho más amplia.

Estáis invitados a asistir a una demostración PyCOMPSs en directo en el stand del BSC #A-1412

El grupo Workflows and Distributed Computing del Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC) anuncia el lanzamiento de la versión 2.5 (nombre en clave Freesia), del entorno de programación COMPSs.

Esta versión de COMPSs, disponible a partir de hoy, actualiza el resultado del trabajo del equipo en los últimos años en la provisión de un conjunto de herramientas que ayudan a los desarrolladores a programar y ejecutar sus aplicaciones de forma eficiente en infraestructuras computacionales distribuidas, como clústers, nubes y clústeres gestionados con contenedores. COMPSs es un modelo de programación basado en tareas capaz de mejorar notablemente el rendimiento de aplicaciones a gran escala mediante la paralelización de manera automática de su ejecución.

COMPSs ha estado disponible en los últimos años por los usuarios del supercomputador MareNostrum y en la Red Española de Supercomputación (RES) y ha sido usado en varios proyectos de investigación como OPTIMIS, VENUS-C, EUBrazil OpenBio, EUBrazil CloudConnect, EUBra-BIGSEA, Transplant, MUG, EGI, ASCETIC y TANGO. En estos proyectos se ha utilizado COMPSs para desarrollar casos de uso proporcionados por diferentes comunidades de diversas disciplinas como la biomedicina, la ingeniería, la biodiversidad, la química, la astrofísica y ciencias de la tierra. Actualmente también está en extensión y en uso en aplicaciones en los proyectos NEXTGenIO, mf2C, CLASS, ELASTIC, ExaQUte, LANDSUPPORT, el BioExcel CoE y el EXPERTISE ETN, así como en un contrato de investigación con FUJITSU.

La nueva versión viene con un nuevo tipo de dirección para los parámetros de las tareas: Concurrent, que permite explotar aún más el paralelismo de las aplicaciones. Un conjunto de tareas Concurrent se ejecutan en paralelo por el runtime y el programador debe garantizar el acceso exclusivo al parámetro Concurrent especificado. Este acceso exclusivo al parámetro se puede garantizar mediante un backend de almacenamiento, por ejemplo, Hecuba o dataClay, o mediante un sistema de archivos compartido. Este mecanismo será muy útil para implementar esquemas de reducción más eficientes, entre otros usos.

La versión 2.5 también viene con un mecanismo de gestión de fallos de tareas personalizable que permite al usuario dar sugerencias al tiempo de ejecución sobre cómo administrar la aplicación en el caso de fallo de tareas. Mientras que antes de esta extensión, un fallo en una tarea COMPSs detendría tota la aplicación, la extensión permite a los desarrolladores de aplicaciones escoger el comportamiento para gestionar un error de tarea: ignorar el fallo, cancelar todos los sucesores de la tarea fallida, reintentar su ejecución o detener toda la aplicación.

La nueva versión también incluye una nueva anotación @Compss que admite el anidamiento de aplicaciones COMPSs. Si bien no se admite el anidamiento puro, COMPSs ahora permite que una tarea COMPSs sea, a su vez, otra aplicación COMPS (que incluye nuevas tareas). La tarea anidada se puede ejecutar en un subconjunto de la infraestructura informática, asignándole un nodo o conjunto de nodos, de acuerdo con las sugerencias que se dan en la interfaz. El mecanismo de anidamiento admite el desarrollo de software estructurado y reduce el cuello de botella de un solo planificador de la aplicación.

Un soporte para colecciones de datos en Python que permite la detección de dependencias de datos de una manera mucho más amplia también está presente en esta nueva versión. Este mecanismo permite detectar dependencias entre elementos de una colección más grande y la colección en sí misma, que antes no era posible. Esto permitirá códigos más eficientes en el caso de algoritmos que involucran colecciones y también esquemas de reducción más eficientes. Esta extensión solo está disponible para Python, en PyCOMPSs.

Otras características relevantes de la versión 2.5 son: soporte para tareas que usen múltiples nodos, nuevas funciones para sincronizar archivos sin abrirlos, un nuevo nodo master capaz de ejecutar tareas en el mismo espacio de proceso, soporte parcial para tareas de Numba y soporte para herramientas ARM MAP y DDT. Además, la versión 2.5 de COMPSs viene dotada con otras funcionalidades menores, extensiones y resolución de errores.

PyCOMPSs / COMPSs tendrá presencia en el SC18 con presentaciones y demostraciones. Más concretamente, demostraciones en directo sobre el uso de PyCOMPSs con el entorno Jupyter-notebook se realizará en el stand del BSC núm. A-1412, el martes 18 a las 14.00 horas.
COMPSs ha tenido alrededor de 1000 descargas durante el año pasado y es utilizado por unos 20 grupos en aplicaciones reales. Recientemente, COMPSs ha atraído el interés de áreas como el reconocimiento de imágenes, la genómica y la biodiversidad, donde se han realizado cursos específicos y acciones de divulgación.

Los paquetes y la lista completa de funciones están disponibles en la página de descargas. En esta página también se puede encontrar una máquina virtual que permite probar las funcionalidades de COMPSs a través de un tutorial paso a paso que guía al usuario en el desarrollo y ejecución de un conjunto de aplicaciones de ejemplo.

Además del software, hay un conjunto de guías de usuario y administrador, y artículos publicados en conferencias y revistas relevantes.

Para más información, visite nuestra página web: http://www.bsc.es/compss