Vous êtes sur la page 1sur 34

ALGORITHMIQUE

REPARTIE

Yahya SLIMANI
Dept Informatique
Faculté des Sciences de Tunis
Yahya.slimani@fst.rnu.tn

1
Exclusion mutuelle (1)
 Rappel
 Partage de ressource
 Section critique
 Code d’accès à la ressource partagée
 Solutions
 Vérifient un certain nombre de
propriétés

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 2
Exclusion mutuelle (2)
 Propriété fondamentale
 Exclusion Mutuelle
 A un instant donné au plus n processus
en section critique
 Solutions en centralisé
 Sémaphores, Moniteurs, …

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 3
Exclusion mutuelle (3)
 Solutions en distribué
 Quel sens donner à « Instant donné »
 Utiliser plutôt l’ordre
 Conditions supplémentaires
 Equité entre processus
 Vivacité
 Ni deadlock, ni privation
 Solution symétrique
 Pas d’Ordonnanceur centralisé

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 4
Exclusion mutuelle (4)
 Solutions multiples
 Centralisée
 Serveur centralise les demandes
 Définir l’algorithmique associée
 Combien de messages sont nécessaires
pour Pi pour accéder en SC
 Utilisation d’un jeton
 Mêmes questions que pour le cas
centralisé
 Démontrer la sûreté et la vivacité

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 5
Exclusion mutuelle (4)
 Solutions distribuées
 Solution de Lamport
 N sites
 Liaison par canal FIFO
 File d’attente répartie
 Ordonnée par les estampilles
 Une entrée pour chaque site

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 6
Exclusion mutuelle (5)
 Contenu d’une entrée i
 Message en provenance de i
 Nombre de messages : 3
 REQ : Demande d’entrée en SC
 ACK : Réception d’une demande
 LIB : Sortie de la section critique
 Demande d’entrée en SC (Pi)
 Diffusion de (REQ, i, Hi)
 FA(i)[i] = (REQ, i, Hi)

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 7
Exclusion mutuelle (6)
 Réception de (REQ)
 Définir l’algorithme correspondant
 Réception de (ACK)
 Définir l’algorithme correspondant
 Réception de (LIB)
 Définir l’algorithme correspondant
 Condition d’entrée en SC
 Trouver la condition

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 8
Stabilité de message
(1)
 Problème
 Ordre de délivrance des messages ?
 Résolution de l’asynchronisme

 Solution
 Stabilité d’un message
 Un message est dit stable si aucun
message d’estampille inférieure ne
parviendra au destinataire

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 9
Stabilité de message
(2)
 Règle
 Ne délivrer un message que s’il est
stable
 Problématiques de la stabilité
 Connaissance des émetteurs
 Pas de messages d’un processus
 Garantir la terminaison

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 10
Diffusion causale (1)
 Principe
 Diffusion d’un message à un ensemble
de processus destinataires
 Broadcast (générale)
 Multicast (sélective)

 Problématique
 Définir des invariants
 Garantie en cas de défaillance
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 11
Diffusion causale (2)
 Exemple 1
 Diffusion causale
 Communication fiable
 Propriété
 ∀m,m,∀i: send(m) → send(m’)
⇒ délivreri(m) → délivreri(m’)

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 12
Diffusion causale (3)

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 13
Cohérence de données
(1)
 Exemple
 Base de données sur 3 sites
 Fonctions d’un site
 Consulter ou mettre à jour la BD
 Principe du read one, write all

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 14
Cohérence de données
(2)

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 15
Cohérence de données
(3)
 Problème
 Trouver le principe d’une mise à jour
cohérente d’une base

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 16
Election (1)
 Problématique
 Ensemble de processus
 Choisir un seul
 Le faire connaître aux autres
 Solution
 Sûreté
 Un seul
 Vivacité
 Election en un temps fini
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 17
Election (2)
 Principes
 Election déclenchée par n’importe quel
processus
 Existence de plusieurs élections
 Prise en charge de pannes
 Panne pendant une élection

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 18
Election (3)
 Intérêts
 Régénération d’un jeton
 Election d’un maître
 Schéma maître/esclaves

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 19
Election (4)
 Algorithmes
 Bully algorithm
 Algorithme de la brute
 Hypothèses
 Réseau fiable et synchrone
 Identité des processus connue par tous

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 20
Algorithme de base
 Principe
 Basé sur la recherche d’un min d’un
ensemble
 Demande d’élection par inondation
 Réponse à ceux qui ont un numéro
inférieur
 Processus élu s’il ne reçoit aucune
réponse
 Coût en communication de messages

 A trouver !!!!

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 21
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 22
Algorithme de Chang et
Roberts

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 23
Terminaison (1)
 Modèle
 Ensemble de Processus
 Communication par message
 Etat: Passif ou Actif
 Structure d’un processus
 Attente message
 Exécution calcul local
 Fin processus (envoi ou non)

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 24
Terminaison (2)
 Problème
 Comment savoir qu’un calcul réparti
est terminé ?
 Vérification de la terminaison du calcul
 Conditions sur l’état global
 Trouver ces conditions (2)

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 25
Terminaison (3)
 Méthodes de détection
 Méthodes générales
 Analyse de l’état global
 Terminaison: propriété stable
 Algorithme de Chandy-Lamport
 Enregistrer un état global et le vérifier
 Méthodes spécifiques
 Application pour un schéma particulier
de communication
 Anneau, arbre, graphe orienté

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 26
Terminaison (4)
 Schéma anneau
 Trouver le principe
 Trouver une anomalie majeure de
cette méthode

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 27
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 28
Terminaison (5)
 Algorithme de Misra (Anneau)
 Principe
 Site avec couleur
 Noir
 A été actif depuis le dernier passage du jeton
 Blanc : Non noir
 Jeton
 Compteur des sites trouvés passifs
 Condition de terminaison
 Trouver cette condition
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 29
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 30
Terminaison (6)
 Schéma graphe (Dijkstra-Scholten)
 Principe
 Basé sur la notion de calcul diffusant
 Calcul lancé à partir d’un nœud
origine (arbre de recouvrement)
 Initiateur de la détection de la terminaison
 Fonctionnement
 Nœud reçoit un message
 Effectue un calcul
 Passe à l’état passif ou envoi de messages à ses
successeurs (nombre fini)
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 31
Terminaison (7)
 Construction d’un arbre implicite de
recouvrement
 Quel est le père d’un nœud dans l’arbre ?
 Propriétés d’un nœud
 Arcs entrants
 Arcs sortants
 Nœud (feuille) a terminé ou reçu un
signal de chaque arc sortant
 Renvoi un signal sur un de ses arcs entrants
 Equilibrer les signaux entrants et sortants

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 32
Terminaison (8)
 Nœud renvoie un signal à son père
 Déficit annulé sur arc sortant
 Renvoi d’un signal sur chaque arc entrant autre
que celui venant du père
 Fin du calcul
 Déficit du nœud origine est nul sur
tous ses arcs sortants

Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 33
Algorithmique Répartie
ISI – 08/09 Y. SLIMANI, FST Tunis 34

Vous aimerez peut-être aussi