Vous êtes sur la page 1sur 86

SYSTEMES

REPARTIS
CONCEPTS ET
ALGORITHMIQUE
Prof. Yahya SLIMANI
Département des Sciences de l’Informatique
Faculté des Sciences de Tunis
Tél: 98537921
E-mail: yahya.slimani@fst.rnu.tn

1
Présentation du
module
 Objectifs
 Introduire les systèmes répartis ou
distribués
 Concepts
 Problématique
 Développement d’applications réparties
 Prérequis
 Architecture, OS, Programmation,
Réseaux
Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 2
Introduction
Générale

3
Introduction (1)
 Informatique classique
 Centralisation
 Des moyens de calcul
 Des moyens de stockage
 Du contrôle
 Du calcul
 Des données

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 4
Introduction (2)
 Informatique parallèle
 Motivations
 Calcul intensif
 Applications scientifiques
 Gestion de grandes masses de données
 Solution
 Augmenter la puissance de calcul
 Augmenter le nombre de processeurs

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 5
Introduction (3)
 Informatique répartie
 Réalité
 Développement des réseaux
 Intégration d’applications séparées
 Pénétration de l’informatique dans tous
les domaines
 Solution
 Répartition des ressources et du contrôle

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 6
Introduction (4)
 Informatique mobile
 Motivations
 Utilisateurs nomades
 Moyens de traitement légers
 Informatique intégrée aux objets du
monde réel
 Téléphone, carte à puce, …

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 7
Introduction (5)
 Informatique pervasive
 Motivations
 Accès à l’information
 A tout moment
 De n’importe où
 Avec n’importe quel composant électronique
 Accès à des services au moyen de
différents médias
 Informatique ubiquitaire, diffuse

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 8
Systèmes répartis (1)
 Présentation
 Idée centrale
 Répartition
 Des moyens de calcul
 Des moyens de stockage
 Des données
 Du calcul
 Du contrôle

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 9
Systèmes répartis (2)
 Définition
 Ensemble d’éléments reliés par un réseau
 Eléments de calcul
 Eléments de stockage
 Equipements spécifiques
 Sondes, capteurs, satellites, etc.
 Fonctionnement collaboratif
 Participation à la réalisation de tâches communes
 Collaboration grâce au réseau

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 10
Systèmes répartis (3)
 Exigences
 Fonctionnement continu
 Tolérer la défaillance d’éléments
 Fonctionnement dégradé
 Résister au réseau
 Défaillances du système de
communication
 Perte de messages, déconnexion, …

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 11
Systèmes répartis (3)
 Flexible
 Adaptation aux changements
 Passage à l’échelle (Scalability)
 Dispersion géographique
 Changements de taille
 Eléments
 Utilisateurs
 …

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 12
Systèmes répartis (4)
 Non vulnérable
 La répartition ne doit pas dégrader la
sécurité
 Fiabilité
 Rendre des services conformes à leurs
spécifications
 Facile à utiliser
 Cacher la répartition à l’utilisateur

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 13
Systèmes répartis (5)
 Problématiques
 Très nombreuses et très diverses
 Absence d’état global du système
 Forte dynamicité
 Administration du système très
complexe
 Influence du réseau sur le système
 Asynchronisme lié à la communication

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 14
Schéma d’un système réparti
Source : S. Krakowiak

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 15
Systèmes répartis (6)
 Problématiques de base
 Comment définir l’état d’un système
 Existence d’états locaux uniquement
 Comment définir un calcul dans le cas
réparti
 Lancement
 Suivi de l’exécution
 Terminaison

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 16
Systèmes répartis (7)
 Comment coordonner différents
calculs
 Absence de référentiel temporel
commun
 Comment partager des données
 Absence de référentiel spatial commun
 Comment garantir la cohérence de
données réparties
 Cas d’une base de donnée répartie
Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 17
Systèmes répartis (8)
 Comment assurer le fonctionnement
continu du système
 Tolérer (accepter des défaillances)
 Comment développer et mettre au
point des applications réparties
 Comment tolérer les aléas du réseau
de communication

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 18
ORDONNANCEMENT DES
EVENEMENTS

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 19
Ordonnancement (1)
 Problématique
 Pourquoi ordonner
 Système = { Evénements }
 Un événement nécessite une réaction
 Que faire si plusieurs événements
