Projet ANR CIP

Projet ANR CIP (voir Figure 1) : Le projet CIP Calcul Intensif Pair à pair – http://www.laas.fr/CIS-CIP/ (2007-2011), initié au sein de l’Institut de Recherche en Informatique de Toulouse (IRIT) à l’École Nationale Supérieure d’Électrotechnique, d’Électronique, d’Hydraulique d’Informatique et des Télécommunications (ENSEEIHT) – Institut National de Polytechnique (INP) (équipe TCI – Traitement et Compréhension d’Images) (Pierre Spiteripierre.spiteri@enseeiht.fr), avait pour objectif de proposer des outils et des environnements pour la mise en œuvre de calculs intensifs sur une architecture de réseaux pair à pair.

Les partenaires du projet sont le LAAS-CNRS (Toulouse), le LIFC(Montbéliard), le MIS ex LaRIA (Amiens), et EuroMedTextile (association d’industriels)

L’environnement développé pour la mise en œuvre de calculs intensifs sur une architecture pair à pair totalement décentralisée, est conçu pour les grandes applications de simulation numérique et d’optimisation présentant un parallélisme de tâche et nécessitant des communications fréquentes entre les machines (on s’intéresse essentiellement à la résolution au moyen de méthodes itératives parallèles ou distribuées). Afin de faciliter la programmation et d’optimiser les performances, l’environnement repose sur un jeu d’opérations de communication réduit, par ailleurs le programmeur n’a pas à spécifier le mode de communication contrairement aux bibliothèques comme MPI, ce dernier est fixé par le protocole de manière auto adaptative et dynamique en fonction d’éléments de contexte de la couche réseau et d’indications sur le schéma itératif de calcul préféré du programmeur relevant de la couche application.

Des démonstrateurs ont été réalisés pour deux types d’applications du calcul scientifique : la recherche opérationnelle et la simulation numérique. En recherche opérationnelle ont été traités des problèmes de logistique relevant du transport de fret. En simulation numérique, ont été considérés des problèmes de mathématiques financières et de génie des procédés.

J’ai eu en charge le déploiement d’un code de calcul de mathématiques financières et d’un code de biologie résolvant des modèles couplés. J’ai travaillé sur des algorithmes qui effectuent la résolution par des méthodes parallèle synchrones ou asynchrones de relaxation par blocs (ou par une méthode de sous-domaines sans et avec recouvrement). Ces méthodes ont nécessité d’implémenter des communications collectives originales dans le cadre de l’utilisation de la plate-forme pair-à-pair et d’adapter les codes pour une utilisation à grande échelle. Les problèmes ont été implantés en synchrone et, ce qui est pour moi plus original, en asynchrone. En effet, en simulation numérique, la discrétisation des problèmes aux limites implique la résolution de systèmes algébriques de grande dimension. Or lors d’une utilisation à grande échelle, les temps d’attente dus à la synchronisation entre les processus coopérants deviennent pénalisants. Les algorithmes parallèles asynchrones permettent d’envisager de minimiser les pertes de temps dus à la synchronisation, sans faire appel aux techniques d’équilibrage de charge. Ce sont des algorithmes itératifs dans lesquels les composantes du vecteur itéré sont réactualisées en parallèle, dans un ordre arbitraire et sans synchronisation. Les restrictions imposées aux algorithmes sont très faibles. De plus, les modèles mathématiques qui décrivent ce type de méthode permettent de prendre en compte le maximum de flexibilité entre les processus et d’assurer, sous certaines hypothèses, la convergence des algorithmes itératifs.

Projet CIP

Figure 1 : Projet CIP