Vous êtes sur la page 1sur 9

MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

UNIVERSITE DE BEJAIA Année universitaire 2012/2013


FACULTE DES SCIENCES EXACTES
DEPARTEMENT D’INFORMATIQUE
1ème année MASTER

MODULE DE SYSTEMES DISTRIBUES

Plan

Chapitre I : INTRODUCTION AUX SYSTEMES DISTRIBUES

Chapitre II : ORDONNANCEMENT DES EVENEMENTS DANS UN


SYSTEME DISTRIBUE

Chapitre III : COHERENCE DE LINFORMATION DISTRIBUEE

Chapitre IV : TOLERANCE AUX FAUTES

Mme Z.TAHAKOURT
Maitre assistante
Université de Béjaia

1
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

Chapitre I : INTRODUCTION AUX SYSTEMES DISTRIBUES


Plan du Chapitre

1. Introduction
2. Système distribué Versus système centralisé
3. Caractéristiques des Systèmes distribués
4. Motivations des Systèmes distribués
5. La sécurité des Systèmes distribués
6. Avantages et inconvénients des Systèmes
distribués
7. L’algorithmique répartie
8. Les problèmes de la distribution

2
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

1. Introduction
Un système informatique distribué (réparti)= ensemble d’ordinateurs connectés par un réseau
de communication.

Réseau de communication

Exemples de systèmes distribués (SD) :

 Serveur de fichiers : les fichiers se trouvent physiquement sur un serveur, mais


virtuellement accessibles à partir de n’importe quelle machine, seulement si le réseau ou
le serveur se plante plus d’accès aux fichiers.

 Web : un serveur web auquel se connectent des navigateurs web (clients).

 SD pour calcul scientifiques : plusieurs machines hétérogènes connectées par un réseau


local ou internet (grille de calcul).le principe est le suivant : un ou plusieurs serveur
distribue des calculs aux machines clientes, un client exécute son calcul puis renvoie les
résultats au serveur. Avantage : utilisation maximum des ressources de calcul, seulement
si le réseau ou le serveur plante le système s’arrête.

2. Système distribué Versus système centralisé

Système centralisé :

3
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

 Tout est localisé sur la même machine et accessible par programme

 Système logiciel s’exécutant sur une seule machine

 Accéder localement aux ressources nécessaires (données, code, périphériques,


mémoire,…)

Système distribué :

 Ensemble d’ordinateurs standard indépendants connectés en réseau et


communiquent via se réseau par envoi de messages

 Cet ensemble apparait du point de vu de l’utilisateur comme une unique entité

3. Caractéristiques des Systèmes distribués


Il n’existe pas de définition rigoureuse de ce qu’un système distribué. On peut essayer de
dégager quelques propriétés qui caractérisent les systèmes qui sont universellement considérés
comme distribués. Un système est considéré comme distribué s’il présente les caractéristiques
suivantes :

 Le système est constitué d’un ensemble d’éléments de traitement (processeurs) reliés


par des organes de communication qui leur permettent d’échanger de l’information.

 Un élément d’un SD peut tomber en panne sans affecter nécessairement le


fonctionnement de l’ensemble.

 Absence de mémoire commune ; ce qui implique l’impossibilité de capter


instantanément l’état global du système au moyen partagées.

 Absence d’horloge physique commune.

 Variabilité des délais de transmission de messages ce qui implique que deux éléments
d’un SD peuvent avoir des informations différentes sur un troisième élément, et voir des
événements s’y produire dans des ordres différents.

4. Motivations des Systèmes distribués


Les principales motivations (objectifs) derrière le développement d’un SD sont :

 Faire communiquer des applications existantes, tout en respectant l’autonomie locales


de chacune d’elles ; la principale fonction du système est dans ce cas la communication
d’information.

 Utiliser et partager des ressources existantes, comme par exemple :

4
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

1. un système de fichier afin d’utiliser des fichiers à partir de n’importe quelle


machine.

2. Partage d’imprimante entre plusieurs machines.

3. Accès à une base de données partagée.

 Réduire le temps d’exécution d’une grosse application par l’exécution parallèle de


plusieurs modules sur des processeurs différents ( clustering), Comipar exemple :

1. Le calcul scientifique distribué sur un ensemble de machine.

 Augmenter la disponibilité d’un système en assurant la redondance du matériel, des


données ou des traitements, comme par exemple :

1. existence de plusieurs imprimantes sur le réseau qui permet d’imprimer sur


n’importe laquelle

2. existence de plusieurs copies de données par réplication des données dans


les bases de données distribuées.

 Garantir la transparence, c'est-à-dire donner l’illusion que l’ensemble des machines se


comportent exactement comme un système monoprocesseur :

1. Accès : les utilisateurs ne doivent pas pouvoir savoir où sont placées les
ressources

2. Concurrence : des accès simultanés aux ressources doivent pouvoir se faire


sans interférence entre eux.

3. Migration : les processus et données mobiles doivent être sans modification


du nom et du chemin d’accès.

4. Réplication : des utilisateurs accèdent à des copies multiples des données


sans le savoir.

5. Parallélisme : les processus devraient pouvoir s’exécuter en parallèle sans


que l’utilisateur le sache.

5. La sécurité des Systèmes distribués


La nature des SD fait qu’ils sont souvent sujets à des attaques :

 Les communications à travers le réseau peuvent être interceptées.

 On ne connait pas toujours bien un élément distant avec qui on communique

