Vous êtes sur la page 1sur 86

1

SYSTEMES REPARTIS
CONCEPTS ET
ALGORITHMIQUE
Prof. Yahya SLIMANI
Dpartement des Sciences de lInformatique
Facult des Sciences de Tunis
Tl: 98537921
E-mail: yahya.slimani@fst.rnu.tn
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 2
Prsentation du module
Objectifs
Introduire les systmes rpartis ou
distribus
Concepts
Problmatique
Dveloppement dapplications rparties
Prrequis
Architecture, OS, Programmation,
Rseaux
3
Introduction
Gnrale
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 4
Introduction (1)
Informatique classique
Centralisation
Des moyens de calcul
Des moyens de stockage
Du contrle
Du calcul
Des donnes
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 5
Introduction (2)
Informatique parallle
Motivations
Calcul intensif
Applications scientifiques
Gestion de grandes masses de donnes
Solution
Augmenter la puissance de calcul
Augmenter le nombre de processeurs
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 6
Introduction (3)
Informatique rpartie
Ralit
Dveloppement des rseaux
Intgration dapplications spares
Pntration de linformatique dans tous
les domaines
Solution
Rpartition des ressources et du contrle
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 7
Introduction (4)
Informatique mobile
Motivations
Utilisateurs nomades
Moyens de traitement lgers
Informatique intgre aux objets du
monde rel
Tlphone, carte puce,
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 8
Introduction (5)
Informatique pervasive
Motivations
Accs linformation
A tout moment
De nimporte o
Avec nimporte quel composant lectronique
Accs des services au moyen de
diffrents mdias
Informatique ubiquitaire, diffuse
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 9
Systmes rpartis (1)
Prsentation
Ide centrale
Rpartition
Des moyens de calcul
Des moyens de stockage
Des donnes
Du calcul
Du contrle

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 10
Systmes rpartis (2)
Dfinition
Ensemble dlments relis par un rseau
Elments de calcul
Elments de stockage
Equipements spcifiques
Sondes, capteurs, satellites, etc.
Fonctionnement collaboratif
Participation la ralisation de tches communes
Collaboration grce au rseau

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 11
Systmes rpartis (3)
Exigences
Fonctionnement continu
Tolrer la dfaillance dlments
Fonctionnement dgrad
Rsister au rseau
Dfaillances du systme de
communication
Perte de messages, dconnexion,
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 12
Systmes rpartis (3)
Flexible
Adaptation aux changements
Passage lchelle (Scalability)
Dispersion gographique
Changements de taille
Elments
Utilisateurs

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 13
Systmes rpartis (4)
Non vulnrable
La rpartition ne doit pas dgrader la
scurit
Fiabilit
Rendre des services conformes leurs
spcifications
Facile utiliser
Cacher la rpartition lutilisateur
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 14
Systmes rpartis (5)
Problmatiques
Trs nombreuses et trs diverses
Absence dtat global du systme
Forte dynamicit
Administration du systme trs complexe
Influence du rseau sur le systme
Asynchronisme li la communication
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 15
Schma dun systme rparti
Source : S. Krakowiak
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 16
Systmes rpartis (6)
Problmatiques de base
Comment dfinir ltat dun systme
Existence dtats locaux uniquement
Comment dfinir un calcul dans le cas
rparti
Lancement
Suivi de lexcution
Terminaison
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 17
Systmes rpartis (7)
Comment coordonner diffrents
calculs
Absence de rfrentiel temporel commun
Comment partager des donnes
Absence de rfrentiel spatial commun
Comment garantir la cohrence de
donnes rparties
Cas dune base de donne rpartie
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 18
Systmes rpartis (8)
Comment assurer le fonctionnement
continu du systme
Tolrer (accepter des dfaillances)
Comment dvelopper et mettre au
point des applications rparties
Comment tolrer les alas du rseau
de communication

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 19
ORDONNANCEMENT DES
EVENEMENTS
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 20
Ordonnancement (1)
Problmatique
Pourquoi ordonner
Systme = { Evnements }
Un vnement ncessite une raction
Que faire si plusieurs vnements arrivent
en mme temps
Trouver un ordre pour les traiter
Dcision dpend de cet ordre

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 21
Ordonnancement (2)
Ncessit de connatre ltat dun
systme
Suivre lvolution du systme
Ressources
Processus
Coordonner des processus
Dfinir des proprits
Systme, processus, ressources, etc.
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 22
Ordonnancement (3)
Cas centralis
Pas de complexit particulire
Possibilit de connatre ltat dun systme
tout instant
Interruption
Prendre une image du systme

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 23
Ordonnancement (4)
Pourquoi
Existence de deux rfrentiels uniques
Mmoire commune
Support de ltat du systme
Horloge commune
Dfinit lordre des vnements
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 24
Ordonnancement (5)
Cas distribu
Plus complexe
Pas de rfrentiels communs
Temporel
Spatial
Communications asynchrones
Temps de communication non born
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 25
Ordonnancement (6)
Calcul asynchrone
Diffrentes de vitesses entre sites
Temps non born
Charges variables entre sites
Observation diffrente du mme
vnement
Solution
Trouver un modle temporel
Modle asynchrone
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 26
Modle asynchrone (1)
Hypothse de base
Asynchronisme
Du calcul
Des communications
Modle
Asynchrone
Imposer des contraintes (parfois fortes)
Fixer des bornes
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 27
Evnements (1)
Types
2 types dvnements
Locaux
Internes un processus
Ordonns par lhorloge physique
Communication
Emetteur (Send)
Rcepteur (Receive)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 28
Evnements (2)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 29
Evnements (3)
Hypothses sur les messages
Message
Seul moyen de communication entre
processus distants
Proprits
Arrive dun message
Garantie
Sans possibilit de borner le temps de transmission

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 30
Evnements (4)
Contenu
Message non modifi
Canal de communication
Lien entre deux processus
Peut avoir certaines proprits
FIFO

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 31
Evnements (5)
Instants
Rception
Par le systme de communication
Dlivrance
Remis son destinataire
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 32
Evnements (6)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 33
Evnements (7)
Excution locale
Suite dvnements
Propre chaque processus
Constitue son pass ou son historique
Suite ordonne
Horloge physique du site o se trouve le processus
P1: < e
11
, e
12
, , e
1n
>
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 34
Evnements (8)
Excution globale
Dfinir une suite partir de deux
suites dvnements
Intrt
Synchroniser deux processus
Trouver un ordre entre les vnements des deux
suites
Exemple: Accs une ressource critique
Dfinir un ordre daccs: Fin(P1) < Dbut(P2)
ou Fin(P2) < Dbut(P1)

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 35
Evnements (9)
Ordonnancement global
Problmatique
Comment dfinir la suite des vnements
dun systme rparti
Passage dun ensemble de suites locales une suite
globale

