HLA - Supélec
Transcription
HLA - Supélec
Principes et premiers résultats de la plate‐forme de multi‐simulation distribuée DACCOSIM Chérifa Dad, Supélec ‐ UMI GT‐CNRS Virginie Galtier, Supélec ‐ UMI GT‐CNRS Jean‐Philippe Lam‐Yee‐Mui ‐ EDF R&D MIRE Jean‐Philippe Tavella ‐ EDF R&D MIRE Stéphane Vialle, Supélec ‐ UMI GT‐CNRS 1ère journée scientifique RISEGrid à Supélec, Gif sur Yvette 26 septembre 2014 Agenda • • • • • • • contexte et problématique architecture travaux connexes fonctionnalités premiers résultats démonstration perspectives contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 2 Challenges de la simulation des Smart‐Grids caractéristique du Smart Grid et conséquences pour la simulation : • système complexe (multi‐couches, multi‐simulateurs) différentes communautés (SI, télécoms, réseau HTA, réseau BT…) : construction par assemblage constantes de temps différentes, modèles de temps hétérogènes (événements, temps continu) • grande échelle (temporelle, nombre d’équipements) exécution longue voir impossible sur une seule machine contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 3 Norme FMI Functional Mockup Interface • principe : permettre l’échange de modèles entre outils grâce à une encapsulation dans une FMU boîte grise à l’interface standardisée • possibilité d’intégrer aussi le solveur à la FMU → mul ‐simulation distribuée ! • • • • • issue du projet Européen Modelisar maintenue par l’Association Modelica version 2.0 finale fin juillet 2014 mode CS seul supporté par DACCOSIM import/export depuis Dymola, Matlab, SimulationX… contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 4 Découpage d’une simulation à temps continu en plusieurs blocs distribués Difficultés : • co‐initialisation (load flow) : équations algébriques – méthode de Newton distribuée • choix du pas de temps, calcul d’erreur – compromis précision / temps de calcul pas variable + rollback pour : – allonger le pas lorsque les valeurs évoluent peu – resserrer les calculs autour des points singuliers – détecter les événements simples contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 5 Architecture Architecture • distribuée sur plusieurs nœuds de calcul • multithreadée Local Master FMU A FMU B échange de données de simulation : point à point directement entre FMU Global Master Local Master FMU C FMU D échange de données de contrôle du pas variable : hiérarchiquement contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 6 From simulation to co‐simulation of hybrid systems 1967 1976 1990 2000 2003 2006 2010 2011 2012 2013 2014 DEVS formalism civil Events HLA standard (distributed) ITEA2 project, Industrial need V1.0 Time steps product Dymola FMI + FMI V2.0 7 From simulation to co‐simulation of hybrid systems 1967 1976 1990 2000 2003 2006 2010 2011 2012 2013 2014 DEVS formalism civil Events HLA standard (distributed) + HLA INSPIRE Sequential simulator chaining. Not scalable ? + HLA C2WT + FMI Delayed event processing Accumulation errors EPOCHS + HLA GECO Rigorous but sequential ITEA2 project, Industrial need V1.0 Time steps product Dymola FMI + FMI V2.0 8 From simulation to co‐simulation of hybrid systems 1967 1976 1990 2000 2003 2006 2010 2011 2012 2013 2014 DEVS formalism civil Events HLA standard (distributed) + HLA INSPIRE Sequential simulator chaining. Not scalable. EPOCHS + HLA Variable step size & Var. step size Auto‐adaptative state‐event controlled by step size & concepts user rollback Continuous systems simulation languages ACSL/CSSL/CSMP… ITEA2 project, Time steps + HLA C2WT + FMI Delayed event processing Accumulation errors Industrial need V1.0 product Dymola GECO Rigorous but sequential FMI + FMI V2.0 9 From simulation to co‐simulation of hybrid systems 1967 1976 1990 2000 2003 2006 2010 2011 2012 2013 2014 DEVS formalism civil Events HLA standard (distributed) + HLA INSPIRE Sequential simulator chaining. Not scalable. EPOCHS + HLA Variable step size & Var. step size Auto‐adaptative state‐event controlled by step size & concepts user rollback Continuous systems simulation languages ACSL/CSSL/CSMP… ITEA2 project, Time steps + HLA C2WT + FMI Delayed event processing Accumulation errors Industrial need V1.0 product Dymola GECO Rigorous but sequential Madras U. Support rollback in time‐steped parts FMI + FMI V2.0 10 From simulation to co‐simulation of hybrid systems 1967 1976 1990 2000 2003 2006 2010 2011 2012 2013 2014 + HLA INSPIRE Sequential simulator chaining. Not scalable. EPOCHS + HLA Variable step size & Var. step size Auto‐adaptative state‐event controlled by step size & concepts user rollback Objectives: Auto‐adaptative step size Rigorous hybrid timing model Scalable No numerical differences/errors + HLA C2WT + FMI Delayed event processing Accumulation errors GECO Rigorous but sequential Madras U. Support rollback in time‐steped parts (Var. time steps & rollback ) (State‐events + events + var. time steps & rb) (Distributed & parallel & efficient) (Identical to classic simulations) 11 From simulation to co‐simulation of hybrid systems 1967 1976 1990 2000 2003 2006 2010 2011 2012 2013 2014 + HLA INSPIRE Sequential simulator chaining. Not scalable. Only 1 or 2 features supported per platform EPOCHS + HLA + HLA C2WT + FMI Delayed event processing Accumulation errors GECO Rigorous but sequential Madras U. Objectives: Auto‐adaptative step size Rigorous hybrid timing model Scalable No numerical differences/errors Support rollback in time‐steped parts (Var. time steps & rollback ) (State‐events + events + var. time steps & rb) (Distributed & parallel & efficient) (Identical to classic simulations) 12 Fonctionnalités (1/5) • construction du schéma de calcul via un éditeur graphique • synchronisation optimiste ou prudente • détection des state‐events • support du pas variable • extrapolation des entrées • propagation des entrées sur les sorties (concept de dépendances globales de l’UC Berkeley) • co‐initialisation (algorithme IJCSA de 3DS) contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 13 Fonctionnalités (2/5) Support du pas variable : Estimation de l’erreur par : ‐ méthode d’Euler ‐ extrapolation de Richardson contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 14 Fonctionnalités (3/5) Extrapolation des entrées : Sans extrapolation • Extrapolation au premier ordre • Possibilité d’extrapoler à des ordres supérieurs par développement en série de Taylor • Permet une amélioration de la précision de calcul de chaque FMU time contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 15 Fonctionnalités (4/5) Propagation des données : – dépendances totales = dépendances internes + dépendances externes (travaux de Berkeley) – passage de jeton sur chaînes algébriques (graphes acycliques) – méthode non convergente en présence de boucles algébriques A 0 b1 a B b3 4 b2 b4 3 c1 c3 1 d4 D c2 c4 1 d2 C 2 d1 d3 0 e E contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 16 Fonctionnalités (5/5) Co‐initialisation : – adaptation de l’algorithme de Newton sur graphes cycliques (boucles algébriques) – implantation partielle de l’algorithme IJCSA contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 17 Use case 1 : co‐initialisation ‐ load flow • Cas métier électrique : répartition des flux de puissances dans un réseau découpé en trois tronçons (load flow équilibré/déséquilibré) • Machine utilisée : Windows 7 64 bits Processeur à 8 cœurs logiques RAM : 32.0 Go DDR3 à Intel Core i7‐3840QM CPU @ 2.80 932 MHz GHz contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 18 Découpage Use case 1 : co‐initialisation ‐ load flow contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 19 Use case 1 : co‐initialisation ‐ load flow Valeurs initiales supposées (en pu) : ; ; ; contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 20 Use case 1 : co‐initialisation ‐ load flow Graphe de co‐initialisation cyclique contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 21 Use case 1 : co‐initialisation ‐ load flow • Loadflow équilibré, mode direct seul : 8 entrées au bout de 5 itérations • Résidu inférieur à • Temps de calcul : 38.2 ms 1,2 1 0,8 0,6 0,4 0,2 0 ‐0,2 0 ‐0,4 ‐0,6 ‐0,8 Residual Control_eBA[1] Control_eBA[2] Control_eCB[1] 2 4 6 Iteration index 8 10 Control_eCB[2] Residual norm (in pu) Voltage (in pu) Input voltage evolution 2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0 0 2 4 6 8 10 Iteration index contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 22 Use case 1 : co‐initialisation ‐ load flow • Loadflow équilibré, mode direct seul : 8 entrées au bout de 5 itérations • Résidu inférieur à • Temps de calcul : 38.2 ms Input current evolution Residual 1,2 0,8 0,6 Control_fAB[1] 0,4 Control_fAB[2] 0,2 Control_fBC[1] 0 Control_fBC[2] ‐0,2 ‐0,4 0 5 10 Iteration index 15 Residual norm (in pu) Current intensity (in pu) 1 2 1,8 1,6 1,4 1,2 1 0,8 0,6 0,4 0,2 0 0 2 4 6 8 10 Iteration index contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 23 Use case 1 : co‐initialisation ‐ load flow • Loadflow déséquilibré, modes direct, inverse et homopolaire : 24 entrées au bout de 5 itérations • Résidu inférieur à • Mêmes résultats que précédemment (composantes inverses et homopolaires nulles) • Temps de calcul : 88.7 ms contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 24 Use case 2 : PWH • Détection de défaut électrique et protection PWH HTA • Machine utilisée : Windows 7 64 bits Processeur à 8 cœurs logiques RAM : 32.0 Go DDR3 à Intel Core i7‐3840QM CPU @ 2.80 932 MHz GHz contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 25 Découpage Use case 2 : PWH contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 26 Use case 2 : PWH Schéma de calcul sous Dymola Détection du défaut avec déclenchement Détection du défaut sans déclenchement contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 27 Use case 2 : PWH Mêmes résultats avec DACCOSIM qu’avec Dymola avec pas constant de 0.2 ms Temps de calcul (en s) Dymola (sans FMU) 1.51 Dymola (avec FMU) 2.06 DACCOSIM C++ 1.22 (speedup : 1.7) Switch command Disconnecting switch command S_AVT_2 S_AVT_1 1,07 1,08 1,09 Time (in s) 1,1 Dymola : maintien du déclenchement entre 1.08273 et 1.09840 s 1,11 contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 28 Use case 2 : PWH Temps de calcul pas constant pas variable (tolérance 10 mV/10mA) sans extrapolation des entrées 2.00 s 1.0830 à 1.0984 s 1.93 s 1.0837 à 1.0997 s avec extrapolation des entrées 2.47 s 2.08 s 1.0828 à 1.0984 s 1.0833 à 1.0985 s Maintien du déclenchement protection (référence) : de 1.08273 à 1.09840 s contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 29 Use case 3 : ENERBAT FMU room A transfert de chaleur à travers une cloison Temperature (K) Temperature inside Room A FMU wall FMU room B FMU sinus source 300 290 280 270 0 100000 200000 300000 Time (s) DACCOSIM a été montré à l’annexe 60 IEA (ENERBAT) et intéresse l’UC Berkeley et AIT contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 30 Précision • Référence de comparaison : modèle Modelica sans FMU, simulé par Dymola • Simulation avec DACCOSIM C++ avec extrapolation des entrées sur une durée d’un an avec un pas constant de 10 min Variable observée Text_Sinus.y Différence moyenne 0 K roomA.Tin 4.52 ∙ 10 roomB.Tin K 4.52 ∙ 10 K contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 31 Temps de simulation • Simulation sur une durée d’un an avec un pas constant de 10 minutes sur le même PC Windows 7 64 bits Processeur à 8 cœurs logiques RAM : 32.0 Go DDR3 à Intel Core i7‐3840QM CPU @ 2.80 932 MHz GHz Dymola (avec FMU) DACCOSIM C++ Temps de calcul (en s) 3.81 2.00 • Mêmes résultats que la référence Dymola mono‐ modèle et mono‐thread • Speedup avec DACCOSIM : 1.9 contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 32 Démo Sur le cas ENERBAT (meeting IAE 60, 15‐17 septembre 2014, Lawrence Berkeley National Lab) 1. Construction du graphe de simulation 2. Génération du code 3. Lancement de la simulation 4. Récupération des résultats contexte et problématique | architecture | fonctionnalités | premiers résultats | démo | perspectives 33 Testbed distribué Clusters d’expérimentation de Supélec (campus de Metz) : • petits… mais …. • disponibles • reconfigurables Cluster 1 : • 17 PC quadri‐cœurs physiques hyperthreadés (Nehalem) • réseau d’interconnexion Ethernet 1Gb/s • + GPU (Kepler) Cluster 2 : • 17 PC hexa‐cœurs physiques hyperthreadés (Sandy‐bridge) • réseau d’interconnexion Ethernet 10 Gb/s • + GPU (Fermi) contexte et problématique | architecture |travaux connexes | fonctionnalités | premiers résultats | démo | perspectives 34 Temps de simulation distribuée Use‐case ENERBAT Deux stratégies de déploiement FMU room A • • FMU wall FMU room B FMU sinus source Equilibrer les charges de calcul Minimiser les comm. réseaux 50 Méthode d’Euler à pas de temps variable 40 Avec une tolérance de 0.025 K 9 % de rollback 20 Avec extrapolation des entrées : 5% de rollback, + rapide Petit test limité par latence comm 30 mono‐ nœud multi‐ threadé Co-simulation time (s) 41,4 without extrapol. with extrapol. 37,1 14,3 12,8 10 0 1 node: all 2 nodes: 3 nodes: 3 nodes: 4 nodes: 1 FMUs on 1 strategies "comm "load FMU per node identical proximity" balancing" node strategy strategy contexte et problématique | architecture | fonctionnalités | premiers résultats | démo | perspectives 35 Quelques perspectives • prise en charge du FMI 2.1 (fin 2014) • génération de scripts de déploiement intelligents • optimisation de la collecte des résultats pour : – visualisation interactive / temps réel – analyse post‐mortem • use‐cases plus importants et multi‐métiers (projet MOCA) • bench de DACCOSIM et Dymola 2015 FD01 (version beta avec avec master distribué) • génération de DACCOSIM comme une FMU (FMU Builder, SIANI) • intégration dans une plate‐forme SMA (AA4MM‐MS4SG , INRIA) contexte et problématique | architecture | fonctionnalités | premiers résultats | démo | perspectives 36 http://daccosim.foundry.supelec.fr/ framework pour assembler une multi‐simulation à partir de modèles et solveurs exportés au standard FMI 2.0 for CS génération automatique de code Java ou C++ exécution multi‐thread et distribuée sur PC multi‐cœurs et clusters de calcul contrôle du pas variable de manière hiérarchique, échange des données de simulation décentralisé précision satisfaisante (compraison Dymola) speedup > 1 en version PC multi‐cœurs QUESTIONS ? 37