Section: Software


Participants : Jens Gustedt, Stéphane Vialle.

parXXL is a library for large scale computation and communication that executes fine grained algorithms (computation and communication are of the same order of magnitude) on coarse grained architectures (clusters, grids, mainframes). Historically, parXXL is the result of a collaboration between INRIA and SUPÉLEC. This library fulfills the requirements of our model PRO, i.e.,it uses an alternation of computation and communication steps. It realizes an abstraction layer between the algorithm as it was designed and its realization on different architectures and different modes of communication. The current version of this library has been registered at the APP and is available at http://parxxl.gforge.inria.fr/ . It integrates a layer for message passing with MPI , a layer for shared memory with POSIX threads, a layer for out-of-core management with file mapping (system call mmap).

All three different realizations of the communication layers are quite efficient. They let us execute programs that are otherwise unchanged within the three different contexts. Usually, they reach the performance of programs that are directly written for a given context. Generally they outperform programs that are executed in a different context than they were written for, such as MPI programs that are executed on a shared memory mainframe, or such as multi-threaded programs that are executed on a distributed shared memory machine.