Vous êtes sur la page 1sur 35

Calcul Parallle Grande chelle sur Systmes Pair--Pair

Ahcne Bendjoudi, Novembre 2006

Plan
Introduction

Besoins en calcul et en stockage Grid Computing Global Computing P2P Computing Exemples (GRIDs, Decrypthon, SETI@home, ProActive) ParallelBB (Algorithme Exact Parallle) P2PBB (ParallelBB + ProActive) Tests en mode P2P sur Grille

Systmes grande chelle

Exemples Exemple dapplication P2P

Conclusion et perspectives
Ahcne Bendjoudi, Novembre 2006 2

Introduction
Plusieurs problmes peuvent tre modliss sous-forme de problmes doptimisation combinatoires NP-Difficile

La recherche dune solution exacte reste impossible partir dune certaine taille

Informatique, RO, Bioinformatique, Mdecine, Biologie, physique, Applications et problmes ncessitant des ressources de calcul, de stockage, et de liaison grande chelle. La dcentralisation et la paralllisation de calcul Utilisation du paralllisme grande chelle

Grid Computing Global Computing P2P Computing Simultation climatiques

Gnomique

Physique nuclaire

RO
Ahcne Bendjoudi, Novembre 2006 3

Introduction
Statistiques : (Michael Gerndt)

Stockage dinformation (Informatique, peta-bytes) Problmes doptimisation combinatoire (RO, 10(.) dannes) Gnomique (bioiformatique, TFlops Tera FLoating point OPerations per Second ) Calculs spatiaux (Physique, TFlops) Biochimistes ---> dizaines de milliers dordinateurs pour visualiser des centaines de milliers de composants. Milliers de physiciens ----> petaop (calcul), petabyte (stockage). Simulations climatiques (visualisation, analyse) ----> terabyte (stockage) Nouvelle approche dacquisition de la puissance informatique et la mettres la disposition de lutilisateur La distribution de la puissance electrique

Ian Foster et Kesselman (1996) :

Ahcne Bendjoudi, Novembre 2006

Distribution de puissance lectrique

Approche pour la distribution de la puissance lectrique = le rseaux lectrique et la haute-tension


Ahcne Bendjoudi, Novembre 2006 5

Distribution de puissance informatique


Super calulateurs Internet Utilisateur

Approche pour la distribution de la puissance informatique = le rseau Internet et la haute-performance (paralllisme et distribution)

GRID/Global/P2P-Computing
Ahcne Bendjoudi, Novembre 2006 6

Calcul de Grille (GRID-Computing)


Grille : Infrastructure matrielle et logicielle permettant laugmentation des performances de calcul et stockage se basant sur lutilisation de ressources grande chelle et offrant un accs moins cher de telles ressources. I-WAY 1999 Un rseau de haute performance reliant des ressources de haute technologie et de machines puissantes Donner lutilisateur un environnement de travail trs puissant Caractristiques

Transparence : Situation des ressources par rapport lutilisateur doit tre transparente. Ineroperabilit : Cacher litrognit dans le calcul et les ressources du rseau Reliabilit : Tolerance aux fautes Calcul massivement parallle, simulations Stockage de donnes Bibliothques numriques
Ahcne Bendjoudi, Novembre 2006 7

Domaines dapplication

Calcul global (Global-Computing)


Calcul Matre-esclave par vol de cycles sur Internet Un serveur centralis ordonnance des calcul sur des PC volontaires Applications ddies
Application Cliente Paramtres. /rsultats. serveur Paramtres Internet PC Volontaire PC Volontaire SETI@Home, distributed.net, Dcrypthon

Projet de production
Folding@home, Genome@home, Xpulsar@home,Folderol, Exodus, Peer review,

Plates-formes de recherche
Javelin, Bayanihan, JET, Charlotte (based on Java), Ninf (ECL), XtremWeb (LRI),

PC Volontaire Tlcharge et excute lapplication

Plates-formes commerciales
Entropia, Parabon, United Devices,
Ahcne Bendjoudi, Novembre 2006 8

Calcul Pari--Pair (P2P-Computing)


Un systme distribu est appel Pair--Pair (P2P), si les noeuds de ce rseau partagent une partie de leurs ressources (temps de calcul, espace disque, interface rseau, imprimante)

