Algorithmique r´epartie
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
1 Introduction 2 Syst`emes r´epartis
Mod´elisation des r´eseaux Vocabulaires
Noeuds
Liens de communications 3 Notion de temps
R´eseaux synchrones R´eseaux asynchrones 4 Algorithmes r´epartis
Variables locales Pseudo-code R´eveil spontann´e Diagramme de traces Un exemple
5 Complexit´e(s)
Complexit´e s´equentielle Nombre de messages Tailles des messages Complexit´e temporelle : Complexit´e spatiale :
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 2 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmique S´equentielle
Une tˆache / un calcul
S´erie d’op´erations ´el´ementaires Les unes apr`es les autres Sur une mˆeme machine
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmique S´equentielle
Une tˆache / un calcul
S´erie d’op´erations ´el´ementaires
Les unes apr`es les autres Sur une mˆeme machine
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 3 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmique S´equentielle
Une tˆache / un calcul
S´erie d’op´erations ´el´ementaires Les unes apr`es les autres
Sur une mˆeme machine
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmique S´equentielle
Une tˆache / un calcul
S´erie d’op´erations ´el´ementaires Les unes apr`es les autres Sur une mˆeme machine
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 3 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 4 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 5 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
R´eseaux
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Internet
Repr´esentation d’une partie du r´eseau Internet en 2005
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 7 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Un r´eseaux c’est quoi de nos jours ?
Tr`es grand r´eseaux :
Explosion combinatoire du nombre de machines connect´e
Non homog`ene
Explosion du type de machines connect´ees Filaire ou non Non statique
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Un r´eseaux c’est quoi de nos jours ?
Tr`es grand r´eseaux :
Explosion combinatoire du nombre de machines connect´e Non homog`ene
Explosion du type de machines connect´ees Filaire ou non Non statique
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 8 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Non homog`enes
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Un r´eseaux pour quoi faire
Echanger de l’information Emails
fichiers textes fichiers son fichiers images ...
Partager des ressources
m´emoire
base de donn´ees mat´eriels
Tout cela s’organise...
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 10 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Un r´eseaux pour quoi faire
Echanger de l’information Emails
fichiers textes fichiers son fichiers images ...
Partager des ressources m´emoire
base de donn´ees mat´eriels
Tout cela s’organise...
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Un r´eseaux pour quoi faire
Echanger de l’information Emails
fichiers textes fichiers son fichiers images ...
Partager des ressources m´emoire
base de donn´ees mat´eriels
Tout cela s’organise...
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 10 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Pas de big boss
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Pas de big boss
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 11 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Question
Comment r´ealiser une tˆache commune sur un r´eseaux `a grande
´echelle ?
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Tˆ ache commune
Tˆache : R´epondre `a la question : Qui est n´e en Mars ?
Approche centralis´ee :
L’enseignant demande `a tout le monde
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 13 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Tˆ ache commune
Tˆache : R´epondre `a la question : Qui est n´e en Mars ?
Approche centralis´ee :
L’enseignant demande `a tout le monde
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Tˆ ache commune
Tˆache : R´epondre `a la question : Qui est n´e en Mars ?
Approche centralis´ee :
L’enseignant demande `a tout le monde
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 13 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Tˆ ache commune
Tˆache : R´epondre `a la question : Qui est n´e en Mars ?
Approche distribu´e :
Chaque ´el`eve demande `a ses voisins
qui demandent `a leurs voisins ...
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Tˆ ache commune
Tˆache : R´epondre `a la question : Qui est n´e en Mars ?
Approche distribu´e :
Chaque ´el`eve demande `a ses voisins
qui demandent `a leurs voisins ...
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 14 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Tˆ ache commune
Tˆache : R´epondre `a la question : Qui est n´e en Mars ?
Approche distribu´e :
Chaque ´el`eve demande `a ses voisins
qui demandent `a leurs voisins ...
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Syst`emes et algorithmiques r´epartis
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 15 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Syst`emes r´epartis
C’est un r´eseaux qui est constitu´es d’entit´es de calcul
M´emoire
puissance de calcul ...
Homog`ene ou non
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Syst`emes r´epartis
C’est un r´eseaux qui est constitu´es de liens de communications
filaire, wifi, radio ....
Les liens de communications
Ils sont utilis´es pour ´echanger de l’information. L’information est transport´ee par des messages.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 17 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Syst`emes r´epartis
C’est un r´eseaux qui est constitu´es de liens de communications
filaire, wifi, radio ....
Les liens de communications
Ils sont utilis´es pour ´echanger de l’information.
L’information est transport´ee par des messages.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmique distribu´ee
D´efinition
Calcul effectu´e par des entit´ees autonomes ayant pour but de solutionn´e un mˆeme probl`eme. Chaque entit´e poss`ede une partie de l’information et peut communiquer avec son voisinage.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 18 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Mod´elisation des r´eseaux
Mod´elisation des r´eseaux
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Mod´elisation des r´eseaux
Mod´elisation des r´eseaux
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 20 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Mod´elisation des r´eseaux
Mod´elisation des r´eseaux
On mod´elise les r´eseaux par des graphes simples.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Vocabulaires
Vocabulaires : entit´es de calculs
F D
H
B
N M
S
Les unit´es de calculs peuvent ˆetre not´e de diff´erentes fa¸con
Noeuds
Sites Processeurs Processus
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 22 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Vocabulaires
Vocabulaires : entit´es de calculs
F D
H
B
N M
S
Les unit´es de calculs peuvent ˆetre not´e de diff´erentes fa¸con
Noeuds Sites
Processeurs Processus
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Vocabulaires
Vocabulaires : entit´es de calculs
F D
H
B
N M
S
Les unit´es de calculs peuvent ˆetre not´e de diff´erentes fa¸con
Noeuds Sites Processeurs
Processus
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 22 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Vocabulaires
Vocabulaires : entit´es de calculs
F D
H
B
N M
S
Les unit´es de calculs peuvent ˆetre not´e de diff´erentes fa¸con
Noeuds Sites Processeurs Processus
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Vocabulaires
Vocabulaires : communications
F D
H
B
N M
S
Les canaux de communications peuvent ˆetre not´e de diff´erentes fa¸con
Canaux de communications
Liens Arˆetes
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 23 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Vocabulaires
Vocabulaires : communications
F D
H
B
N M
S
Les canaux de communications peuvent ˆetre not´e de diff´erentes fa¸con
Canaux de communications Liens
Arˆetes
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Vocabulaires
Vocabulaires : communications
F D
H
B
N M
S
Les canaux de communications peuvent ˆetre not´e de diff´erentes fa¸con
Canaux de communications Liens
Arˆetes
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 23 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
M´emoire des noeuds
Chaque noeuds a sa propre m´emoire
chaque m´emoire peut ˆetre de taille diff´erente. Il n’y a pas de m´emoire commune partag´ee.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
M´emoire des noeuds
Chaque noeuds a sa propre m´emoire
chaque m´emoire peut ˆetre de taille diff´erente.
Il n’y a pas de m´emoire commune partag´ee.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 24 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
M´emoire des noeuds
Chaque noeuds a sa propre m´emoire
chaque m´emoire peut ˆetre de taille diff´erente.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Horloge des noeuds
Chaque noeuds a sa propre horloge
Les temps des horloges peuvent ˆetre diff´erents . Il n’y a pasforc´ement d’horloge commune partag´ee.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 25 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Horloge des noeuds
Chaque noeuds a sa propre horloge
Les temps des horloges peuvent ˆetre diff´erents .
Il n’y a pasforc´ement d’horloge commune partag´ee.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Horloge des noeuds
Chaque noeuds a sa propre horloge
Les temps des horloges peuvent ˆetre diff´erents . Il n’y a pasforc´ement d’horloge commune partag´ee.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 25 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Identifiants des noeuds
12 191.156
AA
127
312
Identifiants
Chaque noeud poss`ede ou pas un identifiant unique.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Identifiants des noeuds
12 191.156
AA
127
312
Identifiants
Chaque noeud poss`ede ou pas un identifiant unique.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 26 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui Ex´ecute un ensemble d’instructions
R´eagit `a un ´ev´enement local :
Un calcul interne
la r´eception d’un message l’envoie d’un message
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui Ex´ecute un ensemble d’instructions R´eagit `a un ´ev´enement local :
Un calcul interne
la r´eception d’un message l’envoie d’un message
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 27 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui Ex´ecute un ensemble d’instructions R´eagit `a un ´ev´enement local :
Un calcul interne
la r´eception d’un message l’envoie d’un message
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui Ex´ecute un ensemble d’instructions R´eagit `a un ´ev´enement local :
Un calcul interne
la r´eception d’un message
l’envoie d’un message
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 27 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui Ex´ecute un ensemble d’instructions R´eagit `a un ´ev´enement local :
Un calcul interne
la r´eception d’un message l’envoie d’un message
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui a Une m´emoire locale
Un ´etat local
Un ensemble de donn´ees et de variables locales Poss`ede ou pas d’identifiant
Poss`ede peu ou pas de connaissance
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 28 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui a Une m´emoire locale
Un ´etat local
Un ensemble de donn´ees et de variables locales Poss`ede ou pas d’identifiant
Poss`ede peu ou pas de connaissance
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui a Une m´emoire locale
Un ´etat local
Un ensemble de donn´ees et de variables locales
Poss`ede ou pas d’identifiant
Poss`ede peu ou pas de connaissance
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 28 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui a Une m´emoire locale
Un ´etat local
Un ensemble de donn´ees et de variables locales Poss`ede ou pas d’identifiant
Poss`ede peu ou pas de connaissance
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Noeud
Un noeud est une puissance de calcul qui a Une m´emoire locale
Un ´etat local
Un ensemble de donn´ees et de variables locales Poss`ede ou pas d’identifiant
Poss`ede peu ou pas de connaissance
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 28 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance locale
Connaissance sur les liens de communications
1 Le noeud p connait qu’il a d liens de communications
2 Le noeud p peu num´eroter ses liens (num´ero de ports)
3 Le noeud p connait les identifiants de ses voisins
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance locale
Connaissance sur les liens de communications
1 Le noeud p connait qu’il a d liens de communications
2 Le noeud p peu num´eroter ses liens (num´ero de ports)
3 Le noeud p connait les identifiants de ses voisins
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 29 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance locale
Connaissance sur les liens de communications
1 Le noeud p connait qu’il a d liens de communications
2 Le noeud p peu num´eroter ses liens (num´ero de ports)
3 Le noeud p connait les identifiants de ses voisins
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance globale
Connaissance
Le noeud a aucune connaissance du r´eseau : le plus r´ealiste.
Le noeud a la connaissance de la taille du r´eseau (nombre de noeuds) : peu r´ealiste (grande taille, dynamique) Le noeud a la connaissance du diam`etre du r´eseaux Le noeud a la connaissance de la topologie du r´eseaux (grille, anneaux,...)
...
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 30 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance globale
Connaissance
Le noeud a aucune connaissance du r´eseau : le plus r´ealiste.
Le noeud a la connaissance de la taille du r´eseau (nombre de noeuds) : peu r´ealiste (grande taille, dynamique)
Le noeud a la connaissance du diam`etre du r´eseaux Le noeud a la connaissance de la topologie du r´eseaux (grille, anneaux,...)
...
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance globale
Connaissance
Le noeud a aucune connaissance du r´eseau : le plus r´ealiste.
Le noeud a la connaissance de la taille du r´eseau (nombre de noeuds) : peu r´ealiste (grande taille, dynamique) Le noeud a la connaissance du diam`etre du r´eseaux
Le noeud a la connaissance de la topologie du r´eseaux (grille, anneaux,...)
...
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 30 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance globale
Connaissance
Le noeud a aucune connaissance du r´eseau : le plus r´ealiste.
Le noeud a la connaissance de la taille du r´eseau (nombre de noeuds) : peu r´ealiste (grande taille, dynamique) Le noeud a la connaissance du diam`etre du r´eseaux Le noeud a la connaissance de la topologie du r´eseaux (grille, anneaux,...)
...
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Noeuds
Connaissance globale
Connaissance
Le noeud a aucune connaissance du r´eseau : le plus r´ealiste.
Le noeud a la connaissance de la taille du r´eseau (nombre de noeuds) : peu r´ealiste (grande taille, dynamique) Le noeud a la connaissance du diam`etre du r´eseaux Le noeud a la connaissance de la topologie du r´eseaux (grille, anneaux,...)
...
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 30 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Liens de communications
Liens de communications
A B
C D
E
F
G
communication
Chaque noeuds envoie ou re¸coit des messages `a travers des liens de communications
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Liens de communications
Liens de communications
A B
C D
E
F
G
communication
Ces liens peuvent ˆetre unidirectionel
Ces liens peuvent ˆetre bidirectionel
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 32 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Liens de communications
Liens de communications
A B
C D
E
F
G
communication
Ces liens peuvent ˆetre unidirectionel Ces liens peuvent ˆetre bidirectionel
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Liens de communications
Liens de communications
A B
C D
E F
G
Communications
Le transit des messages `a l’int´erieur des liens peuvent ˆetre FIFO ou pas
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 33 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Liens de communications
Liens de communications
A B
C D
E F
G
Communications FIFO
Soit deux messages m1 et m2 envoyer par le noeudA Avec m1 envoyer avant le message m2
m arrivera en B avant m
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Liens de communications
Liens de communications
A B
C D
E F
G
Communications non FIFO
Soit deux messages m1 et m2 envoyer par le noeudA Avec m1 envoyer avant le message m2
m2 peut arriver avant ou apr`esm1.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 35 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones
D´efinition 1
Les noeuds ont des temps de calculs identiques. Le temps de circulation des messages est identique.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones
D´efinition 1
Les noeuds ont des temps de calculs identiques.
Le temps de circulation des messages est identique.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 36 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones
D´efinition 1
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones
D´efinition 2
Les noeuds calculent par rondes synchrones. Dans une rounde, chaque noeud ex´ecute les ´etapes suivantes :
1 Effectuer des calculs locaux.
2 Envoyer des messages `a ces voisins.
3 Recevoir des messages de ces voisins.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 37 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones
D´efinition 2
Les noeuds calculent par rondes synchrones. Dans une rounde, chaque noeud ex´ecute les ´etapes suivantes :
1 Effectuer des calculs locaux.
2 Envoyer des messages `a ces voisins.
3 Recevoir des messages de ces voisins.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones
D´efinition 2
Les noeuds calculent par rondes synchrones. Dans une rounde, chaque noeud ex´ecute les ´etapes suivantes :
1 Effectuer des calculs locaux.
2 Envoyer des messages `a ces voisins.
3 Recevoir des messages de ces voisins.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 37 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones : Tampon
Tampon - Question
Que se passe-t-il si un noeud re¸coit plusieurs messages en mˆeme temps ?
Tampon - R´eponse Cela depend :
On peut d´efinir un traitement des donn´ees stocker. On peut traiter une `a une les donn´ees dans l’ordre des identifiants associ´e au donn´ees.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux synchrones
R´eseaux synchrones : Tampon
Tampon - Question
Que se passe-t-il si un noeud re¸coit plusieurs messages en mˆeme temps ?
Tampon - R´eponse Cela depend :
On peut d´efinir un traitement des donn´ees stocker.
On peut traiter une `a une les donn´ees dans l’ordre des identifiants associ´e au donn´ees.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 38 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux asynchrones
R´eseaux asynchrones
D´efinition
Les noeuds ont des temps de calculs diff´erents.
Le temps de circulation des messages est non born´e mais fini.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux asynchrones
R´eseaux asynchrones
D´efinition
Les noeuds ont des temps de calculs diff´erents.
Le temps de circulation des messages est non born´e mais fini.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 39 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eseaux asynchrones
R´eseaux asynchrones
D´efinition
Les noeuds ont des temps de calculs diff´erents.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)
Algorithmes r´epartis
D´efinition
Tous les noeuds ont le mˆeme algorithme s´equentiel.
Cet algorithme r´eagit aux r´eceptions de messages.
Cet algorithme envoie des messages
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 40 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont le mˆeme algorithme s´equentiel.
Donc tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Vision ext´erieure globale :
Pour reconnaitre de quelle variable on parle on ajoutera l’identifiant du processus `a la variable.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont le mˆeme algorithme s´equentiel.
Donc tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Vision ext´erieure globale :
Pour reconnaitre de quelle variable on parle on ajoutera l’identifiant du processus `a la variable.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 41 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont le mˆeme algorithme s´equentiel.
Donc tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Vision ext´erieure globale :
Pour reconnaitre de quelle variable on parle on ajoutera l’identifiant du processus `a la variable.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont le mˆeme algorithme s´equentiel.
Donc tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Vision ext´erieure globale :
Pour reconnaitre de quelle variable on parle on ajoutera l’identifiant du processus `a la variable.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 41 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Exemple :
di sera la variable distance du site ayant pour identifiant i. dj sera la variable distance du site ayant pour identifiant j.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Exemple :
di sera la variable distance du site ayant pour identifiant i. dj sera la variable distance du site ayant pour identifiant j.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 42 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Exemple :
di sera la variable distance du site ayant pour identifiant i.
dj sera la variable distance du site ayant pour identifiant j.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Variables locales
Variables locales
Tous les noeuds ont des variables locales qui porteront le mˆeme nom.
Exemple :
di sera la variable distance du site ayant pour identifiant i. dj sera la variable distance du site ayant pour identifiant j.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 42 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Pseudo-code
Pseudo-code
C’est un pseudo-code classique (s´equentiel) avec des tests, des boucles...
Le pseudo code se pr´esente par block
Un bloc d’Initialisation pour initier les variables locales. Un bloc par r´eception de message .
Lors de la r´eception du message<Message1> envoyer par le noeudq :
instructions....
Attention : il y aura autant de blocs que de types de messages.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Pseudo-code
Pseudo-code
C’est un pseudo-code classique (s´equentiel) avec des tests, des boucles...
Le pseudo code se pr´esente par block
Un bloc d’Initialisation pour initier les variables locales. Un bloc par r´eception de message .
Lors de la r´eception du message<Message1> envoyer par le noeudq :
instructions....
Attention : il y aura autant de blocs que de types de messages.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 43 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Pseudo-code
Pseudo-code
C’est un pseudo-code classique (s´equentiel) avec des tests, des boucles...
Le pseudo code se pr´esente par block
Un bloc d’Initialisation pour initier les variables locales.
Un bloc par r´eception de message .
Lors de la r´eception du message<Message1> envoyer par le noeudq :
instructions....
Attention : il y aura autant de blocs que de types de messages.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Pseudo-code
Pseudo-code
C’est un pseudo-code classique (s´equentiel) avec des tests, des boucles...
Le pseudo code se pr´esente par block
Un bloc d’Initialisation pour initier les variables locales.
Un bloc par r´eception de message .
Lors de la r´eception du message<Message1> envoyer par le noeudq :
instructions....
Attention : il y aura autant de blocs que de types de messages.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 43 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Pseudo-code
Pseudo-code
C’est un pseudo-code classique (s´equentiel) avec des tests, des boucles...
Le pseudo code se pr´esente par block
Un bloc d’Initialisation pour initier les variables locales.
Un bloc par r´eception de message .
Lors de la r´eception du message<Message1> envoyer par le noeudq :
instructions....
Attention : il y aura autant de blocs que de types de messages.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Pseudo-code
Pseudo-code
C’est un pseudo-code classique (s´equentiel) avec des tests, des boucles...
Le pseudo code se pr´esente par block
Un bloc d’Initialisation pour initier les variables locales.
Un bloc par r´eception de message .
Lors de la r´eception du message<Message1> envoyer par le noeudq :
instructions....
Attention : il y aura autant de blocs que de types de messages.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 43 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Pseudo-code
Pseudo-code
C’est un pseudo-code classique (s´equentiel) avec des tests, des boucles...
Le pseudo code se pr´esente par block
Un bloc d’Initialisation pour initier les variables locales.
Un bloc par r´eception de message .
Lors de la r´eception du message<Message1> envoyer par le noeudq :
instructions....
Attention : il y aura autant de blocs que de types de messages.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eveil spontann´e
Qui commence ?
Les processus qui veulent faire une tˆache effectueront un r´eveil spontan´e.
Les autres processus se r´eveilleront `a la r´eception d’un premier message
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 44 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) R´eveil spontann´e
Qui commence ?
Les processus qui veulent faire une tˆache effectueront un r´eveil spontan´e.
Les autres processus se r´eveilleront `a la r´eception d’un premier message
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Diagramme de traces
Diagramme de traces
Pa
Pb
Pc
a1 a2
b1
b2 b3
c1 c2
Le temps s’´ecoule ici vers la droite. Les points correspondent `a des ´ev´enements internes (Calcul local, envoient de message, r´eception de message).
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 45 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Un exemple
Algorithme r´eparti de diffusion
R´eveil spontann´e i vali=identifianti
Pour toutj ∈Voisinsi Envoyer <Valeur,vali > `a j. Lors de la r´eception de <Valeur,valj >envoyer par le noeud j
Si r´eveil par reception de message
vali=identifianti
Sivali <valj :
vali :=valj
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Sinon si r´eveil par reception de message
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Un exemple
Algorithme r´eparti de diffusion
R´eveil spontann´e i vali=identifianti
Pour toutj ∈Voisinsi Envoyer <Valeur,vali > `a j.
Lors de la r´eception de <Valeur,valj >envoyer par le noeud j
Si r´eveil par reception de message
vali=identifianti
Sivali <valj :
vali :=valj
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Sinon si r´eveil par reception de message
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 46 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Un exemple
Algorithme r´eparti de diffusion
R´eveil spontann´e i vali=identifianti
Pour toutj ∈Voisinsi Envoyer <Valeur,vali > `a j.
Lors de la r´eception de <Valeur,valj >envoyer par le noeud j Si r´eveil par reception de message
vali=identifianti Sivali <valj :
vali :=valj
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Sinon si r´eveil par reception de message
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Un exemple
Algorithme r´eparti de diffusion
R´eveil spontann´e i vali=identifianti
Pour toutj ∈Voisinsi Envoyer <Valeur,vali > `a j.
Lors de la r´eception de <Valeur,valj >envoyer par le noeud j Si r´eveil par reception de message
vali=identifianti
Sivali <valj :
vali :=valj
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Sinon si r´eveil par reception de message
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.
Algorithmique r´epartie - Cours de L´elia Blin - L3 2017 46 / 63
Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) Un exemple
Algorithme r´eparti de diffusion
R´eveil spontann´e i vali=identifianti
Pour toutj ∈Voisinsi Envoyer <Valeur,vali > `a j.
Lors de la r´eception de <Valeur,valj >envoyer par le noeud j Si r´eveil par reception de message
vali=identifianti Sivali <valj :
vali :=valj
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj. Sinon si r´eveil par reception de message
Pour toutj ∈Voisinsi Envoyer <Valeur,vali >`aj.