The Grid Computing and Clusters team at Barcelona Supercomputing Center is proud to announce a new release, version 1.2, of the programming environment COMPSs, available in three programming languages: Java, C/C++ and Python. The Grid Computing and Clusters team at Barcelona Supercomputing Center offers a set of tools to the HPC community that helps developers program and execute their applications efficiently on distributed computational infrastructures.
The new release of COMPSs includes features that benefit from multicore architectures and enable multiple task implementations:
- N implementations for task methods, each with its own constraints.
- Constraint-aware resource management.
- Support for multicore tasks.
- Pluggable schedulers: facilitate the addition of new schedulers and policies.
- Extended support for objects in C/C++ binding.
- Extended IDE for N implementations and deployment through PMES.
- Update cloud connector for rOCCI to work with rocci-cli v4.2.5.
- Enhance rOCCI connector to compute the real VM creation times.
- Extended resources schema to support Virtual Appliances pricing.
- New LSF GAT adaptor.
This version of COMPSs updates the results of the team’s efforts over the last few years to provide a set of tools that helps developers 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 parallelising their execution.
For some years, COMPSs has been available to users of the MareNostrum supercomputer and to the Spanish Supercomputing Network. It has been adopted in several research projects, including OPTIMIS, VENUS-C, EUBrazilOpenBio and EGI. In these projects COMPSs has been used to implement use cases provided by different communities across diverse disciplines, such as biomedicine, engineering, biodiversity, chemistry, astrophysics and earth sciences. It is also currently being extended and adopted in applications as part of projects including ASCETIC, EUROSERVER, EUBrazil CloudConnect, transPLANT, the BSC Severo Ochoa program and the Human Brain Project flagship.
The new release supports several implementations of task methods, enabling the scheduler to choose that which best suits the constraints of the user. Combined with future scheduling policies, this will allow code to be automatically optimized for power or to better suit heterogeneous architectures. To enable new scheduling policies, the runtime has been extended to support pluggable schedulers. The constraint-aware resource management of the runtime has also been improved, while support for multicore tasks is now available as a new feature. The COMPSs IDE has been extended to support new features and deployment in clouds. See the release notes for the complete list of new features.
COMPSs was downloaded more than 500 times 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 activities have been carried out.
During the last few years, the team’s efforts have focused on the virtualisation technologies adopted by cloud environments which have been emerging recently. In such systems, COMPSs provides scalability and elasticity features by dynamically adapting the number of resources to the actual workload. COMPSs is interoperable with public and private cloud providers like Amazon EC2 and OpenNebula and with OCCI-compliant providers.
The packages and the complete list of features are available on 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.
A user guide and papers published in relevant conferences and journals are available:
- E. Tejedor, M. Farreras, D. Grove, R. M. Badia, G. Almasi and J. Labarta, A High-Productivity Task-Based Programming Model for Clusters. In Journal Concurrency and Computation: Practice and Experience. Volume 24, Issue 18, pages 2421-2448, December 2012.
- E. Tejedor, J. Ejarque, F. Lordan, R. Rafanell, J. Álvarez, D. Lezzi, R. Sirvent and R. M. Badia, A Cloud-unaware Programming Model for Easy Development of Composite Services. In 3rd IEEE International Conference on Cloud Computing Technology and Science (CloudCom11), November 2011.
- Enric Tejedor and Rosa M. Badia. COMP Superscalar: Bringing GRID superscalar and GCM Together. 8th IEEE International Symposium on Cluster Computing and the Grid 2008, Lyon, May 2008.
- Lordan F, Tejedor E, Ejarque J, Rafanell R, Álvarez J, Marozzo F, Lezzi D, Sirvent R, Talia D, Badia RM. ServiceSs: an interoperable programming framework for the Cloud. Journal of Grid Computing. March 2014, Volume 12, issue 1, pages 67-91.