Int´gration du protocole des trains ` JGroups   e                                a                             St´phanie O...
Premier arrˆt : JGroups           e2 of 35
Premier arrˆt : JGroups           e3 of 35
Destination : int´grer le protocole des trains ` JGroups                 e                             a4 of 35
SommaireVeuillez composter vos billets s’il vous plaˆ                                            ıt1. Introduction au prot...
Introduction au protocole des trainsTout le monde en voiture  Le protocole des trains est un protocole de diffusion (broadc...
Introduction au protocole des trainsTout le monde en voiture  Il est con¸u pour :            c          des petits cluster...
Le principe du protocoleLe circuit 8 of 35
Le principe du protocoleEnvoi d’un message par #009 of 35
Le principe du protocoleDiffusion du message - r´ception par #01                       e10 of 35
Le principe du protocoleSuppression du wagon11 of 35
Le principe du protocoleArriv´e d’un nouveau processus     e12 of 35
Impl´mentation du protocole des trains en langage C    eUn fichier de configuration minimal   Fichier addr file :   0:localho...
Impl´mentation du protocole des trains en langage C    eUn fichier de configuration minimalUne interface simple   Initialisa...
Pause au wagon-barO` l’on doit faire du caf´ u                       e15 of 35
Pause au wagon-barO` l’on doit faire du caf´ u                       e16 of 35
Pause au wagon-barO` l’on doit faire du caf´ u                       e17 of 35
Java Native Interface18 of 35
Java Native Interface19 of 35
Java Native InterfaceAvantages   Int´ragir avec du code natif (C/C++)      e           Acc´der ` des fonctions syst`mes   ...
Java Native InterfaceAvantagesInconv´nients      e   Portabilit´ d´pendante du code natif             e e   Debug au run t...
22 of 35
API Java : trains23 of 35
API Java : exemple24 of 35
Comparaison des performances25 of 35
Comparaison des performances   1 train   2 processus en localhost, diffuseurs   taille des messages: 10 octets   dure de la...
Br`ve introduction ` JGroups  e                aJGroups   Intergiciel pour faire de la diffusion fiable   Pile de protocoles...
Br`ve introduction ` JGroups  e                aJGroupsFonctionalit´s            e   D´tection et notification de l’arriv´ ...
Br`ve introduction ` JGroups  e                aArchitecture de la pile de protocoles   FLUSH / STATE TRANSFER   Fragmenta...
Int´gration ` JGroups   e        aObjectif   Cr´ation d’un protocole ”trains” dans JGroups     e   Permettre aux utilisate...
Int´gration ` JGroups   e        aObjectifFonctionalit´s            e   D´tection et notification de l’arriv´ et du d´part ...
Int´gration ` JGroups   e        aObjectifFonctionalit´s            eSimplificationArchitecture de la pile de protocoles   ...
D´monstration e33 of 35
Bilan : terminus tout le monde descendObjectifs atteints   API Java avec JNI op´rationnelle                       e   Int´...
Bilan : terminus tout le monde descendObjectifs atteintsProchaines ´tapes           e   Compatibilit´ du protocole avec Wi...
Prochain SlideShare
Chargement dans…5
×

Intégration du protocole des Trains à JGroups

353 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
353
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
6
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Intégration du protocole des Trains à JGroups

  1. 1. Int´gration du protocole des trains ` JGroups e a St´phanie OUILLON e Tiezhen WANG 30 janvier 2013
  2. 2. Premier arrˆt : JGroups e2 of 35
  3. 3. Premier arrˆt : JGroups e3 of 35
  4. 4. Destination : int´grer le protocole des trains ` JGroups e a4 of 35
  5. 5. SommaireVeuillez composter vos billets s’il vous plaˆ ıt1. Introduction au protocole des trains2. Conception d’une API Java3. Int´gration du protocole ` JGroups e a4. D´monstration e5. Conclusion 5 of 35
  6. 6. Introduction au protocole des trainsTout le monde en voiture Le protocole des trains est un protocole de diffusion (broadcast) : uniforme totalement ordonn´ e Il permet d’obtenir un d´bit optimal. e6 of 35
  7. 7. Introduction au protocole des trainsTout le monde en voiture Il est con¸u pour : c des petits clusters (16 machines maximum) des messages courts7 of 35
  8. 8. Le principe du protocoleLe circuit 8 of 35
  9. 9. Le principe du protocoleEnvoi d’un message par #009 of 35
  10. 10. Le principe du protocoleDiffusion du message - r´ception par #01 e10 of 35
  11. 11. Le principe du protocoleSuppression du wagon11 of 35
  12. 12. Le principe du protocoleArriv´e d’un nouveau processus e12 of 35
  13. 13. Impl´mentation du protocole des trains en langage C eUn fichier de configuration minimal Fichier addr file : 0:localhost:2000 1:localhost:200113 of 35
  14. 14. Impl´mentation du protocole des trains en langage C eUn fichier de configuration minimalUne interface simple Initialisation : trInit() Arrˆt : trTerminate() e Cr´ation d’un message : newmsg() e Diffusion d’un message : utoBroadcast() 3 structures : message, messageHeader, circuitView14 of 35
  15. 15. Pause au wagon-barO` l’on doit faire du caf´ u e15 of 35
  16. 16. Pause au wagon-barO` l’on doit faire du caf´ u e16 of 35
  17. 17. Pause au wagon-barO` l’on doit faire du caf´ u e17 of 35
  18. 18. Java Native Interface18 of 35
  19. 19. Java Native Interface19 of 35
  20. 20. Java Native InterfaceAvantages Int´ragir avec du code natif (C/C++) e Acc´der ` des fonctions syst`mes e a e Gestion du hardware Utilisation de librairies existantes Gain en performance (?)20 of 35
  21. 21. Java Native InterfaceAvantagesInconv´nients e Portabilit´ d´pendante du code natif e e Debug au run time difficile pour le code natif Gestion des vuln´rabilit´ du code natif e e Gestion de la m´moire e Perte de performance21 of 35
  22. 22. 22 of 35
  23. 23. API Java : trains23 of 35
  24. 24. API Java : exemple24 of 35
  25. 25. Comparaison des performances25 of 35
  26. 26. Comparaison des performances 1 train 2 processus en localhost, diffuseurs taille des messages: 10 octets dure de la mesure: 10 secondes (warmup: 1s, cooldown: 1s) 1 ms de d´lai entre 2 envois de messages e26 of 35
  27. 27. Br`ve introduction ` JGroups e aJGroups Intergiciel pour faire de la diffusion fiable Pile de protocoles flexible et configurable via un fichier27 of 35
  28. 28. Br`ve introduction ` JGroups e aJGroupsFonctionalit´s e D´tection et notification de l’arriv´ et du d´part des membres e e e D´tection et enl`vement des membres ´cras´s e e e e Envoi et r´ception des message diffus´ e e Envoi et r´ception des message point-`-point e a Transfert d’´tat e28 of 35
  29. 29. Br`ve introduction ` JGroups e aArchitecture de la pile de protocoles FLUSH / STATE TRANSFER Fragmentation (FRAG) Contrˆle de flux (UFC, MFC) o Contrˆle d’appartenance dans group (GMS) o Transfert fiable (STABLE, UNICAST2, etc) D´tection des ´ch`cs (FD SOCK, VERIFY SUSPECT, etc) e e e Merge des sous-groupes (MERGE) D´couverte des membres (PING) e Protocole de transfer (UDP, TCP)29 of 35
  30. 30. Int´gration ` JGroups e aObjectif Cr´ation d’un protocole ”trains” dans JGroups e Permettre aux utilisateurs de switcher sur le protocole des trains sans toucher ` leur code. a30 of 35
  31. 31. Int´gration ` JGroups e aObjectifFonctionalit´s e D´tection et notification de l’arriv´ et du d´part des membres e e e (pour les membres pr´sents dans la liste) e Envoi et r´ception des messages diffus´s e e Transfert d’´tat eSimplifications D´tection et enl`vement des membres ´cras´s e e e e Envoi et r´ception des messages point-`-point e a31 of 35
  32. 32. Int´gration ` JGroups e aObjectifFonctionalit´s eSimplificationArchitecture de la pile de protocoles FLUSH / STATE TRANSFER Trains protocol32 of 35
  33. 33. D´monstration e33 of 35
  34. 34. Bilan : terminus tout le monde descendObjectifs atteints API Java avec JNI op´rationnelle e Int´gration d’une brique protocolaire dans JGroups fonctionnelle e Transfert d’´tat en marche e34 of 35
  35. 35. Bilan : terminus tout le monde descendObjectifs atteintsProchaines ´tapes e Compatibilit´ du protocole avec Windows (et BSD ?) e Calcul plus fin des performances35 of 35

×