Relation de prcdence
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 36
Evnements (10)
Contrainte
Connaissances locales sur les vnements
Solution
Dfinir un oprateur de prcdence et lui
associer une smantique
Utiliser le principe de causalit
Cause prcde toujours leffet
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 37
Evnements (11)
3 niveaux de causalit
Processus
Evnement local nagit que sur les vnements
futurs
Entre processus
Communication
Emission prcde toujours la rception
Composition
Relation transitive
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 38
Causalit (1)
Dfinition
Propose par Lamport [78]
Principe
Evnement e prcde causalement
lvnement e
e e
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 39
Causalit (2)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 40
Causalit (3)
Causalit potentielle
Proprit de la causalit
Dfinit uniquement une causalit
potentielle
On ne peut pas affirmer que e est la cause
effective de e
Par contre e ne peut pas tre la cause de
e
Affirmation par ngation

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 41
Causalit (4)
Indpendance causale
Dfinition
(e e ) et (e e)
Aucun de ces vnements ne peut
influencer lautre
Ils sont causalement indpendants
e || e
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 42
Causalit (5)
Pass
Notion rattache un vnement
Pass(e) = { e* } | (e* e) {e}
Intrt
Indpendance causale
Aucun vnement ne fait partie du pass de lautre
Aucun ninfluence lautre
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 43
Causalit (6)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 44
Causalit (7)
Chane causale
e
0
, ... ,e
n
: e
i-1
e
i
, i=1,...,n
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 45
Horloges logiques (1)
Prsentation
Dfinies par Lamport
But
Dater des vnements
Assurer la condition de validit
Dtermine par une connaissance locale
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 46
Horloges logiques (2)
Principe
Horloge logique sur chaque site
Compteur (dater les vnements)
Site i Horloge H
i

