Facilité d'utilisation des architectures massivement parallèles

Conception de l'environnement décentralisé P2PDC pour le calcul intensif pair à pair

Dans le cadre du projet ANR CIS Calcul Intensif Pair à pair, CIP (ANR-07-CIS7-011), porté et coordonné par Didier El Baz de 2008 à 2011, nous avons travaillé à la conception  de l’environnement décentralisé P2PDC pour le calcul intensif pair à pair qui facilite l’utilisation d’architectures distribuées hétérogènes et qui permet la communication directe entre les pairs. Cet environnement est dédié aux applications de calcul intensif de type parallélisme de tâche écrites en C qui nécessitent une fréquence d’échange de messages importante entre les pairs, comme par exemple lors de la résolution de problèmes de simulation numérique ou d’optimisation au moyen de méthodes itératives. Cette approche est originale et très différente des approches basées sur le parallélisme de données, comme BOINC, qui ne nécessitent pas ou qui nécessitent peu d’échanges entre les pairs. La Figure 1 illustre l’architecture en couche de l’environnement P2PDC.

Figure 1 : Architecture de l’environnement de calcul pair à pair P2PDC

L’environnement P2PDC repose sur le protocole de communication auto adaptatif P2PSAP que nous avons développé à partir du cadre général CACTUS de l’Université de l’Arizona (cet environnement est basé sur le concept de micro protocole) cf. Figure 2. Afin de faciliter la programmation des applications distribuées ou parallèles, l’environnement P2PDC utilise un nombre réduit d’opérations de communication. Le protocole P2PSAP choisit le mode de communication le plus approprié (c'est-à-dire des communications synchrones ou asynchrones) en fonction du schéma itératif éventuellement sélectionné par l’utilisateur (ce choix relève de la couche application) et d’éléments de contexte de la couche réseau, comme la topologie du réseau ou le type de réseau sous-jacent (Ethernet ou Infiniband) ; ce qui constitue une grande innovation dans le domaine. Le protocole P2PSAP possède un canal de donnée et un canal de contrôle qui permet la reconfiguration dynamique du canal de donnée notamment en fonction d’impératif algorithmique, comme un changement de schéma itératif qui peut entrainer, par exemple, le passage du mode asynchrone au mode synchrone.

Figure 2 : Architecture du protocole P2PSAP

Le caractère décentralisé de P2PDC facilite le passage à l’échelle. Des fonctionnalités assurant la robustesse ont par ailleurs été développées afin de faire face à la volatilité des pairs. L’environnement P2PDC a été mis en œuvre  sur de nombreuses plateformes comme Planetlab et GRID5000.

Les travaux sur le protocole auto adaptatif P2PSAP ont été publiés dans les Proceedings de PDP 2010 ; ceux sur l’environnement P2PDC ont été publiés dans les Proceedings du Symposium IEEE IPDPSW 2010. Pour la version décentralisée de P2PDC on se reportera aux Proceedings du Symposium IEEE IPDPSW 2011.

Les tests effectués sur la plateforme réseau du LAAS, LaasNextExp, avec le protocole auto adaptatif P2PSAP et l’environnement P2PDC pour des problèmes d’optimisation non linéaires de type flot dans les réseaux en télécommunication ainsi que sur la plateforme réseau du NICTA en Australie, pour des problèmes de simulation numérique de type obstacle qui proviennent de la mécanique ont mis en évidence la grande efficacité des algorithmes itératifs distribués mis en œuvre avec P2PDC. Une démonstration sur PlanetLab avec P2PDC et OMF ainsi qu’un poster ont par ailleurs été présentés par Max Ott du NICTA lors de la 7th GENI Engineering Conference en 2010. Le projet Global Environment for Network Innovations (GENI) est un très grand projet de la NSF sur les réseaux de télécommunication et Internet qui réunit les principales universités Nord-Américaines et quelques laboratoires hors des Etats-Unis comme le NICTA à Sidney, Australie.

Des tests très concluants ont aussi été effectués sur la plateforme Grid 5000. La Figure 3 illustre quelques résultats expérimentaux obtenus sur cinq sites de Grid 5000 et 256 machines pour un problème d’obstacle avec près de 17 millions de points de discrétisation (cf. IEEE HPCC 2012). Les schémas hybrides présentés Figure 3 correspondent à une classe particulière de schémas itératifs asynchrones pouvant donner lieu localement à une mise en œuvre synchrone comme par exemple à l’intérieur d’un cluster ou d’un sous-réseau.

Figure 3 : Efficacité des algorithmes itératifs synchrones, asynchrones et hybrides en fonction du nombre de pairs pour un problème d’obstacle sur Grid 5000 avec 256 machines distribuées sur cinq sites.

Les tests numériques effectués avec les autres partenaires du projet ANR CIP : ENSEEIHT-IRIT et MIS pour des problèmes de mathématiques financières et de logistique (où l’on a considéré en particulier des problèmes de découpe 2D au moyen de la méthode des faisceaux parallèle) ont confirmé ces très bons résultats. Ces travaux ont été publiés à CTW 2012 et IEEE IPDPSW 2011.

On notera qu’à l’occasion des travaux sur la couche protocolaire ajoutée au protocole auto adaptatif P2PSAP afin de prendre en compte les réseaux rapides Infiniband et Myrinet, nous nous sommes livrés à une comparaison de l’efficacité des algorithmes distribués synchrones et asynchrones pour les réseaux Infiniband et Ethernet ; une partie ce ces travaux a été publiée à PDP 2013 (cf. Figure 4). Par la suite, le cas multi réseaux Ethernet, Infiniband et Myrinet a été considéré (cf. Figure 5).

Figure 4 : Efficacité des algorithmes itératifs synchrones et asynchrones en fonction du nombre de pairs pour un problème d’obstacle mis en oeuvre sur Grid5000 avec 64 machines dans des contextes Infiniband ou Ethernet.

Figure 5 : Efficacité des algorithmes itératifs synchrones et asynchrones en fonction du nombre de pairs pour un problème d’obstacle mis en oeuvre sur Grid5000 avec 32 machines dans un contexte multi réseaux Ethernet et Infiniband (16 machines sur réseau Infiniband sont connectées à 16 machines sur réseau Ethernet).

Des fonctionnalités assurant la sureté de fonctionnement de l’environnement décentralisé P2PDC ont été publiées à IEEE CSE 2012. Enfin, Le déploiement d’applications distribuées utilisant l’environnement P2PDC sur diverses plateformes réseau comme PlanetLab au moyen des librairies OMF et OML a été considéré dans le cadre d’une collaboration avec le Networked System Group du NICTA à Sidney et publié à PDP 2014 (cf. Figure 6).

Figure 6 : Accélération des algorithmes itératifs asynchrones en fonction du nombre de pairs pour un problème d’obstacle mis en oeuvre sur PlanetLab avec 24 machines distribuées sur douze sites (huit sites en Europe et quatre sites aux USA).

On pourra aussi se reporter au site du projet CIP.