Upload
grosvenor-pierre
View
108
Download
0
Embed Size (px)
Citation preview
Séminaire IMS10/01/2008
Xavier WARIN (EDF R&D - OSIRIS)Stéphane VIALLE (SUPELEC - IMS)
Constantinos MAKASSIKIS (SUPELEC - IMS, LORIA - AlGorille)
Distribution large échelle d’un algorithme financier de contrôle
stochastique
CIGC05 - GCPMF
2
Introduction
1
3
Introduction
• Objectif : présentation du travail effectué dans l’équipe IMS depuis février 2007.
• Travail s’inscrit dans le cadre du projet ANR-GCPMF :– consortium d’industriels et d’académiques– But : étude de la faisabilité de l’utilisation de
clusters/grilles de calculs pour la finance– Cause : augmentation incessante des besoins en
puissance de calcul
4
Introduction
• Solution : distribution/parallélisation.– pour accélerer et passer à l’échelle
• Actuellement, parmi les applications en finance :– celles qui se décomposent en tâches indépendantes
commencent à être bien maîtrisées (applications Bag of Tasks (BoT)) ;
– celles qui se décomposent en tâches inter-dépendantes font l’objet de recherches …
5
Introduction
• En collaboration avec EDF, distribution d’une application utilisée pour la valorisation d’actifs de stockage de gaz.
• Application non BoT, mettant en jeu :– des calculs intensifs
ET
– des communications fréquentes : redistribution régulière de données et de résultats
nécessite une optimisation des échanges de données
6
Contexte financier
2
7
Contexte financier
• Actif de stockage de gaz :– cavité où est stocké le gaz ;
– matériel (pompes, …) pour injecter/sous-tirer.
– Contraintes de fonctionnement diverses.
• Fluctuations des prix du gaz :– Cause : modification de la demande (hiver, été)– Conséquence : possibilité d’arbitrer pour profiter de la
dynamique des prix → valorisation
Gaz
OUT
IN
8
• La valorisation fait appel à :– des algorithmes de contrôle stochastique– des modèles de prix variés
Contexte financier
Dans notre cas le propriétaire veut déterminer à quel prix il va louer une partie de son actif. Pour ce faire, il se fonde sur les résultats potentiels de différentes stratégies de gestion qu’il aurait pu appliquer sur la portion louée s’il ne l’avait pas louée.
9
Distribution del’algorithme
3
10
Algorithme séquentiel
tn-1t0
Aujourd’hui Futur
tnCalculs
Stochastiques
Prix de location
à t0
Hypothèsesde terminaison
11
Algorithme séquentiel
• Pour chaque pas de temps (de tn-1 à t0)
• Pour chaque niveau de stock admissible
– Calcul complexe pour déterminer la meilleure décision à prendre au temps ti avec un niveau de stock si :
« Injecter, ne rien faire ou soutirer ? »
12
Difficultés de parallélisation
• Pour chaque pas de temps (de tn-1 à t0)
• Pour chaque niveau de stock admissible
– Calcul complexe pour déterminer la meilleure décision à prendre au temps ti avec un niveau de stock si :
« Injecter, ne rien faire ou soutirer ? »
• La parallélisation au niveau de la boucle la plus externe est impossible à cause des dépendances de l’algorithme.
• Le niveau le plus intéressant se trouve au niveau de la boucle sur les niveaux de stock.
13
Structures de données
• A chaque pas de temps utilisation de deux tableaux : OldRes et NewRes.
• OldRes : contient les résultats du pas de temps précédent.
• NewRes : pour mémoriser les résultats du pas de temps courant.
• Problème : à chaque pas de temps le travail s’effectue sur une zone contiguë mais à bornes variables.
Niveaux de stock
Alé
as d
e pr
ix
Calculs
NewRes
OldResRésultats à ti+1
Résultats à ti
A ti :
14
DevientRedistribution
Schéma de parallélisation
• En séquentiel, on peut se placer dans le cas ci-contre.
Solution 1 : • réplication des tableaux.• broadcast.
ti+1 :
ti :
Solution 2 :• optimisation de la taille des tableaux.• redistribution de ce qui est nécessaire.
NewRes
OldRes
NewRes
Calculs
• En parallèle :
15
Schéma de parallélisation
ti :
ti+1 :P2P1P0 Res à ti+1
P1 P2P0
P1 P2P0
P2P1P0
P2P1P0
BA
C D
1) Déterminer la nouvelle distribution des calculs à ti
3) Déterminer les données à envoyer par P1 (Send)
2) Déterminer les données requises à ti par P1 (Receive)
5) Effectuer les communications selon le plan de routage (MPI)
6) Calculer Res à ti
P0 P1C A D
P2
- A BReceiveSend
4) Allouer structures de données de taille optimale
Sur P1:
Res à ti
Plan deroutage
16
Etude des performances
4
17
Evaluation des performances
• Expérimentations sur 3 architectures distribuées :– Deux clusters de PCs (SUPELEC et GRID’5000/Sophia).
– Le supercalculateur Blue Gene/L d’EDF R&D.
• Avec 3 modèles de prix du gaz :
Besoins
ModèleCalculs Mémoire
Gaussien « G » * *Normal Inverse Gaussien « NIG » ** *Gaussien 2 facteurs « G-2f » **** ****
18
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1 10 100 1000
Number of processors
Ex
ec
uti
on
tim
e (
s)
G on Blue Gene 1p/node
G on P4 cluster
G on Opteron cluster 1p/node
Performances avec « G »
8
15s64 1024
54min
14min
19
1,E+00
1,E+01
1,E+02
1,E+03
1,E+04
1,E+05
1,E+06
1 10 100 1000
Number of processors
Ex
ec
uti
on
tim
e (
s)
NIG on Blue Gene 2p/nodeNIG on P4 clusterNIG on Opteron cluster 2p/node
Performances avec « NIG »
128 1024
3min
6h40
20
Performances avec « G-2f »
• Besoin de beaucoup de mémoire– 11 Go pour l’exécution séquentielle – 10 CPUs avec 2 Go en parallèle
• Exécution rendue possible par notre distribution
• Scale jusqu’à 1024 processeurs
• Limitation :– Impossible de calculer un speedup rigoureux– Donc étude d’extensibilité (seulement)
21
Performances avec « G-2f »
Blue Gene wins !
1,E+03
1,E+04
1,E+05
10 100 1000 10000
Number of processors
Ex
ecu
tio
n t
ime
(s
)
Blue Gene 2p/nodeBlue Gene 1p/nodeOpteron cluster 2p/nodeOpteron cluster 1p/nodeP4 cluster 1p/node
128
1024
16
14h
2h20
46min
22
Etude d’extensibilité avec « G-2f »
0
50
100
150
200
250
300
0,000,250,500,751,001,251,501,752,002,25
q-discretization (MWatt)
Re
qu
ire
d n
um
be
r o
f p
roc
es
so
rs
G-2f on Blue Gene 2p/node
G-2f on Opteron cluster 2p/node
Fine simulationsRough simulations
13052€
13589€
13870€
11065€
Accuracy level
Maintient du temps d’exécution
23
Conclusion &Perspectives
5
24
Conclusion & Perspectives
• Distribution originale d’un algorithme itératif de contrôle stochastique dynamique : distribution à chaque pas de temps des calculs et des données.
• Résultats issus des expérimentations témoignent de l’efficacité de notre distribution sur clusters de PCs (128 CPUs) et supercalculateur (1024 CPUs)– Accéleration de l’exécution sur trois modèles de prix aux
caractéristiques variées
– 2 modèles de référence et 1 nouveau modèle
25
Conclusion & Perspectives
• Actuellement, une version multidimensionnelle de l’algorithme destinée à gérer plusieurs actifs de stockage simultanément, mise au point conjointement par EDF R&D et SUPELEC, est en train d’être évaluée.
• Un cas test sur 7 stocks met :– 18 h sur les 32 PCs du cluster de SUPELEC ;– 5h50 sur 1024 nœuds de Blue Gene.
Les temps de calculs sont réduits MAIS restent longs !
La possibilité d’occurrence de pannes n’est pas écartée : même sur Blue Gene !
26
Conclusion & Perspectives
• A présent investissement dans l’étude des techniques de tolérance aux pannes.
27
Questions ?
?
28