Estampille
Datation
Evnement e dans site i
H(e) = H
i
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 47
Horloges logiques (3)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 48
Horloges logiques (4)
Algorithmique
Initialisation
H
i
= 0 pour tout i
Evnement e local (site i)
H
i
= H
i
+ 1
Dater e avec H
i

Emission dun message m
Estampiller m
( m , H
i
(m) )

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 49
Horloges logiques (5)
Rception dun message
H
j
= max ( H
j
, H
i
) + 1
Dater lvnement de rception avec la valeur de H
j


La date de lmission peut influencer la date de
rception
Intrt
Ordonner les vnements dun
systme rparti

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 50
Horloges logiques (6)
Condition de validit
Ordonnancement par estampille
Condition suffisante de validit
e e H
i
(e) < H
j
(e)
Proprit faible de la validit de lhorloge
Implication dans un seul sens
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 51
Horloges logiques (7)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 52
Horloges logiques (8)
Type dordre
Partiel
Lordre donn par les estampilles nest
pas strict
Deux vnements peuvent avoir la mme date
Ils sont causalement indpendants
Comment les ordonner ?
Ajouter un autre critre
Numro de processus, Adresse MAC,

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 53
Horloges logiques (9)
Ordre total
2 vnements
a sur S
i
et b sur S
j
a b ssi
(H(a) < H(b)) ou (H(a) = H(b) et i<j)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 54
Horloges logiques (10)
Limites des estampilles
Dfinissent un ordre total
Mais, la relation de dpendance
causale est un ordre partiel
Eliminent artificiellement la
dpendance causale
e e : e e ou e || e
H
e
= H
e
, H
e
< H
e
, H
e
> H
e
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 55
Horloges logiques (11)
Ne sont pas denses
Si H(e) < H(e), on ne peut pas savoir sil
existe un vnement e tel que :
e e et e e
Problme insoluble
Est-ce quun vnement va arriver ?
Si oui Quand ?

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 56
Horloges logiques (12)
Effets de lasynchronisme
Ambigut des horloges logiques
Exemple
4 processus P1, P2, P3 et P4
P2, P3 et P4 envoient des messages P1
Contrainte
Dlivrs dans lordre de leurs estampilles
Le message m
2
(3) a t dlivr
Peut-on dlivrer m
4
(8) ?
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 57
Horloges logiques (13)
Cas 1 Cas 3
Cas 2
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 58
Datation (1)
Constat
Horloges logiques
Satisfont la proprit de validit faible
Problme
Comment caractriser la dpendance
causale ?
Dfinir un systme de datation tel que
e e H
i
(e) < H
j
(e)

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 59
Datation (2)
Ide
Utiliser le pass ou lhistorique dun
vnement
Pass
Pass(e) = { e* | (e* e)} {e}
Pass
i
(e) = { e* } | (e* e) . e* e p
i


