Section: Overall Objectives
The fast evolution of hardware capabilities in terms of wide area communication, computation and machine virtualization leads to the requirement of another step in the abstraction of resources with respect to parallel and distributed applications. Those large scale platforms based on the aggregation of large clusters (Grids), huge datacenters (Clouds), collections of volunteer PC (Desktop computing platforms), or high performance machines (Supercomputers) are now available to researchers of different fields of science as well as to private companies. This variety of platforms and the way they are accessed also have an important impact on how applications are designed (i.e., the programming model used) as well as how applications are executed (i.e., the runtime/middleware system used). The access to these platforms is driven through the use of different services providing mandatory features such as security, resource discovery, virtualization, load-balancing, monitoring, etc.
The goal of the Avalon team is to execute parallel and/or distributed applications on parallel and/or distributed resources while ensuring user and system objectives with respect to performance, cost, energy, security, etc. Users are not interested in the resources used during the execution. Instead, they are interested in how their application is going to be executed: in which duration, at which cost, what is the environmental footprint involved, etc. This vision of utility computing has been strengthened by the cloud concepts and by the short lifespan of supercomputers (around three years) compared to application lifespan (tens of years). Therefore, a major issue is to design models, systems, and algorithms to execute applications on resources while ensuring user constraints (price, performance, etc.) as well as system administrator constraints (maximing resource usage, minimizing energy consumption, etc.).