Participants : Alexandre Denis, François Trahay.
The Madeleine library which had been the communication subsystem of the PM2 software suite for almost ten years has now been replaced in production by the NewMadeleine library. NewMadeleine is primarily dedicated to the exploitation of clusters interconnected with (possibly multiple) high-speed networks, potentially of different natures. NewMadeleine is a complete redesign and rewrite of Madeleine . The new architecture is entirely modular, based on software components.
The NewMadeleine optimizing scheduler aims at enabling the use of a much wider range of communication flow optimization techniques such as packet reordering or cross-flow packet aggregation.
NewMadeleine targets applications with irregular, multiflow communication schemes such as found in the increasingly common application conglomerates made of multiple programming environments and coupled pieces of code, for instance. It is designed to be programmable through the concepts of optimization strategies (what to optimize for, what the optimization goal is) expressed in terms of tactics (how to optimize to reach the optimization goal), allowing experimentations with multiple approaches or on multiple issues with regard to processing communication flows. Tactics themselves are made of basic communication flows operations such as packet merging or reordering.
Special purpose strategies have also been developed. For example, a strategy is dedicated to heterogeneous multirail support. Another QoS-based strategy is responsible for differentiated service support: it allows to use distinct optimizations and priorities for distinct communication flows.
NewMadeleine also provides an interface to the MPI standard called Mad-MPI. This simple, straightforward proof-of-concept implementation provides a subset of the MPI API, to allow MPI applications to benefit from the NewMadeleine communication engine. Mad-MPI is based on the point-to-point nonblocking posting (isend , irecv ) and completion (wait , test ) operations of MPI, these four operations being directly mapped to the equivalent operations of NewMadeleine .
NewMadeleine has strong relationships established with other software projects in the Runtime project-team, each of whose having been the subject of dedicated work during the last year. Indeed, NewMadeleine is the direct core communication library of the Mad-MPI  and MPICH-Madeleine modules and has been ported as a communication subsystem target for the MPICH2-Nemesis software from Argonne National Laboratory  . It is built upon the PadicoTM software component model, and is now the default communication stack for clusters in PadicoTM. It fundamentally relies on the new PIOMan  module and the Marcel module for parallel processing of communication flows and progression. It now works together with the Fast User Trace module to provide post-mortem communication schemes analysis. And finally it directly depends on the recent work on Non-Uniform Input-Output Access (NUIOA) when run on non-uniform hierarchical architectures.
The reference software development branch of the NewMadeleine software consists in 49 000 lines of code. NewMadeleine is available on various networking technologies: Myrinet, Infiniband, Quadrics and Ethernet . This library, distributed as part of the PM2 software is developed and maintained by Alexandre Denis , François Trahay and Raymond Namyst . The software is freely available under the terms of the GNU General Public License version 2 at the following URL: http://runtime.bordeaux.inria.fr/newmadeleine/ .