Séminaire IMS 10/01/2008 Xavier WARIN (EDF R&D - OSIRIS) Stéphane VIALLE (SUPELEC - IMS)...

Preview:

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