SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Downloaden Sie, um offline zu lesen
Int´gration du protocole des trains ` JGroups
   e                                a




                             St´phanie OUILLON
                               e
                               Tiezhen WANG




                               30 janvier 2013
Premier arrˆt : JGroups
           e




2 of 35
Premier arrˆt : JGroups
           e




3 of 35
Destination : int´grer le protocole des trains ` JGroups
                 e                             a




4 of 35
Sommaire
Veuillez composter vos billets s’il vous plaˆ
                                            ıt
1. Introduction au protocole des trains
2. Conception d’une API Java
3. Int´gration du protocole ` JGroups
      e                     a
4. D´monstration
    e
5. Conclusion




 5 of 35
Introduction au protocole des trains
Tout 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.
                          e




6 of 35
Introduction au protocole des trains
Tout le monde en voiture

  Il est con¸u pour :
            c
          des petits clusters (16 machines maximum)
          des messages courts




7 of 35
Le principe du protocole
Le circuit




 8 of 35
Le principe du protocole
Envoi d’un message par #00




9 of 35
Le principe du protocole
Diffusion du message - r´ception par #01
                       e




10 of 35
Le principe du protocole
Suppression du wagon




11 of 35
Le principe du protocole
Arriv´e d’un nouveau processus
     e




12 of 35
Impl´mentation du protocole des trains en langage C
    e
Un fichier de configuration minimal

   Fichier addr file :
   0:localhost:2000
   1:localhost:2001




13 of 35
Impl´mentation du protocole des trains en langage C
    e
Un fichier de configuration minimal


Une interface simple

   Initialisation : trInit()
   Arrˆt : trTerminate()
      e
   Cr´ation d’un message : newmsg()
     e
   Diffusion d’un message : utoBroadcast()
   3 structures : message, messageHeader, circuitView




14 of 35
Pause au wagon-bar
O` l’on doit faire du caf´
 u                       e




15 of 35
Pause au wagon-bar
O` l’on doit faire du caf´
 u                       e




16 of 35
Pause au wagon-bar
O` l’on doit faire du caf´
 u                       e




17 of 35
Java Native Interface




18 of 35
Java Native Interface




19 of 35
Java Native Interface
Avantages
   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
Java Native Interface
Avantages


Inconv´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 performance




21 of 35
22 of 35
API Java : trains




23 of 35
API Java : exemple




24 of 35
Comparaison des performances




25 of 35
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
            e


26 of 35
Br`ve introduction ` JGroups
  e                a
JGroups
   Intergiciel pour faire de la diffusion fiable
   Pile de protocoles flexible et configurable via un fichier




27 of 35
Br`ve introduction ` JGroups
  e                a
JGroups


Fonctionalit´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
               e




28 of 35
Br`ve introduction ` JGroups
  e                a
Architecture 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
Int´gration ` JGroups
   e        a
Objectif
   Cr´ation d’un protocole ”trains” dans JGroups
     e
   Permettre aux utilisateurs de switcher sur le protocole des trains
   sans toucher ` leur code.
                a




30 of 35
Int´gration ` JGroups
   e        a
Objectif


Fonctionalit´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
               e

Simplifications
   D´tection et enl`vement des membres ´cras´s
    e              e                   e    e
   Envoi et r´ception des messages point-`-point
             e                           a
31 of 35
Int´gration ` JGroups
   e        a
Objectif


Fonctionalit´s
            e


Simplification


Architecture de la pile de protocoles
   FLUSH / STATE TRANSFER
   Trains protocol



32 of 35
D´monstration
 e




33 of 35
Bilan : terminus tout le monde descend
Objectifs atteints
   API Java avec JNI op´rationnelle
                       e
   Int´gration d’une brique protocolaire dans JGroups fonctionnelle
      e
   Transfert d’´tat en marche
               e




34 of 35
Bilan : terminus tout le monde descend
Objectifs atteints


Prochaines ´tapes
           e
   Compatibilit´ du protocole avec Windows (et BSD ?)
               e
   Calcul plus fin des performances




35 of 35

Weitere ähnliche Inhalte

Andere mochten auch

