Section: New Results
Large-scale data management for grids
The JuxMem data-sharing service
Since 2003, we have been working on the concept of data-sharing service for grid computing, that we defined as a compromise between two rather different kinds of data sharing systems: (1) DSM systems , which propose consistency models and protocols for efficient transparent management of mutable data, on static, small-scaled configurations (tens of nodes) ; (2) P2P systems , which have proven adequate for the management of immutable data on highly dynamic, large-scale configurations (millions of nodes) . We illustrated this concept through the JuxMem software platform. The main challenge in this context is to define appropriate models and protocols allowing to guarantee both consistency of replicated data and fault tolerance in large-scale, dynamic environments .
To tackle the issues described above, we have defined an architecture proposal for a data sharing service. This architecture mirrors a federation of distributed clusters and is therefore hierarchical and is illustrated through a software platform called JuxMem (for Juxtaposed Memory ). Its architecture consists of a network of peer groups (cluster groups), each of which generally corresponds to a cluster at the physical level. All the groups are inside a wider group which includes all the peers which run the service (the juxmem group). Each cluster group consists of a set of nodes which provide memory for data storage (called providers ). All providers which host copies of the same data block make up a data group, to which is associated an ID. To read/write a data block, clients only need to specify this ID: the platform transparently locates the corresponding data block. This architecture is illustrated by a software prototype (development started in February 2003, currently in progress). The prototype is based on the JXTA  generic peer-to-peer framework, which provides basic building blocks for user-defined peer-to-peer services.
In 2006, we have worked on the integration of the transparent data access model provided by JuxMem , into different grid programming models. We proposed an approach integrating data sharing with component-based programming environments  ,  . Within the GDS Project of the ACI MD program, we have explored integrating data sharing into GridRPC, component-based programming environments. To validate this latter approach, JuxMem has been integrated into the DIET GridRPC environment developed within by the GRAAL Project-Team of Inria Rhône-Alpes. Several large-scale experiments have been completed on the Grid 5000 testbed  . A paper describing the results has been recently been submitted to an international conference. A common data-sharing architecture allowing JuxMem to be coupled with the ASSIST environment developed at the University of Pisa has also been proposed (work completed within the CoreGRID NoE, WP3) and published at the CoreGRID Integration Workshop  .
Large-scale evaluation of JXTA protocols on grids
Features of the P2P model, such as scalability and volatility tolerance, have motivated its use in distributed systems. Several generic P2P libraries have been proposed for building distributed applications. However, very few experimental evaluations of these frameworks have been conducted, especially at large scales. Such experimental analyzes are important, since they can help system designers to optimize P2P protocols, and better understand the benefits of the P2P model. This is particularly important when the P2P model is applied to special use cases, such as grid data sharing. In collaboration with Sun Microsystems, we have evaluated the scalability of two main protocols proposed by the JXTA P2P platform: the rendezvous protocol, whose role is to set up and maintain the JXTA P2P overlay, and the discovery protocol, used to find resources inside a JXTA network. We performed a detailed, large-scale, multi-site experimental evaluation of these protocols, using up to 580 nodes spread over the nine clusters of the French Grid'5000 testbed. Mathieu Jan presented the results at the Grid'5000 school (Grenoble, March 2006) and obtained the Best Presentation Award. A paper has been submitted to an international conference.
Dynamic deployment of grid services and applications
To experiment distributed services on large-scale testbeds, dedicated deployment tools are used, such as ADAGE (developed within the Paris Project-Team). Currently, such tools take as an input the application description (in terms of logical participating entities) and the resource description (in terms of nodes and network) and define a valid and possibly optimized mapping between the two. However, deployment is static, in the sense that the set of application entities and the set of resources are fixed at deployment time. We addressed this limitation by defining a mechanism allowing services with dynamic needs to interact with the grid resource manager and dynamically allocate the needed resources. To validate our approach, we implemented a prototype for the JuxMem data-sharing service. This work has been carried out during Voichita Almasan's Master internship, co-advised by Luc Bougé, Gabriel Antoniu and Loïc Cudennec.
Adaptive application-driven overlays
In collaboration with Indranil Gupta's team from the University of Illinois at Urbana Champaign, we studied techniques to use probabilistic fault-tolerance strategies to support data consistency in distributed applications based on dynamic collaborative groups. We proposed, implemented and evaluated an application-driven peer-to-peer overlay, which adapts its logical topology to the application usage. The first results have been published at SRDS 2006  and an extended paper has been submitted to a journal.
The Mome data-repository
Participant : Yvon Jégou.
Providing the data to the applications is a major issue in grid computing. The execution of an application on some site is possible only when the data of the application are present on the ``data-space'' of this site. It is thus necessary to move the data from the production sites to the execution sites. Using a Distributed Shared Memory for sharing data objects on the Grid has been shown to facilitate the execution of applications on the Grid. However, traditional DSM systems have been developed for clusters of computers and target simple applications. Grid systems are much more dynamic (nodes can be dynamically added or removed) and more heterogeneous (at least in the interconnection layer). Grid applications are more complex.
The recent developments on the Mome DSM allow to dynamically manage the DSM nodes (add and remove), to consider the Grid interconnection structure through hierarchical management of the nodes, and to dynamically manage the shared space of the applications using a new memory allocator.