330 likes | 450 Views
The generic Madeleine communication interface: from clusters to grids. Luc Bougé ReMaP Project LIP, ENS Lyon. Credits. The ParaDigme group Luc Bougé Jean-François Méhaut Jean-Christophe Mignot Raymond Namyst Loïc Prylli Gabriel Antoniu Olivier Aumage
E N D
The generic Madeleine communication interface:from clusters to grids Luc Bougé ReMaP Project LIP, ENS Lyon
Credits • The ParaDigme group Luc Bougé Jean-François Méhaut Jean-Christophe Mignot Raymond Namyst Loïc Prylli Gabriel Antoniu Olivier Aumage Alice Bonhomme Vincent Danjean Alexandre Denis Guillaume Mercier Christian Perez LIP, ENS-Lyon
PM2 Multithreading Library High performance clusters RPC-oriented communication Efficiency Zero-copy transmission Multi-paradigm protocols Multiple protocols Multiple adapters Madeleine II - Objectives Network Node 1 Node 2 LIP, ENS-Lyon
Related works • Standards TCP UDP • Low-level BIP SBP • High-levelMPI PVM • Intermediate level • Nexus • Fast messages • VIA • Gamma LIP, ENS-Lyon
The Madeleine II Interface Mad_begin_packing Mad_pack Mad_end_packing Mad_begin_unpacking Mad_unpack Mad_end_unpacking LIP, ENS-Lyon
int n; int n; char *s = "Hello, World !"; char *s = NULL; p_mad_connection_t cnx; p_mad_connection_t cnx; cnx = mad_begin_packing(channel, dest); cnx = mad_begin_unpacking(channel); n = strlen(s) + 1; mad_pack(cnx, &n, sizeof(int), mad_unpack(cnx, &n, sizeof(int), send_CHEAPER, receive_EXPRESS); send_CHEAPER, receive_EXPRESS); s = malloc(n); mad_pack(cnx, s, n, mad_unpack(cnx, s, n, send_CHEAPER, receive_CHEAPER); send_CHEAPER, receive_CHEAPER); mad_end_packing(cnx); mad_end_unpacking(cnx); Example Sending side Receiving side LIP, ENS-Lyon
Madeleine II – structure Application Application Generic BufferManagementModules Switch Switch BMM1 BMMn BMM1 BMMm Specific Transmission Modules Selection Selection TM1 TMn TM1 TMn Network LIP, ENS-Lyon
Implementation • Madeleine II currently available over: • SISCI/SCI • BIP/Myrinet • MPI • VIA • TCP • SBP LIP, ENS-Lyon
BIP/Myrinet LIP, ENS-Lyon
BIP/Myrinet LIP, ENS-Lyon
SISCI/SCI LIP, ENS-Lyon
SISCI/SCI LIP, ENS-Lyon
Current Limitations • Currently • network-homogeneous clusters • completely connected sessions Node 4 Node 3 SCI Node 1 TCP TCP LIP, ENS-Lyon Node 2
Madeleine II as a basis forgrid communication layers
Madeleine II – Grid Component • Multiprotocol communication device for • Nexus • MPICH • Provide cluster-level communication support • generic • efficient LIP, ENS-Lyon
Nexus/Madeleine II • Globus/Nexus: multi-site management • resource management, security • inter-cluster oriented • Madeleine II: high performance communication • generic structure • intra-cluster oriented • The best of both worlds! • Madeleine as a Nexus module LIP, ENS-Lyon
Structure Nexus Other modules TCP module Message Passing module Nexus/Madeleine module TCP protocol MPL protocol INX protocol MAD SCI protocol MAD TCP protocol Madeleine MPL Library INX Library Sockets SCI TCP LIP, ENS-Lyon
Latency LIP, ENS-Lyon
Bandwidth LIP, ENS-Lyon
MPICH/Madeleine II • MPICH: general-purpose portable MPI implementation • well-defined protocol interface • Abstract Device • Madeleine: cluster-specific high-performance communication • generic structure • available on Gigabit networks • highly optimized implementation • The best of both worlds! • Madeleine as a MPICH device LIP, ENS-Lyon
MPICH/Madeleine II MPI API Generic part (collective operations, context/group management, ...) ADI Generic ADI code, datatype management, request queues management ProtocolInterface CH_MAD device inter-node communication polling loops eager protocol rendez-vous-protocol SMP_PLUG device intra-node communication CH_SELF device self communication Madeleine II multi-protocol management TCP SISCI BIP Fast-Ethernet SCI Myrinet LIP, ENS-Lyon
Latency LIP, ENS-Lyon
Bandwidth LIP, ENS-Lyon
Madeleine II on network-heterogeneous clusters
Network-heterogeneous clusters • Existing solutions for heterogeneous cluster support • PACX-MPI, MPIConnect, MPICH-G • Common features • use of local MPIs for intra-cluster communication • limited inter-cluster support • Getting Madeleine heterogeneous? • MPICH/Madeleine Myrinet SCI LIP, ENS-Lyon
SCI Myrinet Myrinet TCP SCI Objectives LIP, ENS-Lyon
Objectives • Automatic communication support between nodes on different networks • Multiprotocol forwarding • Requirements • genericity • efficiency LIP, ENS-Lyon
Madeleine II – structure Application Application BufferManagementLayer Switch Switch BMM1 BMMn BMM1 BMMm Selection Selection Network Layer TM1 TMn TM1 TMn Network LIP, ENS-Lyon
Endpoint modification Application • Use of a generic TM • Advantages • symmetric BMM selection on both sides • Functions • control over protocol-dependent TM selection • MTU negociation BMM1 BMM2 BMMn Generic TM TM1 TM2 Réseau LIP, ENS-Lyon
The gateway Application Polling thread Forwarding thread Myrinet SCI LIP, ENS-Lyon
Latency LIP, ENS-Lyon
Bandwidth LIP, ENS-Lyon
Conclusion • Madeleine II: a generic communication interface • portable • efficient • Madeleine II as a basis for grid communication layers • Nexus • MPICH • Madeleine II on network-heterogeneous clusters • Myrinet + SCI • Heterogeneous MPICH/Madeleine Departemental-level grid computing? LIP, ENS-Lyon