Vous êtes sur la page 1sur 44

Systèmes parallèles et distribués

1
Systèmes parallèles et distribués
 1- Introduction
 2- Architecture d’un système
d’exploitation distribué ou réparti
 3- Communications dans les systèmes
distribués
 4- Gestion répartie des fichiers
 5- Protection

2
Systèmes parallèles et distribués

Introduction

3
Introduction

SYSTÈME Expl. DISTRIBUÉ = SYSTÈME POSSÈDANT


PLUSIEURS PROCESSEURS COOPÉRANTS
 OBJECTIFS
 Coût : plusieurs processeurs à bas prix
 Puissance de calcul et de stockage : aucune machine
centralisée ne peut rivaliser
 Performance (accélération) : via du calcul parallèle
 Adaptation : à des classes d'applications réelles
naturellement distribuées
 Fiabilit é : résistance aux pannes logicielles ou matérielles
 Extensibilité : croissance progressive selon le besoin
4
Introduction
 Avantages
 partage de données
 partage de périphériques
 Communication
 souplesse (politiques de placement)
 Inconvénients
 logiciels : moins de logiciels disponibles
 réseaux : saturation et délais
 sécurité : piratage
5
Introduction
 Classification de Flynn (1972)
 nombre des flux d'instructions

 nombre des flux de données

 SISD : un seul flux d'instruction et un seul flux


de données (ordinateurs centralisés)
 SIMD : un seul flux d'instruction et de multiples