Fournisseur Utilisateur de (ressources)

Pair (Peer)

Rseau dinterconnexion

Ahcne Bendjoudi, Novembre 2006

Caractristiques des rseaux P2P


Extensibilit : jusqu 100 k voire 1 M machines Htrognit : diffrents matriels et OS Dynamicit : nombre de clients et de serveurs voluent constamment Tolrance aux pannes : le systme (et peut tre les applications) doivent supporter l existence dlments dfaillants

Ahcne Bendjoudi, Novembre 2006

10

Calcul Pair--Pair (Architecture)


Toutes les ressources (PC) sont gales, les oprations se font parit, de pair pair. Exploitation des cycles CPU oisifs non utiliss des ordinateurs participant dans le calcul Applications ddies
PC volontaire Participant la mise en relation entre Pair Volontaire Internet

Napster, Gnutella, Freenet, KaZaA, Music-city, Jabber, Skype, SopCast,

Projets de recherche (Plate-formes)


Globe (Tann.), Cx (Javalin), Farsite, OceanStore (USA), ProActive, XtremWeb (LRI), Pastry, Tapestry/Plaxton, CAN, Chord,

req.
Client

Volontaire Application Provider

Autres projets
Cosm, Wos, peer2peer.org, JXTA (Sun), PtPTL (Intel),

Ahcne Bendjoudi, Novembre 2006

11

Exemples de grilles

GRID5000
Edinburgh Glasgow DL Newcastle

Belfast

Manchester

Oxford RAL

Cambridge Hinxton London Soton Tier0/1 facility Tier2 facility Tier3 facility 10 Gbps link 2.5 Gbps link 622 Mbps link Other link

Cardiff

Ahcne Bendjoudi, Novembre 2006

12

Exemples
Decrypthon
Application Cliente Paramtres. /rsultats. Serveurs IBM Paramtres Systme Platform

Objectif : lutter contre les maladies gntiques


Comparaison de squences de Protines (Smith-Waterman) 500 000 protines provenant despces diffrentes compares (chacune contre toutes les autres) Nombre dinscrits : 130 000. Puissance potentiel : 40 x 10^12 Flops

PC Volontaire PC Volontaire Application SWC

PC Volontaire Application SWC

-Matre d uvre : IBM (USA) -Environnement de Calcul Global : Platform (Canada) -Application : Genomining (France)
13

Ahcne Bendjoudi, Novembre 2006

Exemples
SETI@home Search for Extra-Terrestrial Intelligence est une exprience scientifique en radio-astronomie exploitant la puissance inutilise de millions d'ordinateurs connects via Internet. Analyser les donnes collectes du plus grand radio-tlescope au monde Arecibo. Les utilisateurs tlchargent un fragement de programme sous forme dun cran de veil. 3.8M utilisateurs dans 226 pays 1200 CPU annes/jour

Ahcne Bendjoudi, Novembre 2006

14

Exemples
Une Librairie Java proposant une API et des outils de programmation parallle, distribue et concurrente. Repose sur MIMD et les Objets Actifs (Active Object).
Un AO est tout objet distant, disposant dun thread et qui reoit des appels de mthodes publics.

Meta Object Protocol MOP

Laccs distant des objets actifs, La squentialit des activits (processus purement squentiels), Une communication par appel de mthodes standards, Des appels asynchrones vers des objets actifs, Un mcanisme dattente par ncessit (futur transparent)

Ahcne Bendjoudi, Novembre 2006

15

Structure P2P de
Utiliser les cycles CPU non utiliss Cration des threads avec la plus basse priorit. Partage de JVM, chaque JVM peut recevoir du calcul Chaque JVM dsirant participer au rseau P2P lance un service P2P Overlay Network (Rseau de recouvrement) avec P2PServices Le dploiement se fait en utilisant un descripteur XML

P2PService Hte
16

JVM
Ahcne Bendjoudi, Novembre 2006

Exemples dapplication
ParallelBB : Version parallle de lAlgorithme exacte Branch and Bound pour la rsolution des problmes doptimisation combinatoire grande chelle. P2PBB : Version pair--pair de ParallelBB sur la plate-forme ProActive.

Ahcne Bendjoudi, Novembre 2006

17

Algorithme B&B Squentiel


