Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes

Slides:



Advertisements
Présentations similaires
OSPF Open shortest path first. Sommaire 1 – Présentation du routage Présentation géneral Protocole de routage.
Advertisements

SRT 2 NTP. Nécessité ● Les ordinateurs utilisent des horloges à quartz – Peu de précision – Tendance à dériver – Parfois plusieurs secondes par jour.
Université de Nantes CHORD Vincent Trève. Introduction ● Problématique – Comment accéder efficacement aux données réparties sur un système pair à pair?
Présentation de Scribe Votre nouvelle organisation du Réseau Informatique Pédagogique.
Chiffres significatifs, incertitudes et précision des instruments Laboratoire, A-08.
Sommaire : I.Introduction II.Fibre optique (pr é sentation g é n é ral de la fibre) III.Les techniques de transmissions -Multiplexage temporelle (TDM)
ARCHITECTURE MULTITENANT CONTAINER DATABASE ET PLUGGABLE DATABASES Pr. A. MESRAR
Les Réseaux informatique.
Calcul de probabilités
Optimisation du délai de transmission dans les réseaux SDN
Le pouvoir exécutif à deux têtes
La ProbabilitÉ.
La gestion des co-produits (niveau de version : C)
Algorithmique Distribuée
Algorithme et programmation
CCNP Routage Chapitre 4 - Questionnaire N°1
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Séminaire Novembre 2006 Zephir : Déploiement et supervision des serveurs Eole.
Les Bases de données Définition Architecture d’un SGBD
Les substances chimiques dangereuses de la Directive Cadre sur l’Eau
Algorithmique demander jeu du pendu.
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD)
introduction à TCP seuls certains aspects du protocole seront traités
Systèmes Distribués et Autostabilisation
L’Instruction de Test Alternatif
Analyse Performance Chaine Energie + Problématique
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Activités algorithmiques
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
1. Présentation du cas pratique
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Exemple de synthèse pour la revue de Direction
Veille Technologique crypto monnaie.
VLSM Exercice N°1 ccnp_cch.
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
Les recours devant le Gouvernement wallon
Tableau de bord des risques
Procédure de demande Le bénéficiaire reçoit une COM dans laquelle une hadronthérapie est proposée et il contacte via son médecin-traitant un centre de.
Information, Communication, Calcul
Configuration de base EIGRP
QoS - Configuration de COPS pour RSVP
Formation arbitrage et e-marque
Réalisation et validation du prototype
Formation sur les bases de données relationnelles.
Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes
SDRP & MA Problème du rendez vous : un algorithme probabiliste et une analyse probabiliste 09/11/2018.
LES RESEAUX.
Procédure de demande Le bénéficiaire reçoit une COM dans laquelle une hadronthérapie est proposée et il contacte via son médecin-traitant un centre de.
NUMERATION et REPRESENTATION DES NOMBRES
Cycle 3 : REALISER UNE PRÉSENTATION EN CM1
Élections locales probabilistes
DEKRA Certification France 2018
03- Evaluation Access 2003 Cette évaluation comporte des QCM (1 seule réponse) et des Zones à déterminer dans des copies d’écran.
Serveurs d’applications
ELECTIONS 2018 PARALOCAL.
Support de formation Administrateur Recrutement
Module 5 : Gestion de l'accès aux ressources à l'aide de groupes
Le Repêchage Systématique
Chapitre V La Procédure Comptable
Les Propriétés du Nombre
Recensement de la Population de 2011
Challenge Relation Client
Proposer, déployer et assurer la diffusion des procédures RH
Exemple de cartographie fonctionnelle
Délégation académique pour le numérique éducatif
Elections locales probabilistes
Séquence 1:Analyse du système d’information comptable
Transcription de la présentation:

Badr Benmammar badr.benmammar@gmail.com Master Réseaux et Systèmes Distribués (RSD) Algorithmique des systèmes et applications réparties Accord et coordination Élection d’un maître Badr Benmammar badr.benmammar@gmail.com