flux de données (machines //, vectorielles)
 MISD : multiples flux d'instruction et un seul
flux de données (pas de machine réelle )
 MIMD : multiples flux d'instruction et de
multiples flux de données
6
Introduction
M IM D
S y s t è m e s p a r a l lè le s e t d i s t r i b u é s
Fortement Faiblement
couplés couplés

M u lt i p r o c e s s e u r s M u l t i c a lc u la t e u r s
m é m o ir e s p a r ta g é e s M é m o ir e s p r iv é e s

Bus C o m m u ta te u r C o m m u ta te u r R é se au
•Stations de travail sur LAN
•Sequent Encore •RP3 et SPx •Transputer
•Grappes de PC sur
d’IBM •Machines parallèles à Etherswitch, ou réseau Myrinet
•Sun Enterprise mémoires réparties
Serveurs •Grilles sur WAN 7
Introduction
 Classification
 La classification est parfois floue et imprécise

 Systèmes d’exploitation faiblement couplés

 réseaux d'ordinateurs indépendants


 (et alors les ordinateurs indépendants avec réseau
défaillant continuent +/- à fonctionner)
 Systèmes d’exploitation fortement couplés

 multiprocesseurs faits pour exécuter un seul


programme en // (jeu d'échecs, calcul scientifique)
 machines dédiées (// intra-requete sur BDs cf Oracle
//, Informix, etc) 8
Introduction

Systèmes d’exploitation
 Multiprocesseurs distribués
multicalculateurs Systèmes d’exploitation

S.E faiblement couplé


réseau
S.E fortement couplé Systèmes multiprocesseurs

à temps partagé

9
Introduction
 La combinaison la plus fréquente : matériels
et logiciels faiblement couplés
 Connexion point à point
 Postes avec SE indépendants
 Partage des imprimantes
 Accès à un autre poste en mode terminal
 Réseaux locaux  Internet

 FTP, TELNET
 Stations NT
 Windows Workgroups  HTTP, RTLOGIN, …
10
Introduction
Système d’exploitation réseau

 Postes indépendants + serveurs de fichiers


 Systèmes de fichiers partagés NFS
 Gestion centrale des utilisateurs CD, NIS, …
 Novell, LanManager
 Unix +NFS, NTServer Services
Serveur
Poste Poste Poste
De
client client client
Fichiers
Question
Réponse 11
LAN
Introduction
 Systèmes distribués
 Un système distribué est un système qui
s'exécute sur un ensemble de machines sans
mémoire partagée , mais que l'utilisateur voit
comme une seule et unique machine au point que
la défaillance d'une machine dont l'utilisateur
ignore jusqu'à l'existence peut rendre sa propre
machine inutilisable ...

12
Introduction
 Caractéristiques
 Possédant un mécanisme de communication interprocessus
unique et global permettant le dialogue entre deux
processus quelconques
 Possédant un système de protection unique et global
 Possédant un mécanisme de gestion de processus unique
 Possédant un ensemble d'appels système unique, disponible
sur toutes les machines
 Possédant un noyau de système d'exploitation identique
implanté sur toutes les machines
 Possédant un mécanisme de gestion de mémoire identique
13
Introduction
 Système multiprocesseur à temps partagé
 Un ensemble de processeurs "symétriques"
 Une mémoire commune et un espace disque commun
 Tous les programmes sont stockés dans la mémoire
partagée
 Une file d'attente unique des processus exécutables
se trouvent dans la mémoire partagée
 L'Ordonnanceur travaille en section critique pour
éviter que deux UC ne choisissent le même processus à
exécuter
 L'exclusion mutuelle peut être réalisée en utilisant des
sémaphores, moniteurs, ... 14
Introduction
Mémoire
E prêt
UC UC UC D prêt
1 2 3 C en exécution
Processus A Processus B Processus C
en exécution en exécution en exécution B en exécution

Cache Cache Cache A en exécution Disque local


File d’exécution :
D, E
Noyau SE

bus

15
Introduction
 Tableau de synthèse sur la classification des systèmes
d’exploitation
S.E.
Questions S.E.Rés S.E.Dist.
Mem.Par.

Ressemble-t-il à un monoprocesseur virtuel Non Oui Oui

Doit-on avoir le même système d’exploitation


Non Oui Oui
’’ local ’’

Combien y-t-il de copies du système d’exploitation N N 1


Fichiers partagés Mémoire
Quel mode de communication d’information naturel + Messages
Messages Partagée
Non Mais
Existe-t-il une seule file d’attente des exécutables Non Oui
coopération
16
Introduction
 Critère de conception d’un S.E.D ou d’un système opératoire sur
une architecture distribuée
 Transparence
 Même mode d'utilisation que celui d'un système centralisé à
temps partagé :
au niveau d'un l'utilisateur et au niveau d'un programme (appels au
Type de Transparence
système ) Signification

Transparence à l’emplacement
L'utilisateur ne connaît pas où sont situées les ressources
Les ressources peuvent être déplacées sans modification
Transparence à la migration
de leur nom
Transparence à la duplication
L'utilisateur ne connaît pas le nombre de copies existantes

Plusieurs utilisateurs peuvent partager en même temps les


Transparence à la concurrence
mêmes ressources
Des tâches peuvent s'exécuter en parallèle sans que les
Transparence au parallélisme
utilisateurs le sachent 17
Introduction
 Souplesse
 Facilité de modification, de configuration et d’extension

Utilisateur Serveur Serveur de Serveur de


Utilisateur processus
de répertoires
Noyau Fichiers
Micronoya
Micronoyau Micronoyau Micronoyau
Monolithique u

Bus / Réseaux
École locaux
École Micronoyau
Monolithique  Windows NT  Idée intéressante qui permet de bâtir
 1ers un système opératoire pour grappe
Unix ou grille, sur des systèmes
d’exploitation usuels
 Linux  Mach
‘‘Unix/Posix’’
18
Introduction
 Fiabilité
 Disponibilité
 La disponibilité est la fraction de temps pendant laquelle le système est
utilisable :
 limiter le nombre des composants critiques
 dupliquer les parties clés des composants logiciels et matériels
(redondance)  Sécurité
→ Savoir maintenir la cohérence des copies
 Les ressources doivent être protégées contre des utilisations abusives
et malveillantes. En particulier le problème de piratage des données
sur le réseau de communication
 Tolérance aux pannes
 Le système doit être conçu pour masquer les pannes aux utilisateurs.
La panne de certains serveurs (ou leur réintégration dans le système
après la réparation) ne doit pas perturber l'utilisation du système en
terme de fonctionnalité (NFS sans état par exemple)
19
Introduction
 Performances
Critères
 Temps de réponse
 Débit ‘‘Nombre de travaux par heure’’
 Taux d’utilisation du système
 Pourcentage d’utilisation de la bande
passante du réseau

20
Introduction
 Problèmes
 La communication est en général assez lente dans les

systèmes distribués par rapport à l’accès fichier


 Le mécanisme de tolérance aux pannes requiert beaucoup

d'opérations " inutiles" si pas de panne


 Solutions

 Minimiser les échanges de message par exemple en faisant


en sorte de :
 Maximiser des granules grosses (gros grains) et éviter

des grains fins pour les calculs à distance


 Réduire le champ d'application des mécanismes de

reprises sur pannes (car cela engendre des transmissions


d'information, et donc, les réserver aux parties critiques)
21
Introduction
Dimensionnement

 Goulots d’étranglement potentiels
Concepts Exemple
Un seul serveur de courrier pour les
Composants centralisés
utilisateurs

Tables centralisés Un seul annuaire en ligne

Avoir un routage qui nécessite une


Algorithmes centralisés
connaissance totale du réseau

22
Introduction
 Caractéristiques des algorithmes distribués
 Aucun processus n'a une information complète sur
l'état du système
 Les processus prennent des décisions à partir des
seules informations locales disponibles
 La panne d'un processus n'empêche pas
l'algorithme de fonctionner
 On ne fait pas l'hypothèse de l'existence d'une
horloge physique globale entre les machines sur
lesquelles tournent les processus mettant en
oeuvre l'algorithme 23
Structuration des systèmes

 Monolithiques;

 A couches;

 Client/Serveurs ou Micro-noyau.

24
Structure d’un système monolithique

 Collection de procédures qui collaborent à


la réalisation de fonctions complexes.
 Chaque procédure est visible a toutes les
autres, et peut appeler a tout moment
n'importe quelle autre;
 Exemple: UNIX

25
Structure d’un système monolithique

 Les services (Appels système) offerts par


le SE sont adressées en :
 mettant les paramètres dans des

registres ou la pile; et en exécutant une


instruction spéciale nommée appel au
noyau ou appel au superviseur;
 Le SE examine alors les paramètres pour

déterminer l'appel système a exécuter


(pointeur sur l'appel système)

26
Structure d’un système monolithique
 Le SE appelle la procédure
correspondante (localisation et
identification du service, qui est ensuite
appelé);
 Le contrôle est rendu au programme de
l'utilisateur;

27
Structure d’un système monolithique
 Système monolithique
 Le système = un ensemble de procédure dont
chacune peut appeler n’importe quelle autre.
 contraintes

 Absence de structure

 Absence d’encapsulation

 Visibilité réciproque des procédures

28
Structure d’un système monolithique

Un simple modèle de structuration


d’un système monolithique
29
Structure d’un système à couches

 Vu comme un ensemble de couches logiciels


superposées.
 Chaque couche utilise les couches inférieures
et fournis un service supplémentaire aux
couches supérieures
 Exemple: THE, MULTICS,..

30
Structure d’un système à couches
utilisateur
utilisateur
Inter de com Prog. d’app
Inter de com Prog. d’app
Gérant de fichiers
Gérant de fichiers
Allocation de ressources

Gestion des périphériques


Gestion des E/S
et d ’Interruptions
Gestion de la Mémoire

Matériel Gestion des IT et des processus

Mono-utilisateur Matériel
monotâche Idéal 31
Structure d’un système micro-noyau

 Micro-noyau
 Principe : Un noyau minimaliste et tout
le reste du sytème sous forme de
service en espace utilisateur
 On construit n’importe quel système
au dessus du noyau

32
Structure d’un système micro-noyau
 Déplacer le plus possible du noyau en espace
utilisateur
 Place à la communication entre les module
utilisateur par passage de messages
 avantages:

 facilité d’extension du micronoyau


 facilité de portabilité du système d’exploitation
vers de nouvelles architectures
 plus fiable (moins de code en exécution en mode
noyau)
 plus de sécurité
33
Structure d’un système micro-noyau

 Certaines fonctions complexes du système sont


sorties du système proprement dit et confiées
à des serveurs indépendants (serveur de
fichiers, de mémoire, etc…)
 Les processus utilisateur (clients) et les
serveurs s ’exécutent en mode utilisateur;
 La communication entre clients et serveurs se
fait par envoi de messages à travers le noyau
du système (mode noyau)
34
Structure d’un système micro-noyau

 Système configurable: changer les serveurs


pour obtenir une meilleur adéquation;
 Système transportable: il suffit de réécrire la
couche micro-noyau qui coordonne tous les
serveurs;
 Incorporation des systèmes existants(DOS,
UNIX)
 Se prête bien à une utilisation sur les systèmes
distribués(Amoeba, Mach, …).
35
Structure d’un système micro-noyau

Modèle de client-server

36
Structure d’un système micro-noyau

Modèle de client-server dans


un système distribué

37
Structure d’un système micro-noyau

Structure Windows NT Client-Server


38
39
 Qu'est ce qu'un système
réparti ?
 On peut employer le terme de système
réparti ou distribué lorsque le système
dispose d'un ensemble de processus
communicants, installés sur une
architecture de processeurs, dans le but
de résoudre en coopération un problème
commun

40
 Un système réparti doit s'appliquer à
créer, sur cette architecture, une
machine virtuelle unique dans le but de
faire abstraction de la distribution de
l'architecture. L'utilisateur doit, par le
biais de ce système, avoir une vue
globale de celle-ci et utiliser ses
fonctionnalités sans se préoccuper du
lieu où celles-ci sont mises en oeuvre.
Le schéma ci-dessous présente un
exemple d'architecture distribuée.
41
42
 Un système réparti est une couche
logicielle au dessus de la couche
matérielle. Il est susceptible d'utiliser
un ensemble de machines hétérogènes,
appelées plus communément "sites".
Chaque site peut avoir un ou plusieurs
processeurs, de la mémoire, une horloge
et des capacités de stockage ( disques ).

43
 La communication entre les sites est
assurée via un réseau d'interconnexion
qui peut être un réseau local, voire un
réseau plus large ou tout simplement un
réseau de processeurs sur une machine
parallèle. Cette approche du système
réparti est proche de celle énoncée par
Tanenbaum et Van Renesse

44