Branchement
 Partionnement du problme en un ensemble de sous-problmes de taille rduite.

Bounding
 Une borne infrieure (lower bound) de la meilleure solution est calcule, elle est compare la meilleure solution trouve jusqu prsent (upper bound).

limination
 Identification des n uds ne menant pas vers la solution  optimale. (la faisabilit, le bound test)

P
12

Slection
 Permet de dcider de lordre de parcours  de larbre. (best first search, depth first  search, best bound,)

P1 10


P2 8

P3

P4 11

P5

P6 11

P7

P8 10

P9

15

16

Un branch and bound squentiel consiste en lexcution squentielle des quatre rgles (lordre nest pas important)

18

19

Ahcne Bendjoudi, Novembre 2006

18

ParallelBB
Version parallle dun B&B squentiel Paradigme Manager/Worker (Master/Worker)
      Communication directe inter-workers viter les goulots dtranglement au niveau du manager Le manager distribue les tches par les workers Un work pool unique est disponible Les workers traitent leurs parts de calcul dune manire parallle

Communication inter-workers
Ahcne Bendjoudi, Novembre 2006 19

Oprations de ParallelBB
Branching
 Lopration de dcomposition initiale est effectue par le manager  Il dcompose le problme en sous-problmes pouvant tre traits dune manire parallle.  Le manager parcourt larbre jusqu k niveaux, k dpend de :
 La taille du problme TP considr : TP >> k >>  La taille du rseau de calcul TR utilis: TR >> k >>

Bounding
 Le calcul de la borne dpend du problme auquel lalgorithme est appliqu

Selection
 Manager : Parcours en largeur avec la priorit aux n uds les plus prometeurs (selon la borne infrieur) File dattente par priorit.  Worker : Parcours en profondeur (Best First Search), Priorit aux n uds les plus prometeurs une pile empilement par priorit inverse.

Elimination
 Les n uds avec un lower bound au upper bound sont limins.
Ahcne Bendjoudi, Novembre 2006 20

Manager
Tches parallles

Workers
Ahcne Bendjoudi, Novembre 2006 21

Communication entre les composants

Ahcne Bendjoudi, Novembre 2006

22

Communication entre les composants


Le manager vers un worker

Envoi de la tche traiter (Donnes + les sous-arborescences explorer) Envoi de la liste dautres workers en cours dexcution un worker peut avoir connaissance de son environnement travail collaboratif Envoi du Upper bound limination dun nombre important de branches ds le dbut de lalgorithme Envoi de la solution finale trouve par ce worker Envoi du upper bound en cas dune nouvelle solution trouve par ce worker le manager augmente la connaissance des futurs workers Envoi du upper bound pour tous les autres workers en cours dexcution pour quils puissent liminer plus de branches

Un worker vers le manager

Un worker vers un worker

Ahcne Bendjoudi, Novembre 2006

23

P2PBB 1.0
P2PBB est une Application active dvelope base dobjets actifs (AO) Implmentation de ParallelBB sur la plate-forme pair--pair ProActive Bas sur deux AO :

BBWorker reprsentant un Worker BBManager reprsentant le Manager

ProActive fournie des N uds Actifs (bbWorkers) rcuprs sur lensemble du rseau Prise en charge de la dynamisme des n uds (pairs) (dpart/arrive)

Ahcne Bendjoudi, Novembre 2006

24

P2PBB : Fonctionnement
Phase dinitialisation et de dploiement

P2PBB sexcute sur le rseau P2P form par ProActive Des services P2PService sont dj lancs Chaque hte partage une JVM et au minimum un AN bbManager consulte un descripteur XML spcifiant les n uds participant dans le calcul et cre sa liste des bbWorkers participant dans le calcul bbManager gnre un ensemble de tches (Objets Passifs) parallles bbManager augmente la connaissance de chaque bbWorker avec son environnement
 Les autres bbWorkers  Le upper bound

Phase de distribution du calcul

Ahcne Bendjoudi, Novembre 2006

25

XML
Mode P2P (p2plookUp) JVMs locales (ssh)

Ahcne Bendjoudi, Novembre 2006

26

Dploiement grande chelle

