Chapitre 01 : Introduction aux systèmes distribués 1
Chapitre 1
Introduction aux systèmes répartis
(distribués)
1. Qu’est-ce qu’un système réparti
Ensemble composé d’éléments reliés par un système de communication ; les éléments
ont des fonctions de traitement (processeurs), de stockage (mémoire), de relation avec
le monde extérieur (capteurs, actionneurs).
Les différents éléments du système ne fonctionnent pas indépendament mais
collaborent à une ou plusieurs tâches communes. Conséquence : une partie au moins de
l’état global du système est partagée entre plusieurs.
Par exemple une équipe de foot est un système distribué qui cherche à marquer des
points. Une équipe de foot utilise la parole et la vue comme système de communication.
2. Pourquoi un système réparti ?
Aspects économiques (rapport prix/performance)
Adaptation de la structure d’un système à celle des applications (géographique ou
fonctionnelle)
Besoin d’intégration (applications existantes)
Besoin de communication et de partage d’information
Réalisation de systèmes à haute disponibilité
Partage de ressources (programmes, données, services)
Réalisation de systèmes à grande capacité d’évolution
3. Ce qu’offre un système réparti
Transparence à la localisation =⇒désignation. L’utilisateur ignore la situation
géographique des ressources. Transparence à la migration.
Transparence d’accès. L’utilisateur accède à une ressource locale ou distante
d’une façon identique.
Transparence à l’hétérogénéité. L’utilisateur n’a pas à se soucier des
différences matérielles ou logicielles des ressources qu’il utilise. Notion
d’interopérabilité.
Transparence aux pannes (réseaux, machines, logiciels). Les pannes et
réincarnations sont cachées à l’utilisateur. Transparence à la réplication.
Transparence à l’extension des ressources. Extension ou réduction du
système sans occasionner de gène pour l’utilisateur (sauf performance).
4. Caractéristiques des systèmes répartis
Caractéristiques générales :
Absence d’un état global
Pas de « temps absolu » : ⇒ Impossible d’ordonner deux événements
quelconques
Distribution des données
Algorithmes distribués – 1ère année Master Systèmes distribués
Chapitre 01 : Introduction aux systèmes distribués 2
Distribution du contrôle
5. Propriétés souhaitées
Que peut-on souhaiter d’un système distribué ?
– Survivre aux défaillances : Le système doit pouvoir fonctionner (au moins de façon
dégradée) même en cas de défaillance de certains de ses éléments
– Résister aux perturbations des communications, qui peuvent être de plusieurs natures
: perte ou altération de messages, déconnexions, changement du débit ou de la latence...
– Résister aux attaques. On pense ici à la sécurité du système : problèmes d’intégrité, de
confidentialité, résistance aux de service...
– Passer à l’échelle (= scalability) c’est-à-dire préserver les performances malgré la
croissance du nombre d’éléments du système, ou de l’étendue géographique du système.
– S’adapter au changement (d’environnement, d’utilisateur). Ce point traduit qu’un bon
système distribué, doit pouvoir être modifié, étendu assez facilement.
6. Difficultés
– Propriété d’asynchronisme du système de communication (pas de borne
supérieure stricte pour le temps de transmission d’un message
❖ Conséquence : difficulté pour détecter les défaillances
– Dynamisme (la composition du système change en permanence)
❖ Conséquences : Difficulté pour définir un état global
Difficulté pour administrer le système
– Grande taille (nombre de composants, d’utilisateurs, dispersion géographique)
❖ Conséquence : la capacité de croissance (scalability) est une propriété
importante, mais difficile à réaliser
7. Exemples de grands systèmes répartis
– Tous les services classiques de l’Internet sont de bons exemples :WWW, DNS, SMTP, ...
Ils suivent une approche de type client/serveur, parfois avec des hiérarchies.
– Des systèmes comme BitTorrent ont une architecture pair-à-pair où tout le monde
peut être à la fois client et serveur, et il n’y a pas de véritable maître.
– Les systèmes embarqués sont de plus souvent répartis. Les transports comme les
avions ou les trains dont les systèmes embarqués mobiles doivent aussi communiquer
avec des systèmes embarqués fixés au sol.
– Le réseau constitué des satellites GPS (Global Positioning System) et des récepteurs
GPS est un autre exemple de système réparti. Ici les clients reçoivent des informations
de plusieurs serveurs (les satellites) pour déterminer leur position.
8. Voies d’études des systèmes distribués
• Approche « fondamentale » : algorithmes distribués :
– Etude des principes de base: problèmes fondamentaux, solutions connues, limites «
intrinsèques »
– Exemples : Election d’un chef; Structure de diffusion (arbre recouvrant), Exclusion
mutuelle, Nommage, Détection de la terminaison
• Approche « descriptive » :
Algorithmes distribués – 1ère année Master Systèmes distribués
Chapitre 01 : Introduction aux systèmes distribués 3
– Etude de modèles de conception d’applications réparties (client-serveur, objets
répartis, composants répartis, architecture)
– Etude de diverses classes de systèmes, intergiciels (middleware) et applications, et de
leurs modes d’organisation et de fonctionnement.
9. Exemples de problèmes fondamentaux
– Comment décrire une exécution répartie ?
– Comment déterminer des propriétés globales à partir d’observations locales ?
– Comment coordonner des opérations en l’absence d’horloge commune ?
– Quelles sont les critères de qualité pour une application distribuée ?
– Comment garantir la cohérence (ou la sécurité) d’informations distribuées ?
Algorithmes distribués – 1ère année Master Systèmes distribués