BioExcel Webinar #33: COMPSs: a high level framework for the development of parallel applications
Channel: BioExcel CoE
Date: 2018-11-08

One of the biggest challenges in the programming of scientific application is the efficient exploitation of computing infrastructures. In the era of Big Data applications one of the pressing requirements on the researcher is to achieve a convergence between the Exascale and Big Data worlds. The issues related to such a challenge include the design of tools to easily program or migrate the code and to execute the applications on the computing infrastructures. Amongst the different paradigms for implementing distributed applications, the task-based programming has proven to be a suitable model. PyCOMPSs/COMPSs is a task-based framework which aims to ease the development and execution of applications for distributed infrastructures, such as Clusters and Clouds. A COMPSs application is composed of tasks, which are annotated methods. At execution time, the runtime builds a task graph that takes into account the data dependencies between tasks, and from this graph schedules and executes the tasks in the distributed infrastructure, exploiting the inherent parallelism and taking also care of the required data transfers between nodes. COMPSs is written in Java, and supports applications in Java, Python and C/C++. COMPSs has proven to improve the performance of the execution of the applications, achieving scalability while maintaining an easy programming model. COMPSs has been adopted by several user communities from different fields such as Life Science, Earth Science, Engineering belonging. It is daily used by BSC and RES users in Marenostrum and is also deployed in worldwide infrastructures such as the EGI Federated Cloud.

In this webinar we will introduce COMPSs fundamentals and we will present the approach in the BioExcel CoE to develop life science workflows composed of reusable building blocks developed with PyCOMPSs.