Esta versión incluye el soporte para un nuevo tipo de parámetro, "Stream", que permite la combinación de los paradigmas data-flow y task-base en una sola aplicación; una nueva funcionalidad que permite la definición de grupos de tareas y el soporte para lanzar excepciones desde tareas y capturarlas en el programa principal; y soporte para la gestión de cancelación de tareas que se puede combinar con la función anterior para cancelar tareas en caso de excepciones.
PyCOMPSs formará parte del programa de un tutorial presentado el lunes. Estáis invitados a asistir a demostraciones PyCOMPSs en directo en el stand del BSC #1975
El grupo Workflows and Distributed Computing del Barcelona Supercomputing Center-Centro Nacional de Supercomputación (BSC) está orgulloso de anunciar el lanzamiento de la versión 2.6 (nombre en clave Gardenia), 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.
La nueva versión viene con un nuevo tipo de dirección para los parámetros de las tareas: Commutative, que puede aplicarse a un grupo de tareas y permite indicar que las tareas en el grupo pueden ejecutarse en cualquier orden, y que este cambio de orden no afecta el resultado final.
La nueva versión también incorpora una innovación en un nuevo tipo de parámetro, "Stream". Este nuevo tipo permite el soporte de datos de entrada y salida de tipo "Stream". Esta nueva característica permite la combinación en el mismo workflow de tareas tipo "data-flow" y tareas tipo "task-based", soportando nuevos tipos de workflows de datos mucho más complejos que antes.
Otro aspecto clave agregado en esta versión se obtiene con un conjunto de nuevas características que amplían el mecanismo de administración de fallos incorporado en la versión 2.6. La nueva versión admite la definición de grupos de tareas. Además, ahora se pueden lanzar excepciones desde las tareas y capturarlas en el programa principal. Junto con la posibilidad de cancelar tareas en un grupo de tareas, el nuevo conjunto de características admitirá un tipo de workflows mucho más dinámico, que es capaz de cancelar un grupo de tareas generadas previamente debido a la ocurrencia de un determinado evento. Ejemplos del tipo de comportamiento que ahora se soportan son: detección de convergencia desde las tareas, evitando sincronizaciones globales; soporte para tareas especulativas; o exploración dinámica del espacio de diseño guiado por resultados de tareas anteriores sin sincronizaciones globales.
COMPS 2.6 también soporta tareas nativas de Python MPI, la integración con esquemas de paralelización de grano fino con OmpSs-2 (enlace C) y la posibilidad de definir tiempos màximos para las tareas.
Además, la versión 2.6 de COMPSs viene dotada con otras funcionalidades menores, extensiones y resolución de errores.
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.
COMPSs en el SC19
En el SC19, PyCOMPSs / COMPSs serà parte del tutorial Practical Persistent Memory Programming, el lunes 18 de Noviembre a las 8.30. También tendrà presencia en el booth del BSC #1975 con demostraciones del uso de PyCOMPSs con Jupyter notebooks, siguiendo el siguiente programa:
- Martes 19 de Noviembre, Demo PyCOMPSs (14.00 - 14.30) - Accelerating parallel code with PyCOMPSs and Numba
- MIercoles 20 de Noviembre, Demo PyCOMPSs (13:00 - 13:30) - Parallel machine learning with dislib
- Jueves 21 de Noviembre, Demo PyCOMPSs (11.00 - 11.30) - Fault-tolerance mechanisms for dynamic PyCOMPSs workflows
Acerca de COMPSs
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.
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.
Para más información, visite nuestra página web: http://www.bsc.es/compss