Concerto: Parallel Adaptive Components

ACI GRID 2001 Project


Project Coordinator

Yves Mahéo, assistant professor


Luc Courtrai, assistant professor
Frédéric Guidec, assistant professor


Jean-Louis Pazat (Irisa, PARIS Inria project)
Françoise André (Irisa, ARMOR Inria project)
Philippe D’Anfray (CEA, Université de Paris 13)


The Concerto Project is supported by the French Research Ministry Program ACI GRID 2001 (category "Jeune équipe", year 2002-2003).

Context and objectives

The aim of Grid Computing is to provide means to build application programs that take benefit from distant computing and storage resources. The context we consider is the one of applications that include several parallel codes running on interconnected clusters of workstations, especially non-dedicated and heterogeneous clusters. We adopt an approach based on components for the development of such applications. It allows complex applications to be developped by assembling available components, each of them being designed as a parallel code to be deployed on a cluster. In order to target a wide range of architecture, the component must have adaptation capabilities. Basic mechanisms that are necessary to this adaptation allows the component to gather information pertaining to its execution environment. This information will be used at the deployment stage to adapt to the hosting platform. As the platform is not dedicated to the component, changes must be taken into account throughout the program’s execution. Perceiving the environment consists in knowing a certain number of resources as well as their state. The term resource has here a broad meaning: it covers for example memory or CPU but also a sofware library, a thread or a directory. The objective of Concerto is to build a sofware platform that allows parallel components to be deployed on a cluster while providing these components with basic mechanisms useful for their adaptation. The Concerto platform and the parallel components are based on the Java technology.

The Concerto Platform

Model of parallel component

We have developed a minimal model for parallel components. The programmer designs his component as a set of cooperating Java threads. The components exhibits three interfaces. The factory interface, whose implementation is the programmer’s responsibility; the life cycle interface, through which one can for example deploy, activate or stop the component; and the resource interface, through which a client may obtain information about the resources used by the component.

The component is structured as a set of Java threads gathered in placement entities called fragments. Threads belonging to the same fragment can share objects whereas threads of distinct fragments must rely on communication mechanisms such as sockets or RMI.

The Concerto platform deploys the component according to an XML deployment descriptor inlcuded in the component. This descriptor specifies the component’s structure, placement directives and constraints on necessary resources.

Management of resources

In the Concerto platform, the execution environment is modelled by objects reifing the different resources provided. We qualify as resources any hardare or software entity a component may use during its execution. Theses resources are classified in two categories: system resources (processor, memory, disk, network interface, given software library,…) that characterize the underlying cluster, and conceptual resources (process, socket, thread, directory, fragment, RMI server,…) that rather pertain to the application.

By invoking the services provided by the Concerto platform, the component can discover the existence of a resource, check the availability of a resource and be informed on the state of a resource. The programmer can deal with resources over the entire cluster. When a resource is created, the platform registers it and assigns a unique identifier to it. Complex selection operation can be performed on the set of registered resources (on the types of resources, on their attributes,…) in order to identify a particular group of resources. Moreover, research strategies can be applied for locating resources in the cluster. Information retrieval is based on the notion of observation report delivered on demand by an identified resource. Obervation reports, which are modelled by a class hierarchy, make it possible to gather information about the state of the many kinds of resources distributed in a cluster in an homogeneous way.


The prototype of the Concerto platform is under development. It is implemented on Linux and rely on a variant of the Kaffee 1.0.7 JVM. It uses the RAJE environment (Resource-Aware Sofware Environment) also developed in our team.


Publications HAL Identifiant hal-00342132;hal-00342134;hal-00342137;hal-00342140;hal-00343116;hal-00343117;hal-00515134

Conference papers


Yves Mahéo, Frédéric Guidec, Luc Courtrai. Middleware Support for the Deployment of Resource-Aware Parallel Java Components on Heterogeneous Distributed Platforms. 30th Euromicro Conference – Component-Based Software Engineering Track (CBSE’04), Sep 2004, Rennes, France. pp.144-151. ⟨hal-00342132⟩
Accès au texte intégral et bibtex BibTex
Yves Mahéo, Frédéric Guidec, Luc Courtrai. Towards Resource-Aware Parallel Components. PDPTA’04, Jun 2004, Las Vegas (NV), United States. pp.1006-1012. ⟨hal-00342134⟩
Accès au texte intégral et bibtex BibTex
Yves Mahéo, Frédéric Guidec, Luc Courtrai. A Java Middleware Platform for Resource-Aware Distributed Applications. 2nd Int. Symposium on Parallel and Distributed Computing (ISPDC’2003), Oct 2003, Ljubljana, Slovenia. pp.96-103. ⟨hal-00342137⟩
Accès au texte intégral et bibtex BibTex
Luc Courtrai, Frédéric Guidec, Nicolas Le Sommer, Yves Mahéo. Resource Management for Parallel Adaptive Components. Workshop on Java for Parallel and Distributed Computing (IPDPS’03), Apr 2003, Nice, France. pp.134-141. ⟨hal-00342140⟩
Accès au texte intégral et bibtex BibTex


Luc Courtrai, Frédéric Guidec, Yves Mahéo. Concerto : gestion de ressources pour composants parallèles adaptables. GRID’02, Dec 2002, Aussois, France. pp.41-53. ⟨hal-00343116⟩
Accès au texte intégral et bibtex BibTex
Luc Courtrai, Frédéric Guidec, Yves Mahéo. Gestion de ressources pour composants parallèles adaptables. JC’02, Oct 2002, Grenoble, France. 13 p. ⟨hal-00343117⟩
Accès au texte intégral et bibtex BibTex

Other publications

Not specified

Yves Mahéo, Luc Courtrai, Frédéric Guidec. Concerto : composants parallèles adaptables. 2003. ⟨hal-00515134⟩
Accès au bibtex

Useful links