EN FR
EN FR


Section: Overall Objectives

Introduction

The possible access to computing resources over the Internet allows a new type of applications that use the power of the machines and the network. The transparent and efficient access to these parallel and distributed resources is one of the major challenges of information technology. It needs the implementation of specific techniques and algorithms to make heterogeneous processing elements communicate with each other, let applications work together, allocate resources and improve the quality of service and the security of the transactions.

Figure 1. Layer model of a grid architecture
applications
middleware
services
infrastructure

Given the complex nature of these platforms, software systems have to rely on a layered model. Here, as a specific point of view for our project we will distinguish four layers as they are illustrated in Figure 1 . The infrastructure encompasses both hardware and operating systems. Services abstract infrastructure into functional units (such as resource and data management, or authentication) and thus allow to cope with the heterogeneity and distribution of the infrastructure.

Services form grounding bricks that are aggregated into middlewares. Typically one particular service will be used by different middlewares, thus such a service must be sufficiently robust and generic, and the access to it should be standardized. Middlewares then offer a software infrastructure and programing model (data-parallel, client/server, peer-to-peer, etc.) to the user applications. Middlewares may be themselves generic (e.g.,Globus), specialized to specific programming models (e.g.,message passing libraries) or specific to certain types of applications.

To our opinion the algorithmic challenges of such a system are located at the application and service layers. In addition to these two types of challenges, we identify a third which consists in the evaluation of models, algorithms and implementations. To summarize, the three research areas that we address are:

applications:

We have to organize the application and its access to the middleware in a way that is convenient for both. The application should restrict itself to a sensible usage of the middleware and make the least assumptions about the other underlying (and hidden) layers.

services:

The service layer has to organize the infrastructure in a convenient way such that resources are used efficiently and such that the applications show a good performance.

performance evaluation:

To assert the quality of computational models and algorithms that we develop within such a paradigm, we have to compare algorithms and program executions amongst each other. A lot of challenges remain in the reproducibility of experiments and in the extrapolation to new scales in the number of processors or the input data size.

So, our approach emphasizes on algorithmic and engineering aspects of such computations on all scales, in particular it addresses the problems of organizing the computation efficiently, be it on the side of a service provider or within an application program.

To assert the quality and validity of our results, the inherent complexity of the interplay of platforms, algorithms and programs imposes a strong emphasis on experimental methodology. Our research is structured in three different themes:

  • Structuring of applications for scalability: modeling of size, locality and granularity of computation and data.

  • Transparent resource management: sequential and parallel task scheduling, migration of computations, data exchange, distribution and redistribution of data.

  • Experimental validation and methodology: reproducibility, extendability and applicability of simulations, emulations and in situ experiments.

An important goal of the project is to increase the cross-fertility between these different themes and their respective communities and thus to allow the scaling of computations for new forms of applications, reorganize platforms and services for economic utilization of resources, and to endow the scientific community with foundations, software and hardware for conclusive and reproducible experiments.