Recherche

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).