JuxMem provides location-transparent data access as well as data persistence in a dynamic, distributed environnement.
Data management in very large-scale grids has not yet received sufficient attention from the Grid Community so far. We think that this aspect will be the next challenge to be tackled for the development of large-scale computing infrastructures. Our goal is to propose a data-sharing service providing transparent access to a globally shared address space in a large-scale distributed environment. Such a system is very similar to a distributed shared memory system: it is responsible for the memory allocation, for data localisation and replication. These issues, which have been extensively studied in the context of cluster computing, need to be revisited to take into account the specificities of a large-scale, highly distributed architecture: highly dynamic network composition and topology, heterogeneity, hierarchical architecture, etc.
We think peer-to-peer architectures illustrate well the key features of environments for handling large-scale distributed data on highly dynamic architectures. However, most recent efforts in this field have focused on file sharing, i.e. read-only data sharing.
We make a step forward and propose a peer-to-peer memory sharing service allowing peers to share modifiable memory data, not only read-only files. The main challenge is to correctly handle data consistency in a highly dynamic environment. We claim that both DSM systems and P2P systems can serve as major sources of inspiration for the design of a hybrid system, with intermediate hypotheses and properties. We propose the concept of data sharing service for grid computing, as a compromise between DSM systems and P2P systems. The main contribution of such a service is to decouple data management from grid computation, by providing location transparency as well as data persistence in a dynamic environment. To illustrate the proposed concept and validate its feasibility, we have implemented a software prototype: the JuxMem (Juxtaposed Memory) platform. JuxMem relies on the generic peer-to-peer service infrastructure provided by the JXTA environment.