arrivent en même temps
 Trouver un ordre pour les traiter
 Décision dépend de cet ordre

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 20
Ordonnancement (2)
 Nécessité de connaître l’état d’un
système
 Suivre l’évolution du système
 Ressources
 Processus
 Coordonner des processus
 Définir des propriétés
 Système, processus, ressources, etc.

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 21
Ordonnancement (3)
 Cas centralisé
 Pas de complexité particulière
 Possibilité de connaître l’état d’un
système à tout instant
 Interruption
 Prendre une image du système

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 22
Ordonnancement (4)
 Pourquoi
 Existence de deux référentiels uniques
 Mémoire commune
 Support de l’état du système
 Horloge commune
 Définit l’ordre des événements

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 23
Ordonnancement (5)
 Cas distribué
 Plus complexe
 Pas de référentiels communs
 Temporel
 Spatial
 Communications asynchrones
 Temps de communication non borné

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 24
Ordonnancement (6)
 Calcul asynchrone
 Différentes de vitesses entre sites
 Temps non borné
 Charges variables entre sites
 Observation différente du même
événement
 Solution
 Trouver un modèle temporel
 Modèle asynchrone

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 25
Modèle asynchrone
(1)
 Hypothèse de base
 Asynchronisme
 Du calcul
 Des communications

 Modèle
 Asynchrone
 Imposer des contraintes (parfois fortes)
 Fixer des bornes

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 26
Evénements (1)
 Types
 2 types d’événements
 Locaux
 Internes à un processus
 Ordonnés par l’horloge physique
 Communication
 Emetteur (Send)
 Récepteur (Receive)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 27
Evénements (2)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 28
Evénements (3)
 Hypothèses sur les messages
 Message
 Seul moyen de communication entre
processus distants
 Propriétés
 Arrivée d’un message
 Garantie
 Sans possibilité de borner le temps de
transmission

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 29
Evénements (4)
 Contenu
 Message non modifié
 Canal de communication
 Lien entre deux processus
 Peut avoir certaines propriétés
 FIFO
 …

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 30
Evénements (5)
 Instants
 Réception
 Par le système de communication
 Délivrance
 Remis à son destinataire

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 31
Evénements (6)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 32
Evénements (7)
 Exécution locale
 Suite d’événements
 Propre à chaque processus
 Constitue son passé ou son historique
 Suite ordonnée
 Horloge physique du site où se trouve le
processus
 P1: < e11, e12, …, e1n >

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 33
Evénements (8)
 Exécution globale
 Définir une suite à partir de deux suites
d’événements
 Intérêt
 Synchroniser deux processus
 Trouver un ordre entre les événements des deux
suites
 Exemple: Accès à une ressource critique
 Définir un ordre d’accès: Fin(P1) < Début(P2) ou
Fin(P2) < Début(P1)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 34
Evénements (9)
 Ordonnancement global
 Problématique
 Comment définir la suite des événements
d’un système réparti
 Passage d’un ensemble de suites locales à une
suite globale

 Relation de
précédence
Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 35
Evénements (10)
 Contrainte
 Connaissances locales sur les
événements
 Solution
 Définir un opérateur de précédence et lui
associer une sémantique
 Utiliser le principe de causalité
 Cause précède toujours l’effet

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 36
Evénements (11)
 3 niveaux de causalité
 Processus
 Evénement local n’agit que sur les
événements futurs
 Entre processus
 Communication
 Emission précède toujours la réception
 Composition
 Relation transitive

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 37
Causalité (1)
 Définition
 Proposée par Lamport [78]
 Principe
 Evénement e précède causalement
l’événement e’
 e → e’

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 38
Causalité (2)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 39
Causalité (3)
 Causalité potentielle
 Propriété de la causalité
 Définit 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 négation

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 40
Causalité (4)
 Indépendance causale
 Définition
 ¬ (e → e’ ) et ¬ (e’ → e)
 Aucun de ces événements ne peut
influencer l’autre
 Ils sont causalement indépendants
 e || e’

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 41
Causalité (5)
 Passé
 Notion rattachée à un événement
 Passé(e) = { e* } | (e* → e)  {e}
 Intérêt
 Indépendance causale
 Aucun événement ne fait partie du passé de
