Title: R
1Architecture de grille générique,
multi- paradigmes et tolérante aux pannes, pour
le temps contraint. Application aux calculs
financiers.
- Réunion ANR-CIGC GCPMF
- 15 mars 2006
Sébastien Bezzine, Virginie Galtier, Stéphane
Vialle bezzine_at_metz.supelec.fr,
Virginie.Galtier_at_supelec.fr, Stephane.Vialle_at_Supe
lec.fr
2Introduction
Grilles de nombreux composants - ressources
hétérogènes - pannes inévitables - pannes
fréquentes
Applications industrielles - en temps
contraint - architecture n-tiers avec BdD
- algorithmes variés
- Architecture de Grille
- tolérante aux pannes
- récupération sur panne en temps limité
- assimilation dynamique de nouvelles ressources
- équilibrage dynamique de charge
- mixant les concepts n-tiers et distribués
- supportant limplantation dalgorithmes
distribués - à couplage faible et à couplage fort
Paradigme RMI/envoi de messages ET paradigme de
mémoire partagée
3ProActive
- Middleware de grille et environnement de
développement, sous la forme dune bibliothèque
Java développée par léquipe OASIS de lINRIA
Sophia-Antipolis. - Création dobjets actifs sur des machines
distantes. - Communications asynchrones entre des objets
actifs se trouvant sur des machines différentes. - Appels de méthodes sur des groupes dobjets
actifs .
4JavaSpaces
Une distribution par partage de données dans une
mémoire partagée virtuelle sur une grille de PCs
(grille de JVM).
5Architecture de grille
Worker
ProActive
Architecture n-tiers typique des applications
industrielles
SubServer
Worker
Worker
Server
Server
Server
Client
TCP
ProActive
ProActive
Worker
SubServer
Worker
Worker
JavaSpace mémoire partagée virtuelle
Worker
ProActive
BD
BD
SubServer
Worker
Worker
(on demand)
des PCs de réserve (e)
6Tolérance aux pannes (1)
Workers
Détection des pannes
SubServers
Envoi des résultats partiels
Server
PC
objet actif Server
objet actif Alive
PCs de réserve
7Tolérance aux pannes (2)
Workers
Détection des pannes
SubServers
Envoi des résultats partiels
Server
envoi du groupe de workers et du résultat partiel
PC
relance des calculs
objet actif Server
objet actif Alive
PCs de réserve
8Tolérance aux pannes (3)
Workers
SubServers
Server
SubServer
PC
objet actif Server
objet actif Alive
Plus aucun PCs de réserve !
9Tests avec Pricing Européen
- Test de larchitecture avec des pricing
européen par simulations de Monte-Carlo - Grand nombre de simulations de Monte-Carlo
réparties sur les workers (random() sur chaque
worker ), - Problème embarrassingly parallel,
- Test de tolérance aux pannes.
3 versions de pricing européen développés à Nice
à inclure dans notre testbed
10Tolérance aux pannes res 1
- Tests de tolérance aux pannes de workers avec PCs
de réserve - 10 Millions de simulations avec 3 SubServers et
24 Workers 27 minutes. - 1 tâche élémentaire de 1000 simulations sur
un worker 3s - Surcoût des pannes de workers dans un même groupe
de 5 workers
Pannes simultanées pendant les calculs Panne après envoi des résultats Panne avant envoi des résultats
1 worker 0,4 - 0,6 2,2 3,1
2 workers 0,7 - 1,9 2,3 3,2
3 workers 1,1 - 2,9 3,8 4,8
4 workers 1,4 - 3,5 4,0 5,4
5 workers 2,5 - 5,5 5,4 7,4
Temps supplémentaires de calcul (en secondes)
- Surcoût de récupération sur panne
- important vis-à-vis dune tâche élémentaire
(3s), - faible vis-à-vis de toute lapplication (27mn).
11Tolérance aux pannes res 1
- Tests de tolérance aux pannes de workers avec PCs
de réserve - 10 Millions de simulations avec 3 SubServers et
24 Workers 27 minutes. - 1 tâche élémentaire de 1000 simulations sur
un worker 3s - Surcoût des pannes de SubServers dans un groupe
de 3 SubServers
Pannes simultanées pendant les calculs Panne après envoi du résultat Panne avant envoi du résultat
1 SubServer 3,3 - 4,1 5,1 6,7
2 SubServers 4,9 - 6,5 6,4 9,2
3 SubServers 5,4 8,6 7,6 11,5
Temps supplémentaires de calcul (en secondes)
- Surcoût de récupération sur panne
- - supérieur aux récupérations de pannes de
workers (normal !) - reste faible vis-à-vis de toute lapplication
12Conclusion et perspectives
Résultats actuels sur des calculs embarrassingly
parallel
- Distribution en Java ProActive,
- équilibrage dynamique de charge,
- speedup 20 sur 24 processeurs (efficacité
83). - Détection et correction automatique des pannes,
- temps de correction de lordre de quelques
secondes, - utilisation de machines de réserve si
disponibles.
Développements en cours
- Incorporation de JavaSpaces activables à la
demande, entre un - subserver et ses workers.
- Incorporation des 3 algorithmes de pricing
européens développés - à Nice (Omega Oasis).
13Conclusion et perspectives
Perspectives 2006
- Amélioration des heuristiques de tolérance aux
pannes. - Implantation de calculs de risques distribués
fortement couplés. - Expérimentations sur Grille Grid5000 en
multi-sites. - S. Bezzine (stagiaire ingénieur CNAM), V. Galtier
et S. Vialle - en collaboration avec Omega et Oasis.
Premières expérimentation dutilisation de GPU et
insertion dans larchitecture Java
développée. M. Ifrim (stagiaire Master UPB), V.
Galtier et S. Vialle
collaborations avec les autres partenaires
bienvenues.
Bibliothèque générique à base de
Java-1.5/Generics, ProActive, JavaSpaces, sur
grille de CPU et de GPU.
14Architecture de grille générique,
multi-paradigmes et tolérante aux pannes, pour
le temps contraint.Application aux calculs
financiers.
Questions ?