Architecture de grille générique, multi- paradigmes et tolérante aux pannes, pour le temps contraint. Application aux calculs financiers. 12 avril 2006 Sébastien Bezzine, Virginie Galtier, Stéphane Vialle bezzine@metz.supelec.fr, Virginie.Galtier@supelec.fr, Stephane.Vialle@Supelec.fr
Introduction Architecture de Grille générique : entièrement déployée du serveur 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 l’implantation d’algorithmes distribués à couplage faible et à couplage fort paradigme RMI/envoi de message (ProActive) et paradigme de mémoire partagée (JavaSpaces)
Architecture 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 (ε%)
Développements en cours Utilisation des JavaSpaces mais problème entre ProActive et Jini/JavaSpaces. Solution actuelle : JavaSpaces utilisés sur une JVM différente. SubServer Workers Objet actif PC JVM JavaSpace Objet passif
Développements en cours Comparaison des temps de calcul entre ProActive et JavaSpaces : temps en secondes avec 2 SubServers et 4 Workers : nb simulations JavaSpaces ProActive 128000 79 78 256000 155 154 Test des mécanismes de tolérance aux pannes existants dans les JavaSpaces : Space persistant, transactions, services ré activables, utilisation de ces mécanismes en fonction des surcoûts de temps. Collaboration avec l’équipe ProActive de Nice pour résoudre : - les problèmes de compatibilité avec les JavaSpaces et avec les Generics de Java 1.5, - les problèmes de gestion dynamique des groupes. Test de 3 versions de pricing européen développés à Nice à inclure dans notre testbed.
Résultats actuels Résultats actuels sur des calculs embarrassingly parallel : Distribution en Java & ProActive, architecture déployée depuis le serveur, équilibrage dynamique de charge, speedup = 20 sur 24 processeurs (efficacité = 83%), détection et correction automatique des pannes, temps de correction de l’ordre de quelques secondes, utilisation de machines de réserve si disponibles.
Perspectives court terme 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. Premières expérimentations d’utilisation de GPU et insertion dans l’architecture Java développée. Bibliothèque générique à base de Java-1.5/Generics, ProActive, JavaSpaces, sur grille de CPU et de GPU.
Perspectives moyen terme Architecture multiservices et multi-clusters petit cluster Calculs scientifiques : N-Corps… JavaSpace activée Salle de TP Calculs embarrassingly parallel : option européenne gros cluster + tolérance aux pannes Calculs parallèles : option américaine
Architecture de grille générique, multi- paradigmes et tolérante aux pannes, pour le temps contraint. Application aux calculs financiers. Questions ?