5
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

Des solutions à ces problèmes :

 Connexion sécurisée par authentification avec les éléments distants.

 Cryptage des messages circulant sur le réseau.

6. Avantages et inconvénients des Systèmes distribués


6.1 Avantages
 Partage de données : de multiples utilisateurs peuvent accéder à une base de données
partagées.
 Partage de périphériques : de multiples utilisateurs peuvent partager des ressources
chères telles que des imprimantes en couleurs par exemple.
 Communication : facilite la communication interpersonnelle avec le courrier
électronique par exemple.
 Rapidité d’exécution : un SD peut avoir une puissance de calcul global plus importante
qu’un gros ordinateur.
 Fiabilité : le système peut continuer à fonctionner même si une machine tombe en
panne.

6.2 Inconvénients
 Logiciels : peu de logiciels existants actuellement pour les SD.
 Réseau : le réseau peut être saturé ou provoquer d’autres problèmes.
 Sécurité : les données confidentielles peuvent être piratées.

7. L’algorithmique répartie

L’algorithmique répartie ou calcul réparti (distribué) est un calcul parallèle réalisé par un
ensemble de processus qui utilisent plusieurs processeurs (un ou plusieurs processus par
processeurs). La communication entre ces processus peut être réalisée par :
1. Mémoire partagée, ou
2. Echange de message.
Un calcul réparti se fait sur un système réparti.
7.1 Modèles temporels d’un système distribué
Il existe deux modèles temporels de SD :
a) Synchrone : il existe des bornes sur les vitesses des processus, sur les délais de
transmission et sur la dérive des horloges.
b) Asynchrone : aucune borne.

6
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

Modèles de communication : Synchrone /asynchrone


 Communication Synchrone

Même notion de temps, transmission instantanée, généralement bornée.

 Communication Asynchrone

10 :00 Mail : On se voit à 12h

10 :20
Ok

11 :00 Est-ce qu’il sait que


j’ai eu sa réponse ?
Ack Ok
11 :45
Est-ce qu’elle sait que
j’ai eu son Ack Ok?
Ack Ack
12 :10

Nota : Pour notre cours on s’intéressera au deuxième modèle, à savoir « asynchrone ».


7
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

7.2 Avantages et inconvénients d’un système distribué asynchrone


a) Avantages :
1. Meilleures tolérances aux défaillances → décentralisaOon des décisions)
2. Meilleure efficacité → autonomie relaOves des processus
Ce qui implique un couplage faible, donc moins de risques de blocages mutuels.
c) Inconvénients : Contrôle des processus plus difficile, causée par :
1. L’asynchronisme : évaluations instantanées impossibles (expressions réparties sur
plusieurs processus)
2. Des défaillances : maintien de la cohérence du calcul difficile
3. Des deux (asynchronisme + défaillances) : comment distinguer entre un processus lent
et processus crashé ou arrêté.
7.3 Calcul réparti asynchrone fiable
On considère dans ce qui suit le modèle du système suivant :
 Ensemble de processus p1, p2, …, pn.
 Séquences d’événements locaux par processus
o Histoire de Pi : [ei,1 ; ei,2 ; … ; ei,x ; …[
o hi,x=[ ei,1 ; ei,2 ; … ; ei,x ]
o hi,x+1= hi,x.[ ei,x+1 ]
 trois types d’événements :
o interne (mise à jour de l’état local du processus)
o Emission de message m sur un processus pi vers un processus pj.
 Evénement émission de m vers pj.
 Action : envoyer (m, pj)
 Effet : dépose m dans le canal ci,j
o Réception de message m sur un processus Pj.
 Evénement réception de m depuis pi.
 Action : délivrer (m)
 Effet : retire m du canal ci,j : met à jour les variables de Pj.

ei,1 ei,2 ei,3 ei,4 ... ei,x-1 ei,x

8
MASTER1 : 2012-2013 INTRODUCTION AUX SYSTEMES DISTRIBUES

Pi

8. Les problèmes de la distribution

De ce qui précède on peut mettre en évidence les principaux problèmes du traitement


distribué.

 Désignation des éléments ou des entités (machines, processus, fichiers,…) :

C’est-à-dire la connaissance des éléments formant le système, en les identifiant en les


localisant. Le système de désignation des entités est l’ensemble des conventions,
procédures et structures de données qui permettent de donner un nom unique à chaque
entité et d’utiliser ce nom pour y accéder.

 Synchronisation des activités et ordre des événements :

Une propriété des SD est l’impossibilité de déterminer un état global instantané du


système. Sur un site donné, les informations sur le reste du système ne peuvent être que
partielles ou périmées. En dépit de ces incertitudes, il faut néanmoins pouvoir
synchroniser des activités qui se déroulent sur des sites différents (Chapitre II).

 Gestion de la cohérence de l’information distribuée :

Le problème de la gestion d’informations distribuées est lié au précédent. Il faut pouvoir


assurer la cohérence mutuelle d’informations distribuées en l’absence d’état global. Ce
problème se pose notamment pour la gestion cohérente de copies multiples d’une
même information que des impératifs de disponibilité et d’efficacité amènent à
conserver (Chapitre III).

 Tolérance aux pannes :

L’objectif visé est d’assurer le fonctionnement d’un système éventuellement dans un


mode dégradé, en présence de panne de ses éléments (processeurs, mémoires, système
de communication) (Chapitre IV).

Vous aimerez peut-être aussi