l’autre
 Aucun n’influence l’autre

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 42
Causalité (6)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 43
Causalité (7)
 Chaîne causale
 e0, ... ,en : ei-1 → ei, i=1,...,n

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 44
Horloges logiques (1)
 Présentation
 Définies par Lamport
 But
 Dater des événements
 Assurer la condition de validité
 Déterminée par une connaissance locale

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 45
Horloges logiques (2)
 Principe
 Horloge logique sur chaque site
 Compteur (dater les événements)
 Site i  Horloge Hi
 Estampille
 Datation
 Evénement e dans site i
 H(e) = Hi

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 46
Horloges logiques (3)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 47
Horloges logiques (4)
 Algorithmique
 Initialisation
Hi = 0 pour tout i

 Evénement e local (site i)
 Hi = Hi + 1
 Dater e avec Hi
 Emission d’un message m
 Estampiller m
 ( m , Hi(m) )

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 48
Horloges logiques (5)
 Réception d’un message
 Hj = max ( Hj , Hi ) + 1
 Dater l’événement de réception avec la valeur de
Hj
 La date de l’émission peut influencer la date de
réception

 Intérêt
 Ordonner les événements d’un système
réparti

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 49
Horloges logiques (6)
 Condition de validité
 Ordonnancement par estampille
 Condition suffisante de validité
 e → e’ ⇒ Hi(e) < Hj(e’)
 Propriété faible de la validité de l’horloge
 Implication dans un seul sens

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 50
Horloges logiques (7)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 51
Horloges logiques (8)
 Type d’ordre
 Partiel
 L’ordre donné par les estampilles n’est pas
strict
 Deux événements peuvent avoir la même date
 Ils sont causalement indépendants
 Comment les ordonner ?
 Ajouter un autre critère
 Numéro de processus, Adresse MAC, …

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 52
Horloges logiques (9)
 Ordre total
 2 événements
 a sur Si et b sur Sj
 a  b ssi
 (H(a) < H(b)) ou (H(a) = H(b) et i<j)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 53
Horloges logiques
(10)
 Limites des estampilles
 Définissent un ordre total
 Mais, la relation de dépendance
causale est un ordre partiel
 Eliminent artificiellement la
dépendance causale
 e → e’ : e → e’ ou e || e’
 He = He’ , He< He’ , He> He’

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 54
Horloges logiques
(11)
 Ne sont pas denses
 Si H(e) < H(e’), on ne peut pas savoir s’il
existe un événement e’’ tel que :
 e → e’’    et e’’  → e ’
 Problème insoluble
 Est-ce qu’un événement va arriver ?
 Si oui Quand ?

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 55
Horloges logiques
(12)
 Effets de l’asynchronisme
 Ambiguïté des horloges logiques
 Exemple
 4 processus P1, P2, P3 et P4
 P2, P3 et P4 envoient des messages à P1
 Contrainte
 Délivrés dans l’ordre de leurs estampilles
 Le message m2(3) a été délivré
 Peut-on délivrer m4(8) ?

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 56
Horloges logiques
(13)
Cas 1 Cas 2 Cas 3

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 57
Datation (1)
 Constat
 Horloges logiques
 Satisfont la propriété de validité faible
 Problème
 Comment caractériser la dépendance
causale ?
 Définir un système de datation tel que
 e → e’ ⇔ Hi(e) < Hj(e’)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 58
Datation (2)
 Idée
 Utiliser le passé ou l’historique d’un
événement
 Passé
 Passé(e) = { e* | (e* → e)}  {e}
 Passéi(e) = { e* } | (e* → e) ∧ e* ∈ pi
 Passé(e) = Passéi(e) , {e}

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 59
Datation (3)
 Connaître le passé reviendrait à
définir la dépendance causale
 e → e’ ≡ e ∈ Passé( e’ )
 Comment représenter le passé
 Définir des Horloges Vectorielles
 Estampillage d’un message avec l’historique
à la place d’une simple valeur d’une horloge
logique

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 60
Datation (4)
 Définition du passé
 Passé d’un événement
 Evénement le plus récent
 Le connaître c’est connaître le passé
 Définit par un vecteur de n éléments

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 61
Datation (5)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 62
Horloges vectorielles
(1)
 Présentation
 Proposées par Fidge et Mattern (88)
 Principe
 Un vecteur de taille n par site
 Chaque site a une composante dans ce