Pass(e) = Pass
i
(e) , {e}
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 60
Datation (3)
Connatre le pass reviendrait
dfinir la dpendance causale
e e e e Pass( e )
Comment reprsenter le pass
Dfinir des Horloges Vectorielles
Estampillage dun message avec lhistorique la
place dune simple valeur dune horloge logique

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 61
Datation (4)
Dfinition du pass
Pass dun vnement
Evnement le plus rcent
Le connatre cest connatre le pass
Dfinit par un vecteur de n lments
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 62
Datation (5)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 63
Horloges vectorielles (1)
Prsentation
Proposes par Fidge et Mattern (88)
Principe
Un vecteur de taille n par site
Chaque site a une composante dans ce
vecteur
Date dun vnement
Valeur du vecteur
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 64
Horloges vectorielles (2)
Algorithmique
Initialement
Tous les vecteurs 0
V
i
= (0,,0)
Evnement local (Site i)
V
i
[i] = V
i
[i]+1
Envoi dun message par site i
Estampill par valeur courante de
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 65
Horloges vectorielles (3)
Rception dun message (m,Vm)
V
i
[i] = V
i
[i]+1
V
i
[i] = max(V
i
[i],V
m
[i]) pour j = 1..n, j = i
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 66
Horloges vectorielles (4)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 67
Horloges vectorielles (5)
Proprits
Relation dordre partiel
V s V dfini par i : V[i] s V[i]
V < V dfini par V = V et V s V
V || V dfini par (V s V) et (V s V)

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 68
Horloges vectorielles (6)
Densit
Soient e
i
e S
i
et e
j
e S
j
.
Si V
k
(e
i
) < V
k
(e
j
), pour k=j, alors il existe e
k

tel que (e
k
e
i
) et (e
k
e
j
)
Dpendance causale
Lien entre les horloges vectorielles et
la dpendance causale

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 69
Horloges vectorielles (7)
a,b :
a b H
Vect
(a) < H
Vect
(b)
a || b H
Vect
(a) || H
Vect
(b)
Condition forte de validit


Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 70
Horloges matricielles (1)
Prsentation
Horloge dans chaque site
HM
i
= matrice nxn
Permet de dater un vnement
Signification
HM
i
(j,k)
nombre de messages issus de p
j
vers p
k
dont p
i
a
connaissance
envoi est causalement antrieur linstant
prsent

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 71
Horloges matricielles (2)
Algorithmique
Evnement local
HM
i
[i, i] = HM
i
[i, i] + 1
Emission dun message m
HM
i
[i, i] = HM
i
[i, i] + 1
HM
i
[i, j] = HM
i
[i, j] + 1
le message est estampill par E
m
=HM
i


Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 72
Horloges matricielles (3)
Rception dun message m
Contrler la dpendance causale
Ne dlivrer m que si tous les messages qui lui sont
antrieurs ont t dlivrs
E
m
[j, i] = HM
i
[j, i] + 1 (ordre FIFO j i)
k = i, j : E
m
[k, i] = HM
i
[k, i] (messages des
autres sites)


Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 73
Horloges matricielles (4)
Dlivrer et mettre jour les horloges
HM
i
[i, i] = HM
i
[i, i] + 1
HM
i
[j, i] = HM
i
[j, i] + 1
k = i, j et l = i : HM
i
[k, l] = max(HM
i
[k,l],
E
m
[k,l]

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 74
Horloges matricielles (5)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 75
Observation (1)
Prsentation
Observer un calcul rparti
Introduire un processus observateur
Reoit des messages des autres processus
Inform des vnements
Observation
Suite des vnements reus
Doit tre compatible avec la relation de causalit
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 76
Observation (2)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 77
Observation (3)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 78
Observation (4)
Validit dune observation
Principe
Temps de transmission born : d
Instant T
Dlivrer, linstant T, tous les messages ayant des
estampilles < T d dans lordre des estampilles


Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 79
Observation (5)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 80
Coupure (1)
Prsentation
Notion dtat
Systme centralis
Etat global et instantan
Horloge commune
Mmoire commune
Systme rparti
Notion dtat assez floue
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 81
Coupure (2)
Dfinition
Image instantane de ltat
Ensemble dvnements
Permet de dfinir un pass et un futur par
rapport la coupure
Pour chaque processus
Capturer ltat aprs le dernier vnement avant la
coupure
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 82
Coupure (3)
Cohrence
Doit vrifier la causalit
(e e C . e e ) e e C

Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 83
Coupure (4)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 84
Coupure (5)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 85
Coupure (6)
Mastre Informatique
ISIG Kairouan Yahya SLIMANI - FST Tunis 86
Coupure (7)