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

Documents pareils