Workflows and Distributed Computing


Distributed computing 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. Current trends in virtualization has led to the appearance of Cloud computing, topic also covered by this team. The research of the team is concentred mainly in three internal research projects: GRID superscalar, COMP superscalar and Semantically Enhanced Resource Allocation (SERA). Also, the team is involved in the following projects:EU-Brazil Cloud Connect, ASCETiC, transPLANT, EUROSERVER, Human Brain Project (HBP) and Severo Ochoa.   

The Grid Computing and Clusters group has been previously involved in the following projects: Business Experiments in Grid (BEinGRID), Business Objective-drive Reliable and Intelligent Grids for Busines (BREIN), CoreGRID Network of execellence , DEISA Distributed European Infraestructure for Supercomputing Applications, HPC Europa, Latin American Grid, The Spanish Thematic Network in Grid Middleware , XtreemOSOGF EuropeNUBAVenus-CSiena,  OPTIMISScalaLifeIS-ENES and EU-BrazilOpenBio.

  • Do research and development in programming environments for grid, clusters and clouds. Specifically, the objective is to offer tools and environments that enable to develop applications that are transparent to the underlying computational platform. What is more, techniques as concurrency exploitation will be applied to efficiently execute the application in the distributed resources.
  • Do research and developement in distributed platforms integration. This research tries to enhance the resource management and interoperability between different distributed computing platfors, such as Grids, Clouds and Clusters introducing semantic and multi-agent technologies.
  • Maintain and manage a small grid with BSC-CNS resources and its connections to external resources, with the objective of testing BSC-CNS research developments in grid and allowing to connect to grid projects' testbeds.
  • COMP Superscalar (COMPSs): COMPSs is the successor of GRIDSs, and inherits its aim and functionality although has other features, like a componentized runtime that allows extensibility and isolation between the different components. Also, it is able to intercept the calls to the tasks enabling to keep the codes without calls to its API. Also, COMPSs has been enabled to run on top of Cloud environments, more specifically on top of the EMOTIVE cloud middleware. Currently the roadmap of COMPSs include the extension of the cloud enabled version, inclusion of web-services in the COMPSs applications and extension to detect dependences between other parameter types besides files. 
  • Semantically Enhanced Resource Allocation (SERA): Recent computing paradigms such as Cloud or Grid Computing allow the users to use heterogeneous computing resources provided by different entities over the internet. When a user wants to use resoruces from different providers, it has to solve several interoperability problems, just because they are not able to understand the languages used by the providers. The SERA project try to solve these problems combining semantic web and multi-agent technologies for providing and interoperable and adaptable execution environment on top of different heterogeneous resources from different providers. In SERA, users' tasks and resources are represented by software agents which are in charge of controlling the users tasks and resources, allocating the resources by means negotiation between the agents taking into account the users and providers' policies and adapting the environment reacting to unexpected events.

Past projects:

  • GRID Superscalar (GRIDSs): GRIDSs is a Grid programming environment that allows to simply program applications that will be efficiently run on a computational Grid or a cluster. GRIDSs is able to parallelize, at runtime and at task level, a sequential application and execute the application in a computational Grid. The used approach is able to take benefit from those applications that are composed of coarse grained tasks. These tasks can be of the size of a simulation, a program, a solver... These kind of applications are very common in bioinformatics, computational chemistry and other scientific fields. GRIDSs is used in production in the MareNostrum supercomputer for non-MPI applications




Sirvent R, Pérez JM, Badia RM, Labarta J. Programación en el Grid: una aproximación basada en lenguajes imperativos. In: Computación Grid: del Middleware a las Aplicaciones, pp. 33-52; 2007.