COMPSs enabling main programming languages: Java, C/C++ and Python

03 June 2014

The new release includes PyCOMPSs, a new binding for Python which provides support to large number of scientific disciplines
·The Grid Computer and Clusters team of Barcelona Supercomputing Center offers to the HPC community a set of tools that helps developers to program and execute their applications efficiently on distributed computational infrastructures
 
·The new release includes PyCOMPSs, a new binding for Python which provides support to large number of scientific discipline
s

 
The Grid Computing and Clusters team at Barcelona Supercomputing Center is proud to announce a new release, version 1.1.2, of the programming environment COMPSs, which is already available in three main programming languages: Java, C/C++ and Python.
 
This version of COMPSs updates the result of the team’s work in the last years on the provision of a set of tools that helps developers to program and execute their applications efficiently on distributed computational infrastructures such as clusters, grids and clouds. COMPSs is a task based programming model known for notably improving the performance of large scale applications by automatically parallelizing their execution.
 
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, EUBrazilOpenBio 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, EUROSERVER, EUBrazil CloudConnect, transPLANT, the BSC Severo Ochoa program and the Human Brain Project flagship.
 
While COMPSs native programming language is Java, a binding for C/C++ was developed in 2010 to give service to existing applications. Now, the new release includes support to Python (PyCOMPSs) expanding the areas of use of COMPSs.
 
COMPSs has had more than 500 downloads last year and is used by around 20 groups in real applications. COMPSs has recently attracted interest from areas such as 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, OpenNebula, BSC EMOTIVE Cloud and with OCCI compliant offerings.
 
The current release includes the following main novelties:
o   PyCOMPSs, a new binding for Python applications
o   Integrated Development Environment for COMPSs applications (IDE) that helps in the development of the applications and in its deployment in the distributed environment. This component is available as an Eclipse plugin published in the Eclipse marketplace.
o   New tracing system using the Extrae tool.
 
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 please visit our webpage: http://compss.bsc.es
 
The Grid Computing and Clusters team at Barcelona Supercomputing Center aims to offer tools and mechanisms that enable the sharing, selection, and aggregation of a wide variety of geographically distributed computational resources in a transparent way. The research done in this team is based in the former expertise of the group, and extending it towards the aspects of distributed computing that can benefit from this expertise. The team at BSC has a strong focus on programming models and resource management and scheduling in distributed computing environments.