23 le martyre des dix milles, vittore carpaccio-c. lauras
23 le martyre des dix milles, vittore carpaccio-c. lauras23 le martyre des dix milles, vittore carpaccio-c. lauras
23 le martyre des dix milles, vittore carpaccio-c. laurasseminaire_venitien
 
Arbre généalogique
Arbre généalogiqueArbre généalogique
Arbre généalogiquecosty94
 
Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)
Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)
Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)Alejandra Prado
 
Guide twitter 2012
Guide twitter 2012Guide twitter 2012
Guide twitter 2012Pierre AVRIL
 
L’Utilisation De CommunautéS En Ligne Dans Une StratéGie
L’Utilisation De CommunautéS En Ligne Dans Une StratéGieL’Utilisation De CommunautéS En Ligne Dans Une StratéGie
L’Utilisation De CommunautéS En Ligne Dans Une StratéGieguestd0c062
 
El sexo de los pajaros
El sexo de los pajarosEl sexo de los pajaros
El sexo de los pajarosdieguigurenp
 
Emily Vasquez
Emily VasquezEmily Vasquez
Emily VasquezDetranRS
 
Eduardo a. armijos ochoa
Eduardo a. armijos ochoaEduardo a. armijos ochoa
Eduardo a. armijos ochoami casa
 
Challenge Akka Romane Et Morgane
Challenge Akka Romane Et MorganeChallenge Akka Romane Et Morgane
Challenge Akka Romane Et Morganejeanmariotte
 
Présentation DigiWorld Yearbook 2012 à Paris
Présentation DigiWorld Yearbook 2012 à ParisPrésentation DigiWorld Yearbook 2012 à Paris
Présentation DigiWorld Yearbook 2012 à ParisIDATE DigiWorld
 
La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...
La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...
La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...Gabriel Dumouchel, Ph.D.
 
2016 : quelles armes pour trouver un emploi
2016 : quelles armes pour trouver un emploi 2016 : quelles armes pour trouver un emploi
2016 : quelles armes pour trouver un emploi Nicolas Galita
 
Infotice3 -Dispositif Tablettes
Infotice3 -Dispositif TablettesInfotice3 -Dispositif Tablettes
Infotice3 -Dispositif TablettesMATICE_CDP
 

Andere mochten auch (19)

Bill gates
Bill gates Bill gates
Bill gates
 
23 le martyre des dix milles, vittore carpaccio-c. lauras
23 le martyre des dix milles, vittore carpaccio-c. lauras23 le martyre des dix milles, vittore carpaccio-c. lauras
23 le martyre des dix milles, vittore carpaccio-c. lauras
 
Arbre généalogique
Arbre généalogiqueArbre généalogique
Arbre généalogique
 
Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)
Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)
Elementos de la Guerra Mediatica (http://www.rebelion.org/docs/118903.pdf)
 
Guide twitter 2012
Guide twitter 2012Guide twitter 2012
Guide twitter 2012
 
L’Utilisation De CommunautéS En Ligne Dans Une StratéGie
L’Utilisation De CommunautéS En Ligne Dans Une StratéGieL’Utilisation De CommunautéS En Ligne Dans Une StratéGie
L’Utilisation De CommunautéS En Ligne Dans Une StratéGie
 
El sexo de los pajaros
El sexo de los pajarosEl sexo de los pajaros
El sexo de los pajaros
 
Emily Vasquez
Emily VasquezEmily Vasquez
Emily Vasquez
 
Eduardo a. armijos ochoa
Eduardo a. armijos ochoaEduardo a. armijos ochoa
Eduardo a. armijos ochoa
 
Introducción a dropbox
Introducción a dropboxIntroducción a dropbox
Introducción a dropbox
 
Challenge Akka Romane Et Morgane
Challenge Akka Romane Et MorganeChallenge Akka Romane Et Morgane
Challenge Akka Romane Et Morgane
 
Présentation DigiWorld Yearbook 2012 à Paris
Présentation DigiWorld Yearbook 2012 à ParisPrésentation DigiWorld Yearbook 2012 à Paris
Présentation DigiWorld Yearbook 2012 à Paris
 
2012 02-02 notasegw
2012 02-02 notasegw2012 02-02 notasegw
2012 02-02 notasegw
 
La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...
La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...
La présence numérique de l'étudiant-chercheur en éducation: quelques outils p...
 
La France
La FranceLa France
La France
 
2016 : quelles armes pour trouver un emploi
2016 : quelles armes pour trouver un emploi 2016 : quelles armes pour trouver un emploi
2016 : quelles armes pour trouver un emploi
 
La Publicité Subliminale
La Publicité SubliminaleLa Publicité Subliminale
La Publicité Subliminale
 
Infotice3 -Dispositif Tablettes
Infotice3 -Dispositif TablettesInfotice3 -Dispositif Tablettes
Infotice3 -Dispositif Tablettes
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 

Ähnlich wie Intégration du protocole des Trains à JGroups

IPv6 training
IPv6 trainingIPv6 training
IPv6 trainingFred Bovy
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfHouBou3
 
LUGE - Introduction aux brokers
LUGE - Introduction aux brokersLUGE - Introduction aux brokers
LUGE - Introduction aux brokersNicolas Bats
 
Analyse du débit dans une cellule 4G.pdf
Analyse du débit dans une cellule 4G.pdfAnalyse du débit dans une cellule 4G.pdf
Analyse du débit dans une cellule 4G.pdfguedrezmoussaab
 
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...Alphorm
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2youri59490
 
Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)Fatiha Merazka
 
