Mes thématiques d’activités scientifiques
– Simulation numĂ©rique appliquĂ©e Ă la rĂ©solution de problèmes complexes de très grandes tailles ;
– Applications et problèmes pluridisciplinaires permettant d’intĂ©grer mes travaux dans de nombreux domaines pluridisciplinaires et thèmes scientifiques, pour lesquels des compĂ©tences, en calcul intensif, parallèle ou en architectures distribuĂ©es seraient nĂ©cessaires ;
– Problèmes relevant des mathĂ©matiques, de la physique, de la bio-informatique, de la mĂ©canique, du gĂ©nie des procĂ©dĂ©s, de l’économie et de l’algorithmique du texte ;
– Contributions concernant l’implĂ©mentation de mĂ©thodes calculs parallèles synchrones et asynchrones, en particulier sur les tests d’arrĂŞt des itĂ©rations dans un cadre de calculs asynchrones ;
– Analyse du comportement des expĂ©rimentations en liaison avec l’architecture des machines utilisĂ©es et la rapiditĂ© du rĂ©seau d’inter- connexions.
Intérêt de ces méthodes
L’utilisation de ces méthodes est intéressante pour la simulation numérique d’applications industrielles et les applications traitées ont concerné des problèmes aux dérivées partielles fortement non-linéaire par la méthode de de multi-domaines, des problèmes couplés en biologie concernant la séparation de protéines par électrophorèse, des problèmes formulés sous forme complémentaire a intervenant par exemple en traitement d’images ou à des problèmes avec contraintes, des problèmes d’interaction fluide-structure, un problème de mécanique de fluide, un problème de solidification de l’acier modélisé par une équation de la chaleur prenant en compte des phénomènes de rayonnement à la frontière, un problème intervenant en mathématiques financières, un problème de détection de répétition intervenant dans l’algorithmique du texte, en biologie moléculaire (séquences ADN) et en compression de données.
A partir des modélisations effectuées par les experts du domaine, j’ai contribué à l’implémentation d’algorithmes parallèles ou distribués, asynchrones ou synchrones permettant la résolution des problèmes citées précédemment et réaliser ainsi des simulations en faisant appel au calcul haute-performance sur des architectures dédiées (HPC, grille, cluster, simulateur peer to peer, cloud, GPU).
Il est important de remarquer que le découpage en tâches parallèles, i.e. la granularité des tâches et le nombre de processeurs utilisés influent sur les performances des algorithmes. De plus, le surcoût de calcul engendré par des relaxations supplémentaires est inférieur à celui des synchronisations combinées à l’inactivité des processeurs dans les schémas synchrones parallèles et améliore la qualité de la solution numérique.
Exemples de découpage
Résultats obtenus
Les analyses des expérimentations ont permis de montrer un gain de temps d’exécution non négligeable pour les méthodes asynchrones par rapport à celles synchrones dans le cas de machines éloignées géographiquement.
Au niveau analyse, concernant les problèmes en parallèle asynchrone :
• sur cluster :
– Performances généralement faibles des méthodes asynchrones
– Permet de réduire, dans le cas d’un réseau extrêmement rapide, le temps d’exécution par rapport au temps séquentiel.
• sur grille :
– Meilleures performances des méthodes asynchrones qu’en mode synchrone, essentiellement en raison de la latence élevée du réseau.
– L’asynchronisme est particulièrement avantageux lorsque les machines ont des capacités de calcul différentes ou sont situées dans des régions géographiques éloignées.
• sur cloud :
– Grand intérêt avec réseaux lents :
• Le cloud présente des communications réseau indirectes et des latences importantes dues à la virtualisation.
• Il a aussi un réel intérêt particulièrement lorsque les communications entre les machines sont lentes et non directes.
• Le mode parallèle asynchrone limite l’impact de ces communications lentes, en maximisant l’utilisation des ressources locales (cœurs CPU ou GPU).
Les expĂ©rimentations sur Cloud montrent qu’en raison de la prĂ©sence de couches logicielles intermĂ©diaires utilisĂ©es dans ce type d’architectures et du grand nombre de synchronisations en mode synchrone, la version asynchrone permet un gain de temps significatif, rĂ©duisant le temps d’exĂ©cution d’un facteur 30 Ă 100.
De plus, en réduisant les communications entre les processus parallèles, les temps de restitution en mode asynchrone diminuent nettement : des communications avec deux (respectivement six) processus permettent un gain de temps de l’ordre de 100 (respectivement 30).