Accord et coordination Une famille de problèmes en algorithmique distribuée. Catégories de problèmes de cette famille : Accord sur l’accès à une ressource partagée Exclusion mutuelle distribuée Accord sur l’ordre d’envoi de messages à tous Diffusion atomique Accord sur un processus jouant un rôle particulier Élection d’un maître Accord sur une valeur commune Consensus Accord sur une action à effectuer par tous ou personne Transaction

Accord sur un processus jouant un rôle particulier « Élection d’un maître »

Plan Élection : motivations Élection : principes Phases d’Élection Phase de préparation Phase de décision Phase de proclamation du résultat Algorithmes d’Élections Algorithme de Chang et Roberts (1979)

Élection : motivations De nombreux algorithmes de contrôle, bien que dits distribués, sont en fait centralisés dans le sens qu’un processus particulier joue le rôle de coordinateur et effectue certains services à la demande des autres processus. C’est le schéma du modèle « client-serveur ». Ce type d’algorithme présente un inconvénient majeur : la panne du processus coordinateur qui entraîne l’arrêt du fonctionnement du système. Il faut alors que les processus en état de fonctionnement puissent s’entendre pour décider lequel d’entre eux prend désormais le rôle de coordinateur. Cet accord s’obtient grâce aux algorithmes d’élection.

Élection : principes Les protocoles d’élection peuvent aussi être utilisés chaque fois qu’un processus, sans nécessairement être coordinateur, joue un rôle particulier. Les processus sont en général identifiés par des numéros et on décide que le processus qui joue un rôle à part est celui qui possède le plus grand numéro. Un algorithme d’élection a donc pour objectif de déterminer le processus de plus grand numéro.

Phases d’Élection Phase de préparation, dans laquelle sont déterminés les processus participant à l’élection ainsi que les candidats. Phase de décision, dans laquelle un processus candidat est désigné par un certain mécanisme. Possédant le plus grand numéro, par exemple. Phase de proclamation du résultat, où chaque processus participant est informé du processus élu.

Algorithmes d’Élections But : élire un seul processus Pi parmi un groupe de processus P1…Pn. Utilité : élire un processus maître, un coordinateur ou un serveur central. Chaque processus Pi maintient une variable Élui (null s’il n’est pas l’élu). Propriétés à satisfaire :  pi, Sûreté : Élui = null ou Élui = Vrai (processus élu). Vivacité : Pi participe et aura Élui = null ou Élui = Vrai.

Algorithme de Chang et Roberts (1979) Topologie en anneau unidirectionnel entre les processus, où chaque processus sait adresser un message à son voisin de gauche. Un ou plusieurs processus peuvent décider de lancer un protocole d’élection.

Algorithme de Chang et Roberts (1979) Les messages sont de deux types : Les messages de type élection : un processus envoie un tel message soit quand il décide de lancer une élection, soit quand il devient participant. Les messages de type élu qui font circuler, après qu’il a été déterminé, le plus grand numéro de processus ; un processus qui reçoit un message de type élection portant son numéro sait qu’il est celui de plus grand numéro et envoie le premier message de type élu ; ce message est alors retransmis en faisant le tour de l’anneau.

Algorithme de Chang et Roberts (1979) Initialisation pour tous les processus : Participanti := FAUX Élui := Null Déclenchement d’une élection par Pi : Participanti := VRAI Envoie le message <élection, Pi> à son voisin