Jncis ent-formation-juniper-networks-certified-internet-specialist-fast-track
Jncis ent-formation-juniper-networks-certified-internet-specialist-fast-trackJncis ent-formation-juniper-networks-certified-internet-specialist-fast-track
Jncis ent-formation-juniper-networks-certified-internet-specialist-fast-trackCERTyou Formation
 
3GPP LTE (Long Term Evolution) Physical Layer and Associated Performances
3GPP LTE (Long Term Evolution) Physical Layer and Associated Performances3GPP LTE (Long Term Evolution) Physical Layer and Associated Performances
3GPP LTE (Long Term Evolution) Physical Layer and Associated PerformancesNicolasCousin
 
Report on GPU complex type usage
Report on GPU complex type usageReport on GPU complex type usage
Report on GPU complex type usageCaner Candan
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaionTarik Sefiri
 
Priorité des flux
Priorité des fluxPriorité des flux
Priorité des fluxbuffy14
 

Ähnlich wie Intégration du protocole des Trains à JGroups (20)

Protocole EIGRP
Protocole EIGRPProtocole EIGRP
Protocole EIGRP
 
IPv6 training
IPv6 trainingIPv6 training
IPv6 training
 
Cours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdfCours Benhabiles TMS320.pdf
Cours Benhabiles TMS320.pdf
 
LUGE - Introduction aux brokers
LUGE - Introduction aux brokersLUGE - Introduction aux brokers
LUGE - Introduction aux brokers
 
routage Ad hoc ZRP
routage Ad hoc ZRProutage Ad hoc ZRP
routage Ad hoc ZRP
 
vpn
vpnvpn
vpn
 
Analyse du débit dans une cellule 4G.pdf
Analyse du débit dans une cellule 4G.pdfAnalyse du débit dans une cellule 4G.pdf
Analyse du débit dans une cellule 4G.pdf
 
Cv
CvCv
Cv
 
1485606887426.pdf
1485606887426.pdf1485606887426.pdf
1485606887426.pdf
 
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...
Alphorm.com Formation Mettre en oeuvre Cisco MPLS (CCNP SP et CCIE SP) : L'es...
 
Routage
RoutageRoutage
Routage
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
 
Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)Aide à la Planification Cellulaire dans un Réseau LTE (4G)
Aide à la Planification Cellulaire dans un Réseau LTE (4G)
 
Presentation final
Presentation finalPresentation final
Presentation final
 
Jncis ent-formation-juniper-networks-certified-internet-specialist-fast-track
Jncis ent-formation-juniper-networks-certified-internet-specialist-fast-trackJncis ent-formation-juniper-networks-certified-internet-specialist-fast-track
Jncis ent-formation-juniper-networks-certified-internet-specialist-fast-track
 
3GPP LTE (Long Term Evolution) Physical Layer and Associated Performances
3GPP LTE (Long Term Evolution) Physical Layer and Associated Performances3GPP LTE (Long Term Evolution) Physical Layer and Associated Performances
3GPP LTE (Long Term Evolution) Physical Layer and Associated Performances
 