1000 processeurs Flow-Shop de permutation & NQueen 500 workers durant 30 min > 10 jours de calcul http://www.lifl.fr/~talbi/Challenge http://www.etsi.org/plugtests/History/2005GRID.htm

Ahcne Bendjoudi, Novembre 2006

27

chantillon de calcul sur grille

Ahcne Bendjoudi, Novembre 2006

28

P2PBB 1.1
P2PBB 1.0 Mcanisme de tolrance aux fautes

Serveur de Ressources (Resource Server) : Retourne les n uds libres qui peuvent hberger les objets actifs recouverts. Serveurs de la taulerance aux fautes (Fault-taulerant servers) : (stockage des chekpoints, localisation des actives objects et la detection de fautes) Meilleurs rsultats

Ahcne Bendjoudi, Novembre 2006

29

Rsultats sur la grappe de Lille (GRID5000)

Tests en mode P2P avec 6, 20 et 50 machines de la grappe de Lille (GRID5000) Squentiel, parallle avec/sans communications (entre les pairs) Les rsultats de B&B squentiel sont les moins intressants Les temps dexcution sont plus intressants en augmentant le nombre de processeurs Les meilleurs rsultats sont obtenus dans la srie utilisant 50 machines Les communications ont t bnfiques

Ahcne Bendjoudi, Novembre 2006

30

Perspectives
ParallelBB 1.1 :

Hybridation de ParallelBB 1.0 avec une/des


heuristique(s) (AG, colonies de fourmis, ) Application de ParallelBB 1.0 aux problmes QAP (Quadratic Assignment Problem) et Q3AP (Quadratic Three dimensional Assignment problem)

QAP : Affectation de M entits M locations Q3AP = M x QAPs, modle trs utilis dans le domaine des tlcommunication (correction derreurs lors des retransmissions)

Ahcne Bendjoudi, Novembre 2006

31

Bibliographie
The Grid: Blueprint for a New Computing Infrastructure, Kesselman & Foster The Physiology of the Grid. Ian Foster, Carl Kesselman, Jeffrey M. Nick, Steven Tuecke. The Anatomy of the Grid. Ian Foster, Carl Kesselman, Steven Tuecke. http://www.globus.org/research/papers/anatomy.pdf Quadratic three dimensional assignment problem, Tout sur le GRID (http://www-fp.mcs.anl.gov/~foster/Articles/) Global Grid Forum (http://www.ggf.org) The Globus Alliance ( http://www.globus.org) ProActive (http://www-sop.inria.fr/oasis/ProActive/) SETI@home (www.SETIathome.com) http://www.distributed.net

Ahcne Bendjoudi, Novembre 2006

32

Pourquoi GRID/P2P Computing ?


Les problmes de grandes tailles ncessitent une collaboration entre divers codes/centres de calculs Toujours plus de besoin en termes de puissance de calcul, de capacit mmoire et de capacit de stockage disque La puissance de nimporte quelle ressource unique est petite en face de lagrgation de plusieurs ressources La connectivit rseau augmente de manire rapide la fois en bande-passante et en disponibilit

Prolifration de ressources
De nombreuses grappes Des supercalculateurs Des stations de travail et des PCs par millions

Complexit croissante des applications


Multi-chelles Multi-disciplinaire Des volumes de donnes normes De lhtrognit
33

Ahcne Bendjoudi, Novembre 2006

Communication et synchronisation
Communication avec appel de mthodes distance entre objets actifs Synchrones : Appel de mthode bloquant, lexcution est suspendue jusqu larrive du rsultat de la mthode. A B
a=B.Receive()

Receive()

Asynchrones : Appel non bloquant, lexcution continue sans attendre le rsultat. Un objet futur est A cr. B WaitForAny(B.compute())
B.Compute()

Compute()

Attente du futur de lobjet

A sens unique : Appel non bloquant, aucun rsultat nest attendu, aucun futur nest cr

A
B. Send(a)

B
Send(a)

Ahcne Bendjoudi, Novembre 2006

34

Distribution du calcul
Attente du futur des objets (waitForAny) bbManager Tches parallles Objets Passifs

bi.Compute(Ti) Liste des futurs dobjets futurList

b1

b2

b3

b4

b5

Fin du calcul Reprise du calcul bi.Compute(Ti)


Ahcne Bendjoudi, Novembre 2006 35