Upload
vukhue
View
215
Download
0
Embed Size (px)
Citation preview
Modélisation de la combustion en chimiecomplexe : le défi des architectures
massivement parallèles
S. Descombes 2 M. Duarte 3 T. Dumont 1 V. Louvet1 M. Massot 3
1Institut Camille Jordan - CNRS & Université Claude Bernard Lyon 1 - France2Laboratoire J. Dieudonné, Université Nice-Sophia Antipolis - France
3Laboratoire EM2C - Ecole Centrale Paris - France
GTN Orsay - 23 mars 2011
Sommaire
Contexte et Motivations
Modélisation de la combustion en chimie complexe
Stratégie numérique
Simulations numériques
Architectures massivement parallèles
Conclusions et Perspectives
Sommaire
Contexte et Motivations
Modélisation de la combustion en chimie complexe
Stratégie numérique
Simulations numériques
Architectures massivement parallèles
Conclusions et Perspectives
Simulation numérique de phénomènes réactifsinstationnaires
I Amélioration des performances des moteursI Dynamique des flammes :
• allumage• extinction• polluants
I Mélange réactifs pauvres : moins de combustible, plusd’oxydants• moins de polluants• meilleure efficacité• plus d’instabilités
Limites des stratégies actuellesI Utilisation de cinétique chimique détaillée sur des cas
réalistes inaccessiblesI Utilisation de méthodes de tabulation (ISAT, FPI)I Cinétique simplifiée insuffisante pour simuler de façon
précise les phénomènes où l’aspect multi-échelle estessentiel: pas de capture des effets instationnaires,d’allumage ou d’extinction
Vers la chimie complexe
I Schéma cinétique détaillé: permettent d’avoir la bonnecomposition et la bonne vitesse de flamme
Flamme prémélangée
Difficultés à surmonter en chimie complexeI Raideur spatiale
I Résolution d’une très large gamme d’échellesI Les taux de production varient très fortement d’une espèce
à l’autre dans le front de flamme (facteur 1030)I Nombre de variables à traiter: résolution d’EDP portant sur
des dizaines d’espèces, prise en compte de centaines deréactions.
Difficultés liés aux infrastructures de calculI Beaucoup de coeurs:
I Fréquence d’horloge en baisse à cause du problème de laconsommation électrique et du dégagement de chaleur:coeur moins rapide
I Mémoire par coeur en baisse
I Différent types de coeurs:I architecture hétérogène, hybrideI le CPU s’accompagne de nombreux coeurs de conception
différentes : les GPU
Adéquation méthodes numériques - algorithmes -architectures
Conception et adaptation nécessaires des méthodesnumériques et des algorithmes que l’on souhaite utiliser:
→ Adapté à la physique du problème: raideur, complexité dumodèle, ...
→ Adapté aux architectures machines envisagées: simulationde cas réalistes
Sommaire
Contexte et Motivations
Modélisation de la combustion en chimie complexe
Stratégie numérique
Simulations numériques
Architectures massivement parallèles
Conclusions et Perspectives
Modélisation simplifié de la combustionModélisation des phénomènes multi-échelles par des systèmesde réaction-diffusion:
∂tu− ∂x (D(u)∂xu) = f(u), x ∈ Rd , t > 0,
u(0,x) = u0(x), x ∈ Rd ,
Sous forme semi-discrète:
dUdt− BU = F(U), t > 0,
U(0) = U0,
Hypothèses:
I Diffusion homogèneI Enthalpie constante
Chimie Complexe∑k∈[1,nk ]
ν ′kiSk ∑
k∈[1,nk ]
ν ′′kiSk i ∈ R = [1,nR]
Modèle adimensionné:∂τYk − ∂xxYk =
L2
D0
Wk wk
ρ
∂τYk (0) = Y 0k
I Yk : fraction massique de la keme espèceI L : longueur de diffusionI D0 : coefficient de diffusion homogèneI Wk : masse molaire pour l’espèce kI wk : taux de production de la keme espèce, dépendant de
façon fortement non linéaire des YkI ρ : densité
Terme de réactionwk =
∑k∈[1,nk ]
(ν ′′ki − ν ′ki)τi
I τi : taux d’avancement de la ieme réactionI Loi d’action de masse:
τi = Kfi (T )[∏
k∈[1,nk ]
X ν′kik −
1Kei (T )
∏k∈[1,nk ]
X ν′′kik ]
I Kfi (T ) : taux de réaction direct, donné de manièreempirique par une loi d’Arrhenius:
Kfi (T ) = AiT βi exp−Ei
RTI Xk : fraction molaire de l’espèce kI Kei (T ) constante d’équilibre de la réaction i :
Kei (T ) = exp[−∑
k∈[1,nk ]
νkiFk (T )]
où Fk (T ) est le paramètre d’énergie libre.
Evaluation des données de chimieMécanismes du calcul de chimie:I Base de données thermodynamique associé au
mécanisme chimique souhaitéI Interprèteur qui calcule les propriétés thermodynamiques
du mécanisme réactionnelI Bibliothèque de sous-programmes pour le calcul des
différents éléments du terme de réaction:→ Chemkin II, code historique, développé depuis près de 30
ans, à l’origine par le Sandia National Laboratory, puis parla société ReactioDesign qui le commercialise
→ Cantera, code récent, open source, en C++, pas dedéveloppement en cours
Besoins concernant les routines de chimie:→ Efficaces, adaptées, opensource (intégration dans un code
opensource : problème de contamination des licences)→ Nécessité de les réimplémenter
Caractéristiques du modèle à prendre en compte
I Nombre élevé d’espèces et de réactions en jeu : desdizaines d’espèces chimiques, des centaines de réactionsdans les mécanismes considérés
I Aspect fortement multi-échelles des phénomènesI Raideur spatiale importanteI Calcul des termes de chimie extrêmement coûteux :
I obtenus à partir d’exponentiels, de logarithmes, depolynômes ...
I calcul de la température via un newtonI Diffusion faible donc les valeurs propres de l’opérateur
sont réelles négatives de taille raisonnableI Localité des opérateurs:
I localité en espèces pour la diffusion qui opère espèce parespèce
I localité spatiale pour la réaction qui opère point par point
Sommaire
Contexte et Motivations
Modélisation de la combustion en chimie complexe
Stratégie numérique
Simulations numériques
Architectures massivement parallèles
Conclusions et Perspectives
Stratégies possiblesI Résolution du système complet réaction-diffusion:
I Méthode implicite, semi-implicite: coût computationel etbesoins en mémoires importants
I Utilisation de méthodes combinant des schémas impliciteset explicites : méthodes IMEX. Problème de la taillemémoire pour la partie implicite sur un domaine grand,problème de la restriction du pas de temps pour la partieexplicite.
I Si les échelles rapides ne jouent pas un rôle trop importantdans la physique du phénomène : utilisation de modèlesréduits où les échelles chimiques sont relaxées. Il fautpouvoir identifier les échelles rapides, ce qui n’est pas notrecas.
I Splitting d’opérateurs, méthodes utilisées depuislongtemps pour résoudre ce type de problème:
I permet d’utiliser des solveurs dédiés pour chacun desopérateurs
I existence de méthodes de splitting d’ordre élevé
Méthodes de splitting
U(t) = T tU0
∂tU −∆U = Ω(U)
U(0) = U0
Système splitté en 2 blocs élémentaires:
V (t) = X tV0
∂tV −∆V = 0
V (0) = V0
W (t) = Y tW0
∂tW = Ω(W )
W (0) = W0
On s’intéresse à l’utilisation des ces méthodes dans le cadrede la résolution de systèmes de réaction-diffusion raides.
Méthodes de splitting II
Méthode du 1er ordre, formalisme de Lie :
Lt1 U0 = X t Y t U0 Lt
1 − T t = O(t2),
Lt2 U0 = Y t X t U0 Lt
2 − T t = O(t2),
Méthode du 2nd ordre, formalisme de Strang :
St1 U0 = Y t/2 X t Y t/2 U0 St
1 − T t = O(t3),
St2 U0 = X t/2 Y t X t/2 U0 St
2 − T t = O(t3),
Convergence dans le cas raideI Réduction d’ordre à cause des échelles rapides (voir
référence [2])I Réduction d’ordre dûe aux gradients en espace très élevés
(voir référence [7])
Comportement de l’erreur:I Dans le cas d’échelles rapides, erreur locale pour les
formalismes de Lie et de Strang:
‖EL(t)U0‖2 ≤(
CL0 t2
2+
CL1 t√
t
3√
2e
)‖U0‖2
‖ES(t)U0‖2 ≤(CS0 + 2CS1) t3
12+
CS2 t2√
t
15√
2e+
CS3α t√
t4
I Dans le cas de gradients en espace élevé, pour leformalisme de Lie, ∃ une constante explicite θ > 0dépendante de ‖U0‖H1 telle que pour t ≤ θ, ‖EL(t)U0‖2 secomporte en t2 et pour t ≥ θ, ‖EL(t)U0‖2 se comporte ent√
t .
Méthodes numériques adaptéesI Splitting de Strang : RDR ([2]).I Intégration en temps de la partie réactive : Radau5.
• Méthode A-stable et L-stable• Stratégie d’adaptation du pas de temps pour assurer la
précision de l’intégration numérique• Méthode d’ordre élevé (formellement d’ordre 5, qui peut
être réduit à 3 dans le pire des cas) : l’erreur de l’intégrationen temps est bornée par celle de la méthode de splitting
• Schéma de Runge-Kutta implicite : résolution de systèmesnon linéaires au cours du processus d’intégration : pb ducoût calcul et mémoire. Dans notre cas, résolution desystèmes locaux de petite taille.
I Intégration de la partie diffusive : Rock4.• Méthode explicite : pas de résolution de système linéaire,
uniquement des produits matrices-vecteurs.• Le coût est lié directement à la quantité de produits
matrice-vecteur, et donc au nombre d’étapes s à chaquepas de temps de la méthode.
Méthodes numériques adaptées III Rock4:
• Les besoins en mémoire sont directement liés à la taille dumaillage.
• ROCK4 est une méthode de Runge-Kutta explicitestabilisée avec un domaine de stabilité le long de l’axe réelnégatif.
• Méthode appropriée à nos pbs de diffusion à cause de laprédominance de valeurs propres réelles négatives de tailleraisonnable pour lesquelles la méthode est stable.
• Dans notre cas, phénomène de diffusion = propagationdes perturbations autour des équilibres partiels résultantsdes schémas réactifs. Caractère auto-similaire qui impliqueun nombre d’étape pratiquement constant au cours del’évolution.
• Méthode d’ordre élevé (ordre 4)I L’analyse sur l’erreur théorique du schéma de splitting
reste valide : les échelles de temps de la réaction et de ladiffusion sont correctement résolues au regard des erreursde l’intégration en temps du splitting.
Adéquation méthodes numériques - architecturesmatérielles
I Localité des opérateurs
• parallélisation explicite de la réaction sur l’ensemble despoints.
• parallélisation explicite de la diffusion sur l’ensemble desespèces
I Méthode explicite sur la diffusion• Décomposition de domaine avec très peu de
communicationsI Adaptation aux architectures :
• Parallélisation massive : bonne exploitation des capacitésdes machines actuelles
• Besoin en mémoire à répartir sur tous les noeuds :maillage de grande taille accessible
Sommaire
Contexte et Motivations
Modélisation de la combustion en chimie complexe
Stratégie numérique
Simulations numériques
Architectures massivement parallèles
Conclusions et Perspectives
Coût de la réaction
I Coût de la partie réactive très largement supérieur au coûtde la partie diffusive
Choix technologiques pour l’implémentationI Distribution du domaine en sous-domaine : MPII Parallélisme massif sur tous les points du maillage pour la
partie réactive, la plus coûteuse : exploiter au mieux lesaspects multicoeurs −→ openMP
Hybride MPI + openMP le plus adapté
Simulations numériques sur architectures classiquesDescription du cas test
I Schéma réactionnel méthane-air:
• 49 espèces• 299 réactions
I Cas 2D de flamme en V
Résultats sur machine à mémoire partagéeI Maillage 32x32, machine SMP : scalabilité forte (on
augmente le nombre de process mpi sans changer lemaillage), 1 seul thread openmp• Ecart au speedup optimal à cause de la taille du maillage
(trop petite)• L’utilisation de quelques threads openMP (optimalement 8,
machine 2 x hexa-sockets à 8 coeurs) permet d’améliorerla performance.
Résultats sur machine à mémoire distribuéeI Maillage 256x256, cluster de machines SMP : scalabilité
forte, 1 seul thread openmp• On peut améliorer la scalabilité en choisissant
correctement le nombre de threads openMP en fonction del’architecture des machines (notamment par rapport aunombre de coeurs par socket).
Sommaire
Contexte et Motivations
Modélisation de la combustion en chimie complexe
Stratégie numérique
Simulations numériques
Architectures massivement parallèles
Conclusions et Perspectives
Choix des architectures ciblesI Choix actuels en terme d’infrastructures hautes
performances :• Cluster de machines SMP, le plus classique• Machines dédiéesmassivement parallèles• GPU, architecture émergente ?
I S’adapter aux contraintes :• Des milliers de threads/processus potentiels• Peu de mémoire disponible par threads/processus• Mémoire NUMA• Réseaux hétérogènes
Caractéristiques de la Blue Gene/PI 10240 nœuds.I 40960 cœurs.I 139 TFlops.I Cœur : PowerPC 450 32 bit, 850 MHz.I Mémoire par nœud : 2 Go (512 Mo par cœur).I Cache L1 32ko + 32ko, L2 privé, L3 partagé.I 1 nœud d’IO tous les 64 compute nodes.
Caractéristiques de la Blue Gene/P II6 réseaux, dont 3 pour MPI :I Tore 3D : chaque nœud connecté à ses 6 voisins, latence
MPI de 3 à 10 µs, optimisé pour les communications pointà point et multicast.
I Réseau collectif : connections en arbre, sert aux IO,optimisé pour les communications collectives.
I Barrières : faible latence pour barrières et interruptions.I 10 Gb ethernet : nœud d’IO vers GPFS.I JTAG : réseau de service.I Clock : réseau de synchronisation des nœuds.
Problématiques de portage
I Réservation minimale : 64 Compute Node = 256 cœurs.I Faible mémoire par cœur (512 Mo) / Plusieurs modes
d’exécution (4, 2 ou 1 processus MPI par nœud.I L’implémentation MPI (basé sur MPICH2) prend en compte
les spécificités de la machine. Mais : il faut être vigilant surle recouvrement calcul/communication, l’utilisation desdifférents réseaux, le placement des processus sur le tore3D ...
I Ne pas être trop dépendant de bibliothèques externes(exemple du problème de la version de lapack installée)
I Problématique du debuggage, nécessite uneconnaissance approfondie de la machine, des options ducompilateur ...
Simulations numériques
I Même cas test que précédemment.I Maillage 512x512 : le plus gros raisonnable (temps de
calcul limité sur Blue Gene)
Vers le GPU
I Les raisons de l’engouement actuel:X Performance théorique GeForce 8800 vs Intel Core 2 Duo
3.0 GHz : 367 GFlops / 32 GFlops. En théorie, une énormepuissance de calcul dans un PC de bureau !
X Présents dans tous les PC : un marché de masse.X Adapté au massivement parallèle (milliers de threads par
application).X Jusqu’à récemment, uniquement programmable via des
APIs graphiques. Aujourd’hui, des modèles deprogrammation disponibles : CUDA (Compute UnifiedDevice Architecture).
I Les problèmes propres aux GPU :X Jusqu’à récemment, support de la simple précision.X Emergence d’un standard : openCL. Trop récent ?X Architecture très particulière : réflexion sur l’adéquation
méthodes numériques/architecture encore plus importanteX Coût très limitant des échanges mémoires CPU-GPU
Caractéristiques des GPU
Premières simulations sur GPU
I Constats:• Un rapide profiling du code indique que la majorité du
temps de calcul se passe dans le calcul du taux de réaction• Faire porter l’effort d’optimisation sur cette partie• Déporter ce calcul sur le GPU : calcul purement local, très
parallélisableI Problèmes rencontrés:
• Calcul de wk nécessite de mettre en mémoire du GPUl’ensemble des données de chimie : problème de la placenécessaire sur le GPU, à mettre dans une mémoire globalela moins couteuse possible : mémoire des textures.
• Problème de la précision des calculs• Problème de l’optimisation de l’implémentation : on arrive
assez vite à quelque chose de très décevant ...
Sommaire
Contexte et Motivations
Modélisation de la combustion en chimie complexe
Stratégie numérique
Simulations numériques
Architectures massivement parallèles
Conclusions et Perspectives
Conclusions
I But : calcul de combustion en chimie complexeI Configuration avecmécanisme réactionnel réaliste 2D et
3DI Utilisation de méthodes numériques adaptées au problème
physique en adéquation avec les architectures viséespermettant d’accéder à ses configurations
I Lien fort méthodes numériques / Algorithmes / hardI Performances intéressantes sur infrastructures
massivement parallèles
Perspectives
I Travail sur les méthodes numériques:• Pas de temps adaptatif pour le splitting• Intégration de la convection• Travail en cours en parallèle sur la multirésolution
I Aspects technologiques:• Poursuivre le travail de portage de la bibliothèque de chimie
sur le GPU• Réflexions en cours sur la parallélisation de la
multirésolution
References I
S. Descombes, T. Dumont, M. MassotOperator splitting for nonlinear reaction-diffusion systems with anentropic structure : singular perturbation, order reduction andapplication to spiral wavesProceeding of the Workshop “Patterns and waves : theory and applications”,Saint-Petersbourg (2003)
S. Descombes and M. MassotOperator splitting for nonlinear reaction-diffusion systems with anentropic structure : singular perturbation and order reductionNumerische Mathematik (2004)
C. Besse, B. Bidégaray, S. DescombesOrder estimates in time of splitting methods for the nonlinearSchrödinger equationSIAM J. Numer. Anal. (2002)
M. MassotSingular perturbation analysis for the reduction of complexchemistry in gaseous mixtures using the entropic structureDCDS - B (2002)
References II
V. Giovangigli and M. MassotMulticomponent reactive flows : reduced chemistry and entropicstructure on partial equilibrium manifoldsM2AS (2004)
S. Descombes and M. MassotOn the local error of splitting approximations of reaction-diffusionequationsPreprint (2006)
S. Descombes, T. Dumont, M. Massot, V. Louveton the local and global errors of splitting approximation ofreaction-diffusion equations with high spatial gradientsInternational Journal of Computer Mathematics (2007)
S. Descombes, T. Dumont, J. Beaulaurier, M. Massot, F. Laurent-Nègre, V. Louvet
Operator splitting techniques for multi-scale reacting waves andapplications to low mach number flames with complex chemistry: theorical and numerical aspectesForthcoming paper
References III
M. Duarte, M. Massot, S. Descombes, C. Tenaud,T. Dumont, V. Louvet, F.LaurentNew resolution strategy for multi-scale reaction waves using timeoperator splitting, space adaptive multiresolution and dedicatedhigh order implicit/explicit time integratorsForthcoming paper
GrantI ANR Séchelles 2009-2012 (S. Descombes)I PEPS Maths ST2I (Projet Exploratoire Pluridisciplinaire)
2009-2010 (V. Louvet)I PEPS (Projet Exploratoire Pluridisciplinaire) 2007-2008
(Frédérique Laurent, Anne Bourdon)I Young Investigator Award (S. Descombes, M. Massot)
“New Interfaces of Mathematics”,French Ministry of Research 2003-2006