Plateforme Corba 3 O Coulaud T Gautier Plateforme
Plate-forme Corba 3 O. Coulaud / T. Gautier
Plateforme de simulation moléculaire • • • Plusieurs modèles physiques • • • 1. QM: Mécanique Quantique 2. MD: Dynamique Moléculaire 3. CM: Méthode du Continuum - échelle atomique- groupe d’atomes - électrostatique/solvant - Plusieurs applications • • • 1. QM: en cours 2. MD: TAKAKAW 3. CM: BEMP 2 - C, MPI + Thread = Athapascan - Fortran 90, Open. MP - Couplage des applications • • Critères de “performance” : qualité numérique, temps d’exécution Critères de développement : ré-utilisation de l’existant, mais possibilité d’adapter les codes !
Plate-forme distribuée Corba
Aspect informatique • • Couplage de codes hétérogènes • • Portabilité • • langages : C (DM) et F 90 (CM) parallélisme : Athapascan (DM) et Open. MP (CM) utiliser un standard Plug and Run facilité de changer de modèle ; ex. continuum : éléments finis Choix : utiliser un bus logiciel CORBA : ORBacuse V 3. 1. 1
Système moléculaire hybride Zone 3 Continuum Mécanique quantique QM Zone 1 ~100 atomes MM Mécanique classique Zone 2 Molécule+solvant ~10 à 50 000 atomes Couplage de modèles : quantique, mécanique moléculaire, continuum
Echanges d’informations • • Méthode du continuum • Position et charges des atomes pour le second membre et la surface S Dynamique moléculaire • • valeur du gradient du potentiel sur les atomes, énergie de réaction du solvant. Coût : échange d’un vecteur de taille 3 N soit pour 100 000 atomes 2 x 2, 4 Mo à échanger par macro pas.
Une alternative • Ne pas reconstruire la surface S à chaque macro pas ensemble moléculaire est contenu dans un ellipsoide. • Utiliser les structures internes des applications • • pavage de l’espace en cube pour la dynamique maillage de la surface pour le continuum
• • • On duplique ces deux structures pour diminuer les échanges • • évaluation du second membre sur le maillage par la DM, évaluation du potentiel et de son gradient sur la grille par la CM. Le travail supplémentaire • interpolation sur les atomes à partir des valeurs sur la grille. Coût 3 x le nombre de nœuds du maillage DM CM 4 x le nombre de sommets de la grille indépendant du nombre d’atomes, va dépendre de la géométrie et du Cut-off.
Modèle client/serveur DM CM maître p. Surface CORBA Surface Grid p. Grid esclaves client : Objet CORBA serveur
Schéma de communication évaluation de b sur S vecteur de taille : 3 #S vecteur de taille : 4 #G interpolation Atomes (position, charge) : 3 N Potentiel + Gradient : 4 N Potentiel + Gradient sur G
Communication entre la DM et la CM Contribution locale du rhs sur le maillage (intégration numérique) Slave D M Slave S S thread Accumulation rhs sur une surface S (<< #atoms) thread S Athapascan CM thread CORBA Open. MP
Communication entre la CM et la DM Interpolation sur les atomes Slave D M Broadcast Slave CM Potentiel / Gradient sur une grille G (<< #atoms) Slave Athapascan CORBA Sys. Lin. (I+A) s. N = b + Calcul du potentiel et de son gradient sur la grille Open. MP
Suivi de l’application (Pilote) • • Application en Java Permet de suivre l’application • • les énergies la température, la pression, temps d’une itération …
Coût du software • • (en notation O(1), wc -l) CORBA • 500 lignes de définition IDL Takakaw • 100 000 lignes de C / 2500 lignes pour le pilote de simulation • Couplage avec Bem. P 2 et CORBA – 2500 lignes de plus : • Implantation de l’IDL • Une partie du calcul du RHS • Bem. P 2 • 5000 lignes de Fortran 90 avec des directives Open. MP • Couplage avec Takakaw et CORBA – 2000 lignes de plus
Travail à faire • Améliorer le lancement des applications • • Une session de simulation : lancement des serveurs et du pilote de calcul Identification des objets « serveurs » sur le bus entre différentes sessions • Avoir une version MPI du serveur électrostatique • Améliorer la collecte des données pour les fichiers de résultats • • Volume important de données Fréquence « soutenue » • Visualisation
Evolution de la plateforme • Vers une évolution « data » -centrique (idéale) : • • • Les données (tableaux) sont distribuées et constituent une partie importante de l’interface exportée de chacune des applications Ces données sont partagées, le pilote de simulation contrôle l’ordre des accés effectués Eviter les copies (e. g. lorsque deux processus s’exécutent sur une même machine) • Utilisation des objets corba parallèles et … • Extension de la plateforme • Performance • • Langage de coordination pour l’écriture du pilote de simulation ? ? ? Utilisation avec Fortran / Open. MP ? ? ? • Permettre de définir une interface IDL aux objets distribués • Eviter les phases de réduction/diffusion à chaque itération
- Slides: 16