• Aucun résultat trouvé

Algorithmique r´epartie

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmique r´epartie"

Copied!
154
0
0

Texte intégral

(1)

Algorithmique r´epartie

(2)

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

eseaux synchrones eseaux asynchrones 4 Algorithmes r´epartis

Variables locales Pseudo-code 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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)

(8)

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

(9)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)

(10)

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

(11)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)

R´eseaux

(12)

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

(13)

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

(14)

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

(15)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)

Non homog`enes

(16)

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

(17)

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...

(18)

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

(19)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s)

Pas de big boss

(20)

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

(21)

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 ?

(22)

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

(23)

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

(24)

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

(25)

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 ...

(26)

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

(27)

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 ...

(28)

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

(29)

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

(30)

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

(31)

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.

(32)

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

(33)

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

(34)

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

(35)

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.

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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

(43)

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.

(44)

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

(45)

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.

(46)

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

(47)

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.

(48)

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

(49)

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.

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(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

(64)

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

(65)

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,...)

...

(66)

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

(67)

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,...)

...

(68)

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

(69)

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

(70)

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

(71)

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

(72)

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

(73)

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

(74)

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

(75)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) eseaux synchrones

R´eseaux synchrones

D´efinition 1

Les noeuds ont des temps de calculs identiques. Le temps de circulation des messages est identique.

(76)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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

(77)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) eseaux synchrones

R´eseaux synchrones

D´efinition 1

(78)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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

(79)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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.

(80)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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

(81)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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.

(82)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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

(83)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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.

(84)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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

(85)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) eseaux asynchrones

R´eseaux asynchrones

D´efinition

Les noeuds ont des temps de calculs diff´erents.

(86)

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

(87)

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.

(88)

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

(89)

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.

(90)

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

(91)

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.

(92)

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

(93)

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.

(94)

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

(95)

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.

(96)

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

(97)

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.

(98)

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

(99)

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.

(100)

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

(101)

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.

(102)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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

(103)

Sommaire Introduction Syst`emes r´epartis Notion de temps Algorithmes r´epartis Complexit´e(s) 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

(104)

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

(105)

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.

(106)

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

(107)

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.

(108)

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

(109)

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.

Références

Documents relatifs

Etude du courant en r´ egime sinuso¨ıdal forc´ e dans le circuit RLC s´ erie.. Etude de l’amplitude en fonction de la pulsation du g´ en´ erateur, recherche du maximum

Donc, pour r´esoudre graphiquement le probl`eme, on va faire “glisser” la droite vers le haut tout en conservant une intersection non vide avec la zone gris´ee.. C’est en d

en tirant al ´eatoirement le g ´enotype au QTL avec les probabilit ´es que l’individu n soit de g ´enotype qQ ou QQ sachant ses marqueurs et la carte g ´en ´etique.. Comment

A travers cet exemple, on peut identifier plusieurs ´ el´ ements : L’ensemble de tous les candidats possibles :. tous les parcours possibles Une fonction de coˆ

Optimisation combinatoire : Espace de recherche dont les variables sont discr` etes (cas NP-difficile). Optimisation num´ erique (continue) : Espace de recherche dont les variables

Introduction Probl` emes d’optimisation combinatoire Probl` emes d’optimisation num´ erique

Fonction f θ d´ ependant de param` etres θ du diam` etre pupillaire en fonction de l’unit´ e de temps pour chacune des situations Comment d´ efinir un comportement moyen. Voir

Fonction f θ d´ ependant de param` etres θ du diam` etre pupillaire en fonction de l’unit´ e de temps pour chacune des situations Comment d´ efinir un comportement moyen.