Rim DRIDI
[Link]@[Link]
1. Système centralisé
2. Présentation des systèmes répartis
3. Propriétés des systèmes répartis
4. Communication dans les systèmes répartis
5. Conclusion
2
• Connaître les caractéristiques d’un système centralisé
• Comprendre les concepts fondamentaux d’un système réparti
• Pouvoir communiquer dans un environnement distribué
3
Tout est localisé sur la même machine
Nœuds clients directement connectés à un nœud central
(serveur).
Une seule unité centrale qui coordonne tous les autres nœuds
du système.
Système logiciel s'exécutant sur une seule machine.
Une mémoire centrale : un espace d’adressage commun.
Accès locale aux ressources nécessaires (données, code,
périphériques, mémoire,...)
Défaillance dépendante des composants
4
L'informatique est par nature distribuée, évolutive et variée
Besoins pour de nouvelles architectures informatique
5
1. Présentation
Définition:
Ensemble d'ordinateurs indépendants connectés en réseau et
communiquant via ce réseau (Andrew Tannenbaum)
Cet ensemble apparaît du point de vue de l'utilisateur comme
une unique entité
6
1. Présentation
Architecture matérielle
• Plusieurs processeurs
• Plusieurs mémoires : pas de mémoire partagée.
• Réseau d’interconnexion et de communication.
Architecture logicielle
• Système logiciel composé de plusieurs entités logicielles
s'exécutant indépendamment et en parallèle sur un ensemble
d'ordinateurs connectés en réseau
7
2. Exemples:
Exemple 1: Serveur de fichier
Accès aux fichiers de l'utilisateur quelque soit la machine
utilisée
Sur toutes les machines : /home/Paul est le « home directory »
de l'utilisateur Paul
- Physiquement : fichiers se trouvent uniquement sur le serveur
- Virtuellement : accès à ces fichiers à partir de n'importe quelle
machine cliente en faisant « croire » que ces fichiers sont
stockés localement
8
2. Exemples:
Exemple 1: Serveur de fichier
Fichier [Link] stocké sur le serveur S2.
Paul se connecte depuis le nœud N1, puis depuis N3 : à chaque
fois, il voit [Link] dans /home/Paul.
9
2. Exemples:
Exemple 2: Web
Un serveur web auquel se connecte un nombre
quelconque de navigateurs web (clients)
Accès à distance à l'information
- Accès simple : serveur renvoie une page HTML
statique qu'il stocke localement
- Transparent pour l'utilisateur : les informations
s'affichent dans son navigateur
10
Disponibilité
Prêt à l’utilisation: est toujours accessible
Fiabilité
Continuité du service: utilisation de la redondance
(duplication de certains éléments)
11
Sécurité
Un système distribué: sujet à des attaques:
• Communications: peuvent être interceptées
• On ne connaît pas toujours bien un élément distant avec
qui on communique
➢ Possibilités de combiner plusieurs techniques de sécurité:
authentification, cryptage, …
12
Hétérogénéité
Utiliser des composants de différentes natures:
• Machines
• Environnements de programmation
• Systèmes d’exploitation
• Réseaux utilisés…
Performance
Système naturellement parallèle et concurrent
13
Transparence
• Objectif: cacher à l’utilisateur la répartition pour apparaître
comme une seule machine
• Existe à plusieurs niveaux: 8 selon la norme RM-ODP
1. Transparence d’accès
• Accès facile à des ressources distantes
• Accès aux données indépendamment de leur format de
représentation (données hétérogènes)
14
Transparence
2. Transparence de localisation
• Accès aux éléments/ressources indépendamment de leur
localisation
3. Transparence de concurrence
• Exécution possible de plusieurs processus en parallèle avec
utilisation de ressources partagées
4. Transparence de réplication
• Possibilité de dupliquer certains éléments/ressources pour
augmenter la fiabilité
15
5. Transparence de mobilité
• Possibilité de déplacer des composants matériels ou logiciels
6. Transparence de panne
• L'utilisateur n'est pas au courant des pannes (sauf cas très
particuliers).
7. Transparence de performances
• Possibilité de reconfigurer le système pour en augmenter les
performances.
8. Transparence d'échelle
• Doit supporter l'augmentation de la taille du système (nombre
d'éléments, de ressources ...)
16
Ingénierie simultanée
– Coopération d’équipes pour la conception d’un produit
– Partage cohérent d’information
• Centres de documentation, bibliothèques
– Recherche, navigation, visualisation multimédia
Exemple :Google Docs
→ les documents sont stockés sur des serveurs répartis, accessibles en
même temps par plusieurs utilisateurs.
17
Systèmes parallèles
- Plusieurs processeurs travaillent en même temps mais dans une
même machine
- Objectif : accélérer le calcul d’une tâche complexe.
Exemple : un ordinateur avec plusieurs cœurs qui exécutent un
programme scientifique.
Systèmes distribués:
- Plusieurs ordinateurs indépendants, reliés par un réseau. Chaque
machine a sa propre mémoire et son processeur.
- Objectif : partager ressources et tâches.
Exemple : Google Docs
18
Rappel sur les réseaux
Architecture en sept couches (Norme OSI):
1. Physique: transmission des données binaires sur un support physique.
2. Liaison: gestion d'accès au support physique
3. Réseau: transmission de données sur le réseau
4. Transport: transmission entre 2 applications
5. Session: synchronisation du dialogue entre applications
6. Présentation: structurer les formats des données (entiers, chaînes de
caractères...)
7. Application: offre à l'utilisateur tous les services de base: partage et transfert
de fichiers, courrier électronique, terminal virtuel...
19
Rappel sur les réseaux
Réseaux TCP/IP:
• Couche réseau: IP(Internet Protocol)
Gestion des communications et connexions entre les machines à travers le
réseau
Recherche des routes à travers le réseau pour accéder à une machine
20
Rappel sur les réseaux
Réseaux TCP/IP:
• Couche transport:
o TCP (Transmission Control Protocol):
Protocole orienté connexion
Echange entre les deux entités reliées par la connexion: flot d’octets
Contrôle sur la transmission: envoi d’accusés de réception
21
Rappel sur les réseaux
• Couche transport:
o TCP (Transmission Control Protocol):
22
Rappel sur les réseaux
Réseaux TCP/IP:
• Couche transport:
o UDP (User Data Protocol):
Protocole non orienté connexion
Données envoyés sous forme de bloc: paquets de données
Pas de gestion de l'ordre d'arrivée, pas de gestion des paquets perdus
23
Rappel sur les réseaux
• Couche transport:
o UDP (User Data Protocol):
24
Communication entre entités :
25
Modèles d’interaction:
Les éléments distribués communiquent entre eux selon plusieurs
modèles possibles
26
Modèle d’interaction: client/serveur
• Client: demande des requêtes ou des services
• Serveur: répond aux requêtes des clients
• Message du client vers le serveur pour faire une requête
• Exécution d'un traitement par le serveur pour répondre à la
requête
• Message du serveur vers le client avec le résultat de la requête
27
Modèle d’interaction: client/serveur
• Exemple : serveur Web
Client : navigateur Web de l'utilisateur (Firefox, Chrome, …)
Requêtes : récupérer le contenu d'une page HTML générée par
le serveur
28
Modèle d’interaction: mémoire partagée
Les éléments communiquent via une mémoire partagée à l'aide
d'une interface d'accès à la mémoire.
• Ajout d'une donnée à la mémoire
• Lecture d'une donnée dans la mémoire
• Retrait d'une donnée de la mémoire
Particularité du modèle:
Aucune interaction directe entre les éléments participants
29
Modèle d’interaction: mémoire partagée
Complexité du modèle : dans la gestion de la mémoire:
• Mémoire sur un seul site: accès simple, fiabilité faible
• Mémoire sur plusieurs sites: algorithmes complexes de la
gestion de mémoire distribuée
30
Modèle d’interaction: pair à pair (peer to peer : p2p)
Un réseau: les nœuds (pairs) sont équivalents en fonctionnalité
• Chaque participant est connecté avec tous les participants d'un
groupe et tout le monde effectue les mêmes types d'actions
• Pour partager des données, effectuer un calcul commun
• Pair:
demander et fournir à la fois des services.
établir une connexion avec un ensemble de pairs
• Pas de contrôle central ni hiérarchique de tout le système
31
Modèle d’interaction: pair à pair (peer to peer: p2p)
32
Modèle d’interaction: pair à pair (peer to peer: p2p)
Exemple:
On a 3 machines A, B et C appartenant au même réseau p2p et contenant les fichiers "fic1,
"fic2" et "fic3". Le noeud A va envoyer le fichier "fic1" vers le noeud B et le noeud C,
dans le même temps le noeud C va envoyer le fichier "fic3" vers le noeud A, le noeud A va
donc recevoir le fichier "fic3". Le noeud A est à la fois client (il reçoit le fichier "fic3") et
serveur (il envoie le fichier "fic1" vers le noeud B et vers le noeud C).
33
Modèle d’interaction: pair à pair (peer to peer: p2p)
Trois architectures :
• P2P non structurés: pas de critère de répartition des données
sur les pairs.
• P2P structurées: répartition précise des données
• P2P hybrides
34
Modèle d’interaction: pair à pair (peer to peer: p2p)
35
[Link] et partager des ressources distantes
• Système de fichiers : utiliser ses fichiers à partir de n'importe quelle
machine
• Imprimante : partagée entre toutes les machines
2. Optimiser l'utilisation des ressources disponibles
• Calculs scientifiques distribués sur un ensemble de machines
3. Système plus robuste
• Duplication pour fiabilité : deux serveurs de fichiers dupliqués, avec
sauvegarde
36
1. Qu’est-ce qu’un système de fichiers centralisé ?
Les fichiers sont stockés sur un serveur unique accessible par tous les nœuds.
2. Qu’est-ce qu’un système de fichiers réparti ?
Les fichiers peuvent être répartis sur plusieurs serveurs, mais accessibles de
manière transparente par tous les nœuds.
3. Différence principale entre centralisé et réparti ?
Centralisé : serveur unique → point de défaillance unique.
Réparti : plusieurs serveurs → tolérance aux pannes et meilleure performance.
4. Que se passe-t-il si un serveur d’un système réparti tombe ?
Les nœuds accèdent aux fichiers sur d’autres serveurs grâce à la réplication.
5. Un serveur web est client-serveur ou P2P ? Pourquoi ?
Client-serveur, car il fournit des services aux clients (navigateurs) via un serveur
central.
6. Dans un réseau P2P, est-ce qu’il existe un serveur central ?.Non
37