Algorithme de Chang et Roberts (1979) Réception d’un message d’élection <élection, Pi> à Pj : Si Pi > Pj Alors Envoie le message <élection, Pi> à son voisin Participantj := VRAI Sinon (//deux cas) Si (Pi < Pj ET Participantj = FAUX) Alors Alors Envoie le message <élection, Pj> à son voisin Sinon (Pi = Pj) Éluj := VRAI Participantj := FAUX Envoie le message <élu, Pj> à son voisin (initié la proclamation des résultats) FinSi

Algorithme de Chang et Roberts (1979) Réception d’un message <élu, Pj> à Pi : Participanti := FAUX Si (Pi  Pj) alors Envoie le message <élu, Pj> à son voisin (proclamer le résultat) FinSI

Exemple Initialisation : 15 Participant := FAUX Élu := Null 13 10 20 Participan := FAUX

Exemple Processus 15 déclenche l’élection. Participant := VRAI 15 13 20 10 Participant := VRAI <élection, 15>

Exemple Processus 15 déclenche l’élection. 15 13 10 20 10 Participant := VRAI <élection, 15>

Exemple Processus 15 déclenche l’élection. 15 13 10 20 10 Participant := VRAI <élection, 20>

Exemple Processus 15 déclenche l’élection. <élection, 20> 15 13 20 10 <élection, 20> Participant := VRAI

Exemple Processus 15 déclenche l’élection. Participant := VRAI 15 13 20 10 <élection, 20> Participant := VRAI

Exemple Processus 15 déclenche l’élection. 15 13 10 20 10 <élection, 20> Participant := VRAI

Exemple Processus 15 déclenche l’élection. 15 13 10 <élu, 20> 20 Élu := VRAI Participant := FAUX <élu, 20>

Exemple Processus 15 déclenche l’élection. 15 <élu, 20> 13 20 10 <élu, 20> Participant := FAUX

Exemple Processus 15 déclenche l’élection. Participant := FAUX 15 13 20 10 Participant := FAUX <élu, 20>

Exemple Processus 15 déclenche l’élection. 15 Participant := FAUX 13 20 10 Participant := FAUX <élu, 20>

Exemple Processus 15 déclenche l’élection. Fin de l’Election: le processus 20 est élu 13 10 20

Algorithme de Chang et Roberts (1979) Réception d’un message d’élection <élection, Pi> à Pj : Si Pi > Pj Alors Envoie le message <élection, Pi> à son voisin Participantj := VRAI Sinon (//deux cas) Si (Pi < Pj ET Participantj = FAUX) Alors Alors Envoie le message <élection, Pj> à son voisin Sinon (Pi = Pj) Éluj := VRAI Participantj := FAUX Envoie le message <élu, Pj> à son voisin (initié la proclamation des résultats) FinSi

Exemple Processus 15 déclenche l’élection. Participant := VRAI 15 13 10 20

Exemple Processus 15 déclenche l’élection. 15 <élection, 15> 13 20 10 Participant := VRAI <élection, 15> <élection, 15>

10 : aucune chance d’être élu. 15 a déjà envoyé son identifiant Exemple Processus 10 déclenche une nouvelle élection. 15 13 20 10 Participant := VRAI <élection, 15> <élection, 10> 10 : aucune chance d’être élu. 15 a déjà envoyé son identifiant

10 : aucune chance d’être élu. 15 a déjà envoyé son identifiant Exemple Processus 10 déclenche une nouvelle élection. 15 13 20 10 Participant := VRAI <élection, 15> <élection, 10> 10 : aucune chance d’être élu. 15 a déjà envoyé son identifiant

20, il sait que c’est lui le vainqueur Evaluation Du point de vue de la performance en temps, il faut toujours le temps d’un tour d’anneau entre le moment où le vainqueur sait qu’il est vainqueur et la fin du protocole. 15 13 20 10 <élection, 20> Participant := VRAI <élu, 20> 20, il sait que c’est lui le vainqueur

Evaluation On peut cependant distinguer deux cas extrêmes : Le futur vainqueur lance en premier (éventuellement en même temps que d’autres processus) une élection ; il faut alors le temps de la transmission de n messages (le tour de l’anneau) pour qu’il sache qu’il est vainqueur. 2n messages pour atteindre la fin de l’élection. 15 13 20 10 <élection, 20> Participant := VRAI

Evaluation On peut cependant distinguer deux cas extrêmes : Le futur vainqueur est à droite d’un unique processus déclenchant l’élection ; il faudra alors le temps de n – 1 messages pour que le futur vainqueur devienne participant puis le temps de n messages pour que celui-ci découvre qu’il est vainqueur, puis le temps de n messages pour atteindre la fin du protocole d’élection (envoyer le message élu pour proclamer le résultat) soit le temps de la transmission de 3n – 1 messages. Dans tous les cas, le temps requis est en O(n). 20 13 15 10 Participant := VRAI <élection, 13>