PyCOMPSs is the Python binding of COMPSs, a programming model and runtime which aims to ease the development of parallel applications for distributed infrastructures, such as Clusters and Clouds. The Programming model offers a sequential interface but at execution time the runtime system is able to exploit the inherent parallelism of applications at task level. The framework is complemented by a set of tools for facilitating the development, execution monitoring and post-mortem performance analysis.
This initiative aims to promote the framework within the Python community. Additionally to the PIP installable package, the team is working on a prototype integration with the Jupyter notebook, an interface highly used by Python programmers to develop and share their Python scripts and data. This prototype will be used in the coming PyCOMPSs/COMPSs tutorial to be delivered in Barcelona on February 2nd, in the framework of the PATC trainings.
COMPSs has been available for the last years to the MareNostrum supercomputer users and to the Spanish Supercomputing Network and has been adopted in several research projects such as OPTIMIS, VENUS-C, EUBrazil OpenBio, EUBrazil CloudConnect, transPLANT and EGI. In these projects COMPSs has been applied to implement use cases provided by different communities across diverse disciplines as biomedicine, engineering, biodiversity, chemistry, astrophysics and earth sciences. Currently it's also under extension and adoption in applications in the projects ASCETIC, EUBRA BIGSEA, EUROSERVER, NEXTGenIO, MUG, TANGO, the CoE BioExcel, the BSC Severo Ochoa programme and the Human Brain Project flagship. COMPSs will also be further developed and used in the recently accepted H2020 funded projects: mF2C and the EXPERTISE ITN.
COMPSs had around 1000 downloads last year and is used by around 20 groups in real applications. COMPSs has recently attracted interest from areas such as image recognition, genomics and biodiversity, where specific courses and dissemination actions have been performed.
During last years, the team efforts have been focusing on the nowadays-emerging virtualization technologies, adopted by Cloud environments. In such systems, COMPSs provides scalability and elasticity features by dynamically adapting the number of resources to the actual workload.COMPSs is interoperable with both public and private Cloud providers like Amazon EC2, Google Cloud, OpenNebula and with OCCI compliant offerings.
The packages and the complete list of features are available in the Downloads page. A virtual appliance is also available to test the functionalities of COMPSs through a step-by-step tutorial that guides the user to develop and execute a set of example applications. Additionally, a user guide and papers published in relevant conferences and journals are available.
For more information on COMPSs, you can visit the COMPSs webpage.