1 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Ludovic Hablot 17 décembre 2009 Thèse effectuée au Laboratoire de l Informatique du Parallèlisme (LIP) de l ENS Lyon, dirigée par Olivier Glück et Pascale Vicat-Blanc Primet.
2 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plan 1 Contexte 2 Problématique 3 Analyse des communications longue distance des applications MPI 4 Interaction entre TCP et les applications MPI 5 MPI5000 : Eclatement des connexions TCP pour les applications MPI 6 Conclusion
3 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plan 1 Contexte 2 Problématique 3 Analyse des communications longue distance des applications MPI 4 Interaction entre TCP et les applications MPI 5 MPI5000 : Eclatement des connexions TCP pour les applications MPI 6 Conclusion
4 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Contexte Les applications parallèles Besoins en puissance de calcul grandissant pour différents domaines, tels que physique, astronomie, biologie, prévisions météorologiques Division des calculs pour gagner en temps d exécution Le standard MPI MPI (Message Passing Interface) est un standard pour programmer une application parallèle : il fonctionne par passage de messages il en existe plusieurs implémentations il s appuie sur les protocoles de transport existants il propose des fonctions point à point et collectives
4 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Contexte Les applications parallèles Besoins en puissance de calcul grandissant pour différents domaines, tels que physique, astronomie, biologie, prévisions météorologiques Division des calculs pour gagner en temps d exécution Le standard MPI MPI (Message Passing Interface) est un standard pour programmer une application parallèle : il fonctionne par passage de messages il en existe plusieurs implémentations il s appuie sur les protocoles de transport existants il propose des fonctions point à point et collectives Application MPI Implementation MPI Protocole de transport
4 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Contexte Les applications parallèles Besoins en puissance de calcul grandissant pour différents domaines, tels que physique, astronomie, biologie, prévisions météorologiques Division des calculs pour gagner en temps d exécution Le standard MPI MPI (Message Passing Interface) est un standard pour programmer une application parallèle : il fonctionne par passage de messages il en existe plusieurs implémentations il s appuie sur les protocoles de transport existants il propose des fonctions point à point et collectives Application MPI Implementation MPI MX OpenMX TCP SCTP UDP
4 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Contexte Les applications parallèles Besoins en puissance de calcul grandissant pour différents domaines, tels que physique, astronomie, biologie, prévisions météorologiques Division des calculs pour gagner en temps d exécution Le standard MPI MPI (Message Passing Interface) est un standard pour programmer une application parallèle : il fonctionne par passage de messages il en existe plusieurs implémentations il s appuie sur les protocoles de transport existants il propose des fonctions point à point et collectives Application MPI API MPI Opé. Collectives Fonc. p.-a-point Bibliothèque de communication MX OpenMX TCP SCTP UDP
5 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Les grilles Application A Notre définition : Les grilles sont une aggrégation de grappes ou de grappes de grappes, géographiquement éloignées et interconnectées par un réseau longue distance. Ce dernier est constitué d un WAN (Wide Area Network) par opposition au LAN (Local Area Network).
5 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Les grilles Reseau Myrinet Application A Reseau Ethernet Grappe 1 Notre définition : Les grilles sont une aggrégation de grappes ou de grappes de grappes, géographiquement éloignées et interconnectées par un réseau longue distance. Ce dernier est constitué d un WAN (Wide Area Network) par opposition au LAN (Local Area Network).
5 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Les grilles Reseau Infiniband Reseau Ethernet Reseau Myrinet Reseau Ethernet Grappe 1 Grappe 2 Site A Notre définition : Les grilles sont une aggrégation de grappes ou de grappes de grappes, géographiquement éloignées et interconnectées par un réseau longue distance. Ce dernier est constitué d un WAN (Wide Area Network) par opposition au LAN (Local Area Network).
5 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Les grilles Reseau Myrinet Grappe 1 Reseau Ethernet WAN Reseau Infiniband Reseau Ethernet Reseau Ethernet Grappe 2 Site A Site B Grappe 3 Notre définition : Les grilles sont une aggrégation de grappes ou de grappes de grappes, géographiquement éloignées et interconnectées par un réseau longue distance. Ce dernier est constitué d un WAN (Wide Area Network) par opposition au LAN (Local Area Network).
5 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Les grilles Reseau Myrinet Grappe 1 Application A Reseau Ethernet WAN Reseau Ethernet Application A Reseau Infiniband Application A Reseau Ethernet Application A Grappe 2 Site A Site B Grappe 3 Notre définition : Les grilles sont une aggrégation de grappes ou de grappes de grappes, géographiquement éloignées et interconnectées par un réseau longue distance. Ce dernier est constitué d un WAN (Wide Area Network) par opposition au LAN (Local Area Network).
5 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Les grilles Reseau Myrinet Grappe 1 Application A Reseau Ethernet WAN Reseau Ethernet Application A Reseau Infiniband Application A Reseau Ethernet Application A Grappe 2 Site A Site B Grappe 3 Notre définition : Les grilles sont une aggrégation de grappes ou de grappes de grappes, géographiquement éloignées et interconnectées par un réseau longue distance. Ce dernier est constitué d un WAN (Wide Area Network) par opposition au LAN (Local Area Network).
6 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plan 1 Contexte 2 Problématique 3 Analyse des communications longue distance des applications MPI 4 Interaction entre TCP et les applications MPI 5 MPI5000 : Eclatement des connexions TCP pour les applications MPI 6 Conclusion
7 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Spécificités de la grille La grille soulève de nouveaux problèmes liés à ses spécificités : hétérogénéité des machines : problème résolu par un placement approprié des processus MPI hétérogénéité des réseaux rapides des clusters : problème résolu en utilisant une implémentation capable communiquer sur des réseaux différents latence plus grande sur le WAN que sur le LAN goulot d étranglement du WAN : bande passante du WAN inférieure à la la somme des noeuds qui peuvent communiquer dessus partage des ressources, notamment des ressources réseau Reseau Infiniband Reseau Myrinet Grappe 1 Reseau Ethernet Reseau Ethernet WAN Reseau Ethernet Grappe 2 Site A Site B
7 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Spécificités de la grille La grille soulève de nouveaux problèmes liés à ses spécificités : hétérogénéité des machines : problème résolu par un placement approprié des processus MPI hétérogénéité des réseaux rapides des clusters : problème résolu en utilisant une implémentation capable communiquer sur des réseaux différents latence plus grande sur le WAN que sur le LAN goulot d étranglement du WAN : bande passante du WAN inférieure à la la somme des noeuds qui peuvent communiquer dessus partage des ressources, notamment des ressources réseau Reseau Infiniband Reseau Myrinet Grappe 1 Reseau Ethernet Reseau Ethernet WAN Reseau Ethernet Grappe 2 Site A Site B
7 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Spécificités de la grille La grille soulève de nouveaux problèmes liés à ses spécificités : hétérogénéité des machines : problème résolu par un placement approprié des processus MPI hétérogénéité des réseaux rapides des clusters : problème résolu en utilisant une implémentation capable communiquer sur des réseaux différents latence plus grande sur le WAN que sur le LAN goulot d étranglement du WAN : bande passante du WAN inférieure à la la somme des noeuds qui peuvent communiquer dessus partage des ressources, notamment des ressources réseau Reseau Infiniband Reseau Myrinet Latence 1 us Latence 5 us Grappe 1 Reseau Ethernet Reseau Ethernet Latence 50 us Latence 50 us WAN Latence 10 ms Reseau Ethernet Latence 50 us Grappe 2 Site A Site B
7 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Spécificités de la grille La grille soulève de nouveaux problèmes liés à ses spécificités : hétérogénéité des machines : problème résolu par un placement approprié des processus MPI hétérogénéité des réseaux rapides des clusters : problème résolu en utilisant une implémentation capable communiquer sur des réseaux différents latence plus grande sur le WAN que sur le LAN goulot d étranglement du WAN : bande passante du WAN inférieure à la la somme des noeuds qui peuvent communiquer dessus partage des ressources, notamment des ressources réseau Reseau Myrinet Grappe 1 Application A Reseau Ethernet WAN Reseau Infiniband Reseau Ethernet Reseau Ethernet Application A Grappe 2 Site A Site B Grappe 3
7 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Spécificités de la grille La grille soulève de nouveaux problèmes liés à ses spécificités : hétérogénéité des machines : problème résolu par un placement approprié des processus MPI hétérogénéité des réseaux rapides des clusters : problème résolu en utilisant une implémentation capable communiquer sur des réseaux différents latence plus grande sur le WAN que sur le LAN goulot d étranglement du WAN : bande passante du WAN inférieure à la la somme des noeuds qui peuvent communiquer dessus partage des ressources, notamment des ressources réseau Reseau Myrinet Grappe 1 Application A Reseau Ethernet WAN Reseau Ethernet Application A Reseau Infiniband Application B Reseau Ethernet Application B Grappe 2 Site A Site B Grappe 3
7 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Spécificités de la grille La grille soulève de nouveaux problèmes liés à ses spécificités : hétérogénéité des machines : problème résolu par un placement approprié des processus MPI hétérogénéité des réseaux rapides des clusters : problème résolu en utilisant une implémentation capable communiquer sur des réseaux différents latence plus grande sur le WAN que sur le LAN goulot d étranglement du WAN : bande passante du WAN inférieure à la la somme des noeuds qui peuvent communiquer dessus partage des ressources, notamment des ressources réseau Reseau Infiniband Reseau Myrinet Grappe 1 Reseau Ethernet Reseau Ethernet WAN Reseau Ethernet Grappe 2 Site A Site B
8 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Problématiques Contraintes Transparence vis à vis de l utilisateur : on garde intacte l application MPI Transparence par rapport à l implémentation MPI TCP est le protocole utilisé pour les communications sur le réseau longue distance des grilles Comment exécuter au mieux des applications MPI sur une grille de calcul dont le protocole de transport sur le réseau longue distance est TCP, en optimisant l interaction entre ces deux couches? Sous-questions Comment se comportent les applications MPI sur un réseau longue distance? Etude des caractéristiques des communications : taille, fréquence, synchronisme Etude des points problèmatiques de la grille mentionnés précédemment Quels paramètres de TCP limitent les communications des applications MPI dans un réseau longue distance? Etude du contrôle de congestion et du contrôle de fiabilité Comment réduire l impact de TCP sur les communications MPI longue distance? Différentiation des communications (locales ou longue-distance) Adaptation des communications pour rendre le protocole de transport plus réactif
8 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Problématiques Contraintes Transparence vis à vis de l utilisateur : on garde intacte l application MPI Transparence par rapport à l implémentation MPI TCP est le protocole utilisé pour les communications sur le réseau longue distance des grilles Comment exécuter au mieux des applications MPI sur une grille de calcul dont le protocole de transport sur le réseau longue distance est TCP, en optimisant l interaction entre ces deux couches? Sous-questions Comment se comportent les applications MPI sur un réseau longue distance? Etude des caractéristiques des communications : taille, fréquence, synchronisme Etude des points problèmatiques de la grille mentionnés précédemment Quels paramètres de TCP limitent les communications des applications MPI dans un réseau longue distance? Etude du contrôle de congestion et du contrôle de fiabilité Comment réduire l impact de TCP sur les communications MPI longue distance? Différentiation des communications (locales ou longue-distance) Adaptation des communications pour rendre le protocole de transport plus réactif
8 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Problématiques Contraintes Transparence vis à vis de l utilisateur : on garde intacte l application MPI Transparence par rapport à l implémentation MPI TCP est le protocole utilisé pour les communications sur le réseau longue distance des grilles Comment exécuter au mieux des applications MPI sur une grille de calcul dont le protocole de transport sur le réseau longue distance est TCP, en optimisant l interaction entre ces deux couches? Sous-questions Comment se comportent les applications MPI sur un réseau longue distance? Etude des caractéristiques des communications : taille, fréquence, synchronisme Etude des points problèmatiques de la grille mentionnés précédemment Quels paramètres de TCP limitent les communications des applications MPI dans un réseau longue distance? Etude du contrôle de congestion et du contrôle de fiabilité Comment réduire l impact de TCP sur les communications MPI longue distance? Différentiation des communications (locales ou longue-distance) Adaptation des communications pour rendre le protocole de transport plus réactif
9 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Etat de l art : implémentations existantes Gestion de l hétérogénéité Optimisation des comm. longue distance Opérations coll. Optimisation TCP PACX-MPI X X MagPIe X MPICH-GQ Limitation de débit MPICH2 MPICH-VMI X X MetaMPICH X Flux parallèles pour MPICH-G2 X X les gros messages sur le WAN MPICH-Madeleine X Diminution du RTO, limitation de débit, GridMPI X X pacing au démarrage, chgt. fenêtre cong., OpenMPI X?
9 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Etat de l art : implémentations existantes Gestion de l hétérogénéité Optimisation des comm. longue distance Opérations coll. Optimisation TCP PACX-MPI X X MagPIe X MPICH-GQ Limitation de débit MPICH2 MPICH-VMI X X MetaMPICH X Flux parallèles pour MPICH-G2 X X les gros messages sur le WAN MPICH-Madeleine X Diminution du RTO, limitation de débit, GridMPI X X pacing au démarrage, chgt. fenêtre cong., OpenMPI X?
9 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Etat de l art : implémentations existantes Gestion de l hétérogénéité Optimisation des comm. longue distance Opérations coll. Optimisation TCP PACX-MPI X X MagPIe X MPICH-GQ Limitation de débit MPICH2 MPICH-VMI X X MetaMPICH X Flux parallèles pour MPICH-G2 X X les gros messages sur le WAN MPICH-Madeleine X Diminution du RTO, limitation de débit, GridMPI X X pacing au démarrage, chgt. fenêtre cong., OpenMPI X?
9 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Etat de l art : implémentations existantes Gestion de l hétérogénéité Optimisation des comm. longue distance Opérations coll. Optimisation TCP PACX-MPI X X MagPIe X MPICH-GQ Limitation de débit MPICH2 MPICH-VMI X X MetaMPICH X Flux parallèles pour MPICH-G2 X X les gros messages sur le WAN MPICH-Madeleine X Diminution du RTO, limitation de débit GridMPI X X pacing au démarrage, chgt. fenêtre cong. OpenMPI X?
10 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plan 1 Contexte 2 Problématique 3 Analyse des communications longue distance des applications MPI Instrumentation des applications MPI et de TCP Analyse des Nas Parallel Benchmark 4 Interaction entre TCP et les applications MPI 5 MPI5000 : Eclatement des connexions TCP pour les applications MPI 6 Conclusion
11 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Instrumentation des applications MPI et de TCP Pourquoi instrumenter? Analyse des pertes de performances des applications lors du passage sur la grille Deux couches accessibles TCP et MPI : analyse des communications longue distance au niveau de ces deux couches Nombre, taille et fréquence des communications Schéma de communication Evolution de la fenêtre de congestion de TCP Instant des retransmissions InstrAppli Date système des événements Surcharge des fonctions de l API socket Source et destination des données Fonction appelée et paramètres de celle-ci tcp probe modifié Date système des événements Espace libre dans les tampons d émission de TCP
11 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Instrumentation des applications MPI et de TCP Pourquoi instrumenter? Analyse des pertes de performances des applications lors du passage sur la grille Deux couches accessibles TCP et MPI : analyse des communications longue distance au niveau de ces deux couches Nombre, taille et fréquence des communications Schéma de communication Evolution de la fenêtre de congestion de TCP Instant des retransmissions InstrAppli Date système des événements Surcharge des fonctions de l API socket Source et destination des données Fonction appelée et paramètres de celle-ci tcp probe modifié Date système des événements Espace libre dans les tampons d émission de TCP
11 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Instrumentation des applications MPI et de TCP Pourquoi instrumenter? Analyse des pertes de performances des applications lors du passage sur la grille Deux couches accessibles TCP et MPI : analyse des communications longue distance au niveau de ces deux couches Nombre, taille et fréquence des communications Schéma de communication Evolution de la fenêtre de congestion de TCP Instant des retransmissions InstrAppli Date système des événements Surcharge des fonctions de l API socket Source et destination des données Fonction appelée et paramètres de celle-ci tcp probe modifié Date système des événements Espace libre dans les tampons d émission de TCP
11 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Instrumentation des applications MPI et de TCP Pourquoi instrumenter? Analyse des pertes de performances des applications lors du passage sur la grille Deux couches accessibles TCP et MPI : analyse des communications longue distance au niveau de ces deux couches Nombre, taille et fréquence des communications Schéma de communication Evolution de la fenêtre de congestion de TCP Instant des retransmissions InstrAppli Date système des événements Surcharge des fonctions de l API socket Source et destination des données Fonction appelée et paramètres de celle-ci tcp probe modifié Date système des événements Espace libre dans les tampons d émission de TCP
12 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plateforme de tests : Grid 5000 Grid5000 Grille de recherche française qui regroupe 9 sites, interconnectés à 1 ou 10 Gb/s. 10 GbE Links 1 GbE Links Lille Rennes Orsay Nancy Lyon Bordeaux Grenoble Toulouse Sophia Expérience type Réservation de noeuds Déploiement d un environnement Paramétrage des noeuds Lancement de l expérience Récupération et regroupement des résultats
13 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Banc d essai 2 sites connectés au WAN à 1 Gb/s 1, 2 ou 8 noeuds par site selon les expériences Grappe du site S 1 Grappe du site S 2 N 1.1 N 2.1 N 1.2 N 1.3 1 Gbit/s WAN bdp 1 Gbit/s RTT N 2.2 N 2.3 1 Gbit/s 1 Gbit/s N 1.n G 1 N 2.n G 2
14 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Analyse des NAS Parallel Benchmark (NPB) Les NAS Parallel Benchmark [Bailey et al. 1994] Les NPB sont des applications représentatives des applications MPI : BT (Block Tridiagonal) CG (Conjugate Gradient) FT (Fast Fourier Transform) IS (Integer sort) LU (Lower-Upper symmetric Gauss-Seidel) MG (MultiGrid) SP (Scalar Pentadiagonal) différentes tailles de problème
15 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Analyse de BT à l aide de InstrAppli Grâce à InstrAppli et tcp probe, analyse des communications longue distance des NPB. 160000 172.28.54.10->192.168.133.164 Taille du write 140000 120000 Taille (Octets) 100000 80000 60000 40000 20000 0 0 50 100 150 200 250 Temps (s) Nancy's cluster 172.28.54.10 172.28.54.51 172.28.54.12 172.28.54.16 172.28.54.53 172.28.54.52 172.28.54.54 172.28.54.55 46 Mio, 809 msg 4645 Mio, Mio, 809 809 msg msg 46 Mio, 809 msg45 Mio, 809 msg 4645 Mio, Mio, 80809 msg msg 45 Mio, 809 msg 122 Mio, 809 msg123 122 Mio, Mio, 812 812 msg msg 123 Mio, 809 msg123 Mio, 809 msg 123 123 Mio, Mio, 812 812 msg msg 123 Mio, 809 msg 123 Mio, 812 msg 123 Mio, 809 123 msg Mio, 809 msg 123 Mio, 812123 msg Mio, 812 msg 123 Mio, 123 Mio, 809 msg 809 msg 123 Mio, 812 msg 809 45 msg Mio, 809 msg 45 Mio, 809 msg 45 Mio, 45 Mio, 80945 msg Mio, 809 msg 45 45 Mio, Mio, 809 809 msg msg 45 Mio, 808 msg Bordeaux's cluster 192.168.133.164 192.168.133.170 192.168.133.177 192.168.133.173 192.168.133.115 192.168.133.117 192.168.133.161 192.168.133.122
16 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Classification des NPB Classification des NPB Métrique Qualité Faible Moyenne Grande x > 1s 0.1s < x < 1s x < 0.1s Fréquence des comm. FT, IS BT, SP CG, MG, LU x < 1ko 1ko < x < 200ko 200ko < x Taille des comm. LU BT, SP, CG, MG FT, IS Synchronisme des comm. BT, SP, LU CG, MG FT, IS
16 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Classification des NPB Classification des NPB Métrique Qualité Faible Moyenne Grande x > 1s 0.1s < x < 1s x < 0.1s Fréquence des comm. FT, IS BT, SP CG, MG, LU x < 1ko 1ko < x < 200ko 200ko < x Taille des comm. LU BT, SP, CG, MG FT, IS Synchronisme des comm. BT, SP, LU CG, MG FT, IS
16 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Classification des NPB Classification des NPB Métrique Qualité Faible Moyenne Grande x > 1s 0.1s < x < 1s x < 0.1s Fréquence des comm. FT, IS BT, SP CG, MG, LU x < 1ko 1ko < x < 200ko 200ko < x Taille des comm. LU BT, SP, CG, MG FT, IS Synchronisme des comm. BT, SP, LU CG, MG FT, IS
16 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Classification des NPB Classification des NPB Métrique Qualité Faible Moyenne Grande x > 1s 0.1s < x < 1s x < 0.1s Fréquence des comm. FT, IS BT, SP CG, MG, LU x < 1ko 1ko < x < 200ko 200ko < x Taille des comm. LU BT, SP, CG, MG FT, IS Synchronisme des comm. BT, SP, LU CG, MG FT, IS
16 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Classification des NPB Classification des NPB Métrique Qualité Faible Moyenne Grande x > 1s 0.1s < x < 1s x < 0.1s Fréquence des comm. FT, IS BT, SP CG, MG, LU x < 1ko 1ko < x < 200ko 200ko < x Taille des comm. LU BT, SP, CG, MG FT, IS Synchronisme des comm. BT, SP, LU CG, MG FT, IS
16 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Classification des NPB Classification des NPB Métrique Qualité Faible Moyenne Grande x > 1s 0.1s < x < 1s x < 0.1s Fréquence des comm. FT, IS BT, SP CG, MG, LU x < 1ko 1ko < x < 200ko 200ko < x Taille des comm. LU BT, SP, CG, MG FT, IS Synchronisme des comm. BT, SP, LU CG, MG FT, IS
17 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plan 1 Contexte 2 Problématique 3 Analyse des communications longue distance des applications MPI 4 Interaction entre TCP et les applications MPI TCP Suppression du démarrage lent sur les applications MPI Impact de la fenêtre de congestion Impact du contrôle de fiabilité 5 MPI5000 : Eclatement des connexions TCP pour les applications MPI 6 Conclusion
18 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace TCP TCP (Transport Control Protocol) a été créé pour proposer un transfert fiable et ordonné de données aux applications Internet. 3 mécanismes principaux : Contrôle de fiabilité : retransmission des données en cas de perte ou d erreur Contrôle de flux : prévention de la perte de données si un récepteur est trop lent Contrôle de congestion : partage équitable de la bande passante et utilisation maximale des liens. On distingue deux phases : le démarrage lent (slowtstart) la phase d évitement de congestion Taille de la fen. de congestion perte slowstart perte ou perte idle time perte RTO slowstart Temps
19 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Interaction entre MPI et TCP Application Implem. MPI TCP Tampon Utilisateur MPI_Send() write() Tampon Emission WAN / LAN TCP Implem. MPI Tampon Reception Application
19 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Interaction entre MPI et TCP Application Tampon Utilisateur Implem. MPI TCP Tampon Emission WAN / LAN TCP Implem. MPI Tampon Reception Application
19 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Interaction entre MPI et TCP Application Tampon Utilisateur Implem. MPI TCP Tampon Emission WAN / LAN TCP Implem. MPI Tampon Reception Application
19 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Interaction entre MPI et TCP Application Tampon Utilisateur Implem. MPI TCP Tampon Emission WAN / LAN TCP Implem. MPI Application Tampon Reception read() MPI_Recv()
20 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Suppression du démarrage lent pour les applications MPI Le démarrage lent permet de déterminer le débit d émission approprié sur un lien. Il intervient à 3 moments : au démarrage d une connexion après une rafale de perte après un temps d inactivité : particulièrement coûteux pour les applications MPI qui communiquent peu souvent. Peut-on supprimer le démarrage lent après une période d inactivité pour les applications MPI?
20 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Suppression du démarrage lent pour les applications MPI Le démarrage lent permet de déterminer le débit d émission approprié sur un lien. Il intervient à 3 moments : au démarrage d une connexion après une rafale de perte après un temps d inactivité : particulièrement coûteux pour les applications MPI qui communiquent peu souvent. Peut-on supprimer le démarrage lent après une période d inactivité pour les applications MPI?
20 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Suppression du démarrage lent pour les applications MPI Le démarrage lent permet de déterminer le débit d émission approprié sur un lien. Il intervient à 3 moments : au démarrage d une connexion après une rafale de perte après un temps d inactivité : particulièrement coûteux pour les applications MPI qui communiquent peu souvent. Peut-on supprimer le démarrage lent après une période d inactivité pour les applications MPI? 1.4 1.2 bt cg ft is lu mg sp Relative completion time 1 0.8 0.6 0.4 0.2 0
21 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Les différentes variantes de TCP TCP New Reno pose problème sur les liens avec un grand débit et/ou une forte latence. Différentes variantes de TCP améliorent l agressivité de l algorithme : changement des facteurs d augmentation et de diminution de la fenêtre de congestion. On peut citer : BIC, CUBIC, Highspeed, Hamilton TCP (H-TCP), Scalable, Illinois. 2e+06 1.5e+06 cwnd reno cwnd bic cwnd cubic cwnd highspeed cwnd htcp cwnd scalable cwnd illinois Taille (octets) 1e+06 500000 0 5.5 6 6.5 7 7.5 8 8.5 9 9.5 10 Temps (s)
22 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Impact du contrôle de congestion sur les applications MPI Le contrôle de congestion limite l émission des données MPI (et ralentit l exécution d une application)
Changement de variante de TCP pour les applications MPI Est-ce qu une variante de TCP plus agressive permet de limiter le phénomène de rétention des messages MPI en garantissant une plus grande fenêtre de congestion? 500 450 400 reno bic cubic highspeed htcp scalable illinois Temps d execution 350 300 250 200 150 100 50 fichier bt ft lu sp Application Quelle variante choisir? pour les applications MPI, Illinois semble la plus appropriée dans nos tests nombreux paramètres : latence, bande passante, taux de congestion, taux de multiplexage... 23 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace
Changement de variante de TCP pour les applications MPI Est-ce qu une variante de TCP plus agressive permet de limiter le phénomène de rétention des messages MPI en garantissant une plus grande fenêtre de congestion? 500 450 400 reno bic cubic highspeed htcp scalable illinois Temps d execution 350 300 250 200 150 100 50 fichier bt ft lu sp Application Quelle variante choisir? pour les applications MPI, Illinois semble la plus appropriée dans nos tests nombreux paramètres : latence, bande passante, taux de congestion, taux de multiplexage... 23 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace
24 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Impact du contrôle de fiabilité Effectue les retransmissions des paquets perdus ou erronés. La détection d une perte se fait : par la réception de ACK dupliqués ou l expiration du délai de retransmission. Impact d une perte sur le transfert d un fichier Tampon Emission Emetteur RTT Temps Recepteur t 0 t f
24 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Impact du contrôle de fiabilité Effectue les retransmissions des paquets perdus ou erronés. La détection d une perte se fait : par la réception de ACK dupliqués ou l expiration du délai de retransmission. Impact d une perte sur le transfert d un fichier Tampon Emission Emetteur RTT Temps Recepteur t 0 t f Tampon Emission Emetteur RTT Temps Recepteur t 0 t p t f + ɛ
24 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Impact du contrôle de fiabilité Effectue les retransmissions des paquets perdus ou erronés. La détection d une perte se fait : par la réception de ACK dupliqués ou l expiration du délai de retransmission. Impact d une perte sur le transfert d un fichier RTT Tampon Emission Temps Emetteur Impact d une perte sur le transfert d un message MPI Tampon Emission Emetteur RTT Temps Recepteur t 0 t f Recepteur t 0 t f Tampon Emission Emetteur RTT Temps Tampon Emission Emetteur RTT Temps Recepteur t 0 t p t f + ɛ Recepteur t 0 t p t f + delai
25 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Synthèse Le contrôle de congestion et le contrôle de fiabilité ralentissent les applications MPI Ces deux mécanismes sont basés sur le RTT qui est très grand comparé au temps d émission d un message MPI Certaines variantes de TCP permettent une amélioration sensible des performances. La granularité de TCP n est pas assez fine pour les communications MPI Comment réduire l impact de TCP sur les applications MPI?
25 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Synthèse Le contrôle de congestion et le contrôle de fiabilité ralentissent les applications MPI Ces deux mécanismes sont basés sur le RTT qui est très grand comparé au temps d émission d un message MPI Certaines variantes de TCP permettent une amélioration sensible des performances. La granularité de TCP n est pas assez fine pour les communications MPI Comment réduire l impact de TCP sur les applications MPI?
25 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Synthèse Le contrôle de congestion et le contrôle de fiabilité ralentissent les applications MPI Ces deux mécanismes sont basés sur le RTT qui est très grand comparé au temps d émission d un message MPI Certaines variantes de TCP permettent une amélioration sensible des performances. La granularité de TCP n est pas assez fine pour les communications MPI Comment réduire l impact de TCP sur les applications MPI?
26 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plan 1 Contexte 2 Problématique 3 Analyse des communications longue distance des applications MPI 4 Interaction entre TCP et les applications MPI 5 MPI5000 : Eclatement des connexions TCP pour les applications MPI 6 Conclusion
27 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Eclatement des connexions TCP SplitTCP [Kopparty et al., 02] créé dans le contexte des réseaux sans fil a pour but de différencier les liens traversés Source Destination Pour MPI, l éclatement des connexions permet : de rendre visible le réseau longue-distance de proposer des optimisations au niveau des passerelles
27 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Eclatement des connexions TCP SplitTCP [Kopparty et al., 02] créé dans le contexte des réseaux sans fil a pour but de différencier les liens traversés Source Proxy Proxy Destination Pour MPI, l éclatement des connexions permet : de rendre visible le réseau longue-distance de proposer des optimisations au niveau des passerelles
27 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Eclatement des connexions TCP SplitTCP [Kopparty et al., 02] créé dans le contexte des réseaux sans fil a pour but de différencier les liens traversés Source Proxy Proxy Destination Pour MPI, l éclatement des connexions permet : de rendre visible le réseau longue-distance de proposer des optimisations au niveau des passerelles N 1.1 N 2.1 P 1.1.0 P 1.1.1 P 2.1.0 N 1.2 N 2.2 P 1.2.0 P 2.2.0
27 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Eclatement des connexions TCP SplitTCP [Kopparty et al., 02] créé dans le contexte des réseaux sans fil a pour but de différencier les liens traversés Source Proxy Proxy Destination Pour MPI, l éclatement des connexions permet : de rendre visible le réseau longue-distance de proposer des optimisations au niveau des passerelles N 1.1 N 2.1 P 1.1.0 P 1.1.1 WAN P 2.1.0 N 1.2 N 2.2 P 1.2.0 P 2.2.0
27 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Eclatement des connexions TCP SplitTCP [Kopparty et al., 02] créé dans le contexte des réseaux sans fil a pour but de différencier les liens traversés Source Proxy Proxy Destination Pour MPI, l éclatement des connexions permet : de rendre visible le réseau longue-distance de proposer des optimisations au niveau des passerelles N 1.1 N 2.1 P 1.1.0 P 1.1.1 N 1.2 WAN G 1 G 2 P 2.1.0 N 2.2 P 1.2.0 P 2.2.0
28 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Eclatement des connexions TCP : avantages et inconvénients Avantages : Diminution du nombre de connexions et donc de la quantité de mémoire utilisée Diminution des pertes longue distance Fenêtre de congestion plus proche de la capacité réelle du lien longue distance Détection de pertes plus rapide Inconvénient : Coût de recopie au niveau des passerelles Optimisation possibles grâce à l utilisation de passerelles Utilisation d une variante de TCP différente sur le WAN et sur le LAN (par exemple Reno sur le LAN and HighSpeed TCP sur le WAN) Réservation de bande passante entre les passerelles pour limiter la congestion Utilisation de différentes stratégies en fonction de la taille des messages
29 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace MPI5000 : mise en oeuvre de l éclatement des connexions à base de passerelles MPI librarie MPI5000 TCP passerelle MPI5000 MPI5000 TCP passerelle MPI5000 MPI5000 TCP MPI librarie MPI5000 TCP IP IP IP IP L1/L2 L1/L2 L1/L2 L1/L2 N 1.1 G 1 G 2 N 2.1 LAN LAN WAN Trois éléments dans MPI5000 : Librairie : permet l interception des appels aux fonctions de l API socket pour rediriger les connections vers la passerelle du site. Cette librairie est lancée de manière transparente. Passerelles : retransmettent les données vers une autre passerelle ou vers les noeuds locaux.
30 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Evaluation de MPI5000 : surcoût 12500 12000 MPICH2 MPICH2 avec MPI5000 900 800 MPICH2 MPICH2 avec MPI5000 700 11500 600 Latence MPI (us) 11000 10500 10000 Debit (Mbit/s) 500 400 300 200 9500 100 9000 1024 2048 4096 8192 16384 32768 65536 131072 262144 Taille (octets) 0 65536 262144 1.04858e+06 4.1943e+06 1.67772e+07 Taille (octets) Ajout de 141 µs en latence dû : aux recopies dans les passerelles au temps aller-retour entre les passerelles et le noeud La bande passante diminue de 7% (de 840 à 785 Mb/s)
31 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Evaluation de MPI5000 : Exécution des NPB 3 MPICH2 MPICH2 avec MPI5000 2.5 Temps d execution relatif 2 1.5 1 0.5 0 BT CG FT IS LU MG SP
32 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Evaluation de MPI5000 : Réduction du nombre de pertes sur le WAN Est-ce que MPI5000 permet de diminuer le nombre de pertes sur le réseau longue distance? Peu de pertes dans le cas précédent : ajout de trafic concurrent. 3 MPICH2 MPICH2 avec MPI5000 Temps d execution relatif 2.5 2 1.5 1 0.5 MPICH2 MPICH2 sans MPI5000 avec MPI5000 Distant Local Distant NPB DupAck RTOs DupAck RTOs DupAck RTOs BT 757 56 4 1 320 1 CG 78 25 0 0 54 19 LU 327 232 0 0 174 41 MG 94 53 7 0 48 4 SP 1409 778 8 0 667 131 0 BT CG LU MG SP Diminution du nombre des pertes sur le longue distance pour tous les NPB Diminution faible pour CG et MG : MPI5000 n améliore pas le temps d execution Diminution significative pour BT, LU et SP : MPI5000 améliore le temps d exécution
32 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Evaluation de MPI5000 : Réduction du nombre de pertes sur le WAN Est-ce que MPI5000 permet de diminuer le nombre de pertes sur le réseau longue distance? Peu de pertes dans le cas précédent : ajout de trafic concurrent. 3 MPICH2 MPICH2 avec MPI5000 Temps d execution relatif 2.5 2 1.5 1 0.5 MPICH2 MPICH2 sans MPI5000 avec MPI5000 Distant Local Distant NPB DupAck RTOs DupAck RTOs DupAck RTOs BT 757 56 4 1 320 1 CG 78 25 0 0 54 19 LU 327 232 0 0 174 41 MG 94 53 7 0 48 4 SP 1409 778 8 0 667 131 0 BT CG LU MG SP Diminution du nombre des pertes sur le longue distance pour tous les NPB Diminution faible pour CG et MG : MPI5000 n améliore pas le temps d execution Diminution significative pour BT, LU et SP : MPI5000 améliore le temps d exécution
32 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Evaluation de MPI5000 : Réduction du nombre de pertes sur le WAN Est-ce que MPI5000 permet de diminuer le nombre de pertes sur le réseau longue distance? Peu de pertes dans le cas précédent : ajout de trafic concurrent. 3 MPICH2 MPICH2 avec MPI5000 Temps d execution relatif 2.5 2 1.5 1 0.5 MPICH2 MPICH2 sans MPI5000 avec MPI5000 Distant Local Distant NPB DupAck RTOs DupAck RTOs DupAck RTOs BT 757 56 4 1 320 1 CG 78 25 0 0 54 19 LU 327 232 0 0 174 41 MG 94 53 7 0 48 4 SP 1409 778 8 0 667 131 0 BT CG LU MG SP Diminution du nombre des pertes sur le longue distance pour tous les NPB Diminution faible pour CG et MG : MPI5000 n améliore pas le temps d execution Diminution significative pour BT, LU et SP : MPI5000 améliore le temps d exécution
33 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Plan 1 Contexte 2 Problématique 3 Analyse des communications longue distance des applications MPI 4 Interaction entre TCP et les applications MPI 5 MPI5000 : Eclatement des connexions TCP pour les applications MPI 6 Conclusion
34 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Conclusion Analyse des communications MPI sur le réseau longue distance : implémentation de deux outils (InstrAppli et tcp probe) application aux NPB Etude de l interaction entre MPI et TCP : Impact de la fenêtre de congestion si elle est trop petite Impact disproportionné du contrôle de fiabilité sur les messages MPI le RTT n est pas une granularité assez fine par rapport au temps d émission d un message MPI Proposition d éclater les connexions TCP pour les applications MPI : implémentation et évaluation d une architecture à base de passerelles. Passerelles coûteuses sur les gros messages Diminution du temps d exécution de BT et SP de l ordre de 30% Validation de l approche : réduction des pertes longue-distance
35 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Perspectives Optimisation des passerelles Limitation de débit sur le réseau longue distance Modèlisation des communications MPI sur TCP : modélisation de la fenêtre de congestion Adaptation du protocole de transport : trouver une taille de fenêtre de congestion plus appropriée pour des messages de type MPI
36 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Questions
37 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Cout des recopies Espace Noyau utilisateur Driver Tampon utilisateur Tampon reception File de reception carte Tampon emission File d emission carte Noeud local Passerelle distante
38 Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace Banc d essai Grappe du site S 1 Grappe du site S 2 N 1.1 N 2.1 N 1.2 N 2.2 N 1.3 1 Gbit/s WAN bdp 1 Gbit/s RTT N 2.3 1 Gbit/s 1 Gbit/s N 1.n G 1 N 2.n G 2