vecteur
 Date d’un événement
 Valeur du vecteur

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 63
Horloges vectorielles
(2)
 Algorithmique
 Initialement
 Tous les vecteurs à 0
 Vi = (0,…,0)
 Evénement local (Site i)
 Vi[i] = Vi[i]+1
 Envoi d’un message par site i
 Estampillé par valeur courante de

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 64
Horloges vectorielles
(3)
 Réception d’un message (m,Vm)
 Vi[i] = Vi[i]+1
 Vi[i] = max(Vi[i],Vm[i]) pour j = 1..n, j ≠ i

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 65
Horloges vectorielles
(4)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 66
Horloges vectorielles
(5)
 Propriétés
 Relation d’ordre partiel
 V ≤ V’ défini par ∀i : V[i] ≤ V’[i]
 V < V’ défini par V ≠ V’ et V ≤ V’
 V || V’ défini par ¬ (V ≤ V’) et ¬ (V’ ≤
V)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 67
Horloges vectorielles
(6)
 Densité
 Soient ei ∈ Si et ej ∈ Sj.
 Si Vk(ei) < Vk(ej), pour k≠ j, alors il existe ek
tel que ¬(ek → ei) et (ek → ej)

 Dépendance causale
 Lien entre les horloges vectorielles et
la dépendance causale

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 68
Horloges vectorielles
(7)
 ∀a,b :
 a → b ⇔ HVect (a) < HVect (b)
 a || b ⇔ HVect (a) || HVect (b)
 Condition forte de validité

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 69
Horloges matricielles
(1)
 Présentation
 Horloge dans chaque site
 HMi = matrice nxn
 Permet de dater un événement
 Signification
 HMi(j,k)
 nombre de messages issus de pj vers pk dont pi a
connaissance
 envoi est causalement antérieur à l’instant
présent

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 70
Horloges matricielles
(2)
 Algorithmique
 Evénement local
 HMi[i, i] = HMi[i, i] + 1
 Emission d’un message m
 HMi[i, i] = HMi[i, i] + 1
 HMi[i, j] = HMi[i, j] + 1
 le message est estampillé par Em=HMi

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 71
Horloges matricielles
(3)
 Réception d’un message m
 Contrôler la dépendance causale
 Ne délivrer m que si tous les messages qui lui
sont antérieurs ont été délivrés
 Em[j, i] = HMi[j, i] + 1 (ordre FIFO j → i)
 ∀ k ≠ i, j : Em[k, i] = HMi[k, i] (messages
des autres sites)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 72
Horloges matricielles
(4)
 Délivrer et mettre à jour les horloges
 HMi[i, i] = HMi[i, i] + 1
 HMi[j, i] = HMi[j, i] + 1
 ∀ k ≠ i, j et ∀ l ≠ i : HMi[k, l] = max(HMi[k,l],
Em[k,l]

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 73
Horloges matricielles
(5)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 74
Observation (1)
 Présentation
 Observer un calcul réparti
 Introduire un processus observateur
 Reçoit des messages des autres
processus
 Informé des événements
 Observation
 Suite des événements reçus
 Doit être compatible avec la relation de
causalité
Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 75
Observation (2)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 76
Observation (3)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 77
Observation (4)
 Validité d’une observation
 Principe
 Temps de transmission borné : d
 Instant T
 Délivrer, à l’instant T, tous les messages ayant
des estampilles < T – d dans l’ordre des
estampilles

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 78
Observation (5)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 79
Coupure (1)
 Présentation
 Notion d’état
 Système centralisé
 Etat global et instantané
 Horloge commune
 Mémoire commune

 Système réparti
 Notion d’état assez floue

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 80
Coupure (2)
 Définition
 Image « instantanée » de l’état
 Ensemble d’événements
 Permet de définir un passé et un futur
par rapport à la coupure
 Pour chaque processus
 Capturer l’état après le dernier événement
avant la coupure

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 81
Coupure (3)
 Cohérence
 Doit vérifier la causalité
 (e’ ∈ C ∧ e → e’ ) ⇒ e ∈ C

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 82
Coupure (4)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 83
Coupure (5)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 84
Coupure (6)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 85
Coupure (7)

Mastère Informatique
Yahya SLIMANI - FST
ISIG Kairouan Tunis 86