Report on GPU complex type usage
Report on GPU complex type usageReport on GPU complex type usage
Report on GPU complex type usage
 
CoAP master presentaion
CoAP master presentaionCoAP master presentaion
CoAP master presentaion
 
Ch1
Ch1Ch1
Ch1
 
Priorité des flux
Priorité des fluxPriorité des flux
Priorité des flux
 

Intégration du protocole des Trains à JGroups

  • 1. Int´gration du protocole des trains ` JGroups e a St´phanie OUILLON e Tiezhen WANG 30 janvier 2013
  • 2. Premier arrˆt : JGroups e 2 of 35
  • 3. Premier arrˆt : JGroups e 3 of 35
  • 4. Destination : int´grer le protocole des trains ` JGroups e a 4 of 35
  • 5. Sommaire Veuillez composter vos billets s’il vous plaˆ ıt 1. Introduction au protocole des trains 2. Conception d’une API Java 3. Int´gration du protocole ` JGroups e a 4. D´monstration e 5. Conclusion 5 of 35
  • 6. Introduction au protocole des trains Tout 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. e 6 of 35
  • 7. Introduction au protocole des trains Tout le monde en voiture Il est con¸u pour : c des petits clusters (16 machines maximum) des messages courts 7 of 35
  • 8. Le principe du protocole Le circuit 8 of 35
  • 9. Le principe du protocole Envoi d’un message par #00 9 of 35
  • 10. Le principe du protocole Diffusion du message - r´ception par #01 e 10 of 35
  • 11. Le principe du protocole Suppression du wagon 11 of 35
  • 12. Le principe du protocole Arriv´e d’un nouveau processus e 12 of 35
  • 13. Impl´mentation du protocole des trains en langage C e Un fichier de configuration minimal Fichier addr file : 0:localhost:2000 1:localhost:2001 13 of 35
  • 14. Impl´mentation du protocole des trains en langage C e Un fichier de configuration minimal Une interface simple Initialisation : trInit() Arrˆt : trTerminate() e Cr´ation d’un message : newmsg() e Diffusion d’un message : utoBroadcast() 3 structures : message, messageHeader, circuitView 14 of 35
  • 15. Pause au wagon-bar O` l’on doit faire du caf´ u e 15 of 35
  • 16. Pause au wagon-bar O` l’on doit faire du caf´ u e 16 of 35
  • 17. Pause au wagon-bar O` l’on doit faire du caf´ u e 17 of 35
  • 20. Java Native Interface Avantages 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. Java Native Interface Avantages Inconv´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 performance 21 of 35
  • 23. API Java : trains 23 of 35
  • 24. API Java : exemple 24 of 35
  • 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 e 26 of 35
  • 27. Br`ve introduction ` JGroups e a JGroups Intergiciel pour faire de la diffusion fiable Pile de protocoles flexible et configurable via un fichier 27 of 35
  • 28. Br`ve introduction ` JGroups e a JGroups Fonctionalit´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 e 28 of 35
  • 29. Br`ve introduction ` JGroups e a Architecture 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. Int´gration ` JGroups e a Objectif Cr´ation d’un protocole ”trains” dans JGroups e Permettre aux utilisateurs de switcher sur le protocole des trains sans toucher ` leur code. a 30 of 35
  • 31. Int´gration ` JGroups e a Objectif Fonctionalit´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 e Simplifications D´tection et enl`vement des membres ´cras´s e e e e Envoi et r´ception des messages point-`-point e a 31 of 35
  • 32. Int´gration ` JGroups e a Objectif Fonctionalit´s e Simplification Architecture de la pile de protocoles FLUSH / STATE TRANSFER Trains protocol 32 of 35
  • 34. Bilan : terminus tout le monde descend Objectifs atteints API Java avec JNI op´rationnelle e Int´gration d’une brique protocolaire dans JGroups fonctionnelle e Transfert d’´tat en marche e 34 of 35
  • 35. Bilan : terminus tout le monde descend Objectifs atteints Prochaines ´tapes e Compatibilit´ du protocole avec Windows (et BSD ?) e Calcul plus fin des performances 35 of 35