0% ont trouvé ce document utile (0 vote)
46 vues37 pages

Chap 1

Le document présente un cours sur les systèmes parallèles et distribués, abordant des thèmes tels que la gestion des données, des transactions et la tolérance aux fautes. Il met en lumière l'évolution technologique et les besoins des entreprises qui ont conduit au développement de ces systèmes, ainsi que leurs avantages et inconvénients. Enfin, le document souligne l'importance des systèmes répartis dans le contexte actuel de l'informatique.

Transféré par

nciri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
46 vues37 pages

Chap 1

Le document présente un cours sur les systèmes parallèles et distribués, abordant des thèmes tels que la gestion des données, des transactions et la tolérance aux fautes. Il met en lumière l'évolution technologique et les besoins des entreprises qui ont conduit au développement de ces systèmes, ainsi que leurs avantages et inconvénients. Enfin, le document souligne l'importance des systèmes répartis dans le contexte actuel de l'informatique.

Transféré par

nciri
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de la Manouba

Institut Supérieur des Arts Multimédia de la Manouba (ISAMM)

Cours systèmes parallèles


et distribués
Dr. Mouna Jouini
[Link]@[Link]

A. U 2023-2024
PLAN

 Chapitre 1: introduction aux systèmes parallèles et


distribués

 Chapitre 2: Gestion de temps et des états

 Chapitre 3: Gestion des données parallèles et distribuées

 Chapitre 4: Gestion des transactions parallèles et


distribuées

 Chapitre 5: Tolérances aux fautes


CHAPITRE 1

INTRODUCTION AUX SYSTEMES


PARALLELES ET DISTRIBUES
Progrès technologiques
 Les réseaux d’ordinateurs sont partout !!!

 Internet, réseaux de téléphones mobiles, réseaux locaux, etc.

 Les progrès technologiques des ordinateurs et le haut débit


permettent aux différentes applications sur des ordinateurs distincts
(et distants) de coopérer pour effectuer des tâches coordonnées;

 Avant les années 80 : les ordinateurs étaient encombrants et chers


(les systèmes centralisés);

 A partir de la mi-80, deux nouveautés:


 Microprocesseurs (moins chers et très rapide)
 LANs and WANs
Contexte
(a) Pressions pour la distribution
systèmes qui résistent à la montée en
charge et qui fournissent un bon temps
SGBD de réponse aux requêtes et transactions
SGBD Relationnel sur des gros volumes de données.
Semi-Structuré
SGBD
Structuré
1.
Augmentation
du volume de
l’information/
transactions
SGBD
SGBD
Structuré
relationnel

2. Progrès
SGBD
technologiques
Objet
SGBD
objet
Contexte
(b) Progrès technologiques

Pour améliorer le débit des E/Ss :

1. Partitionnement des données pour un accès


parallèle aux données
2. Utiliser plusieurs noeuds (avec un bon coût/
performance), et les faire communiquer par un
réseau.

Les systèmes parallèles et


distribués se sont développés
Contexte: Technologie + besoins
Évolution Évolution
Technologique des besoins
 Performance des voies de  Structure des entreprises et des
télécommunication (débit et organisations : communication
fiabilité) et partage (ex. Intranet);
 Rapport coût/performance des  Accès universel à l’information
stations; ([Link]);
 Convergence informatique et  Informatique distribuée “grand
téléphonie. public” (ex. vidéo interactive).

Applications
Distribuées/
parallèles
Informatique classique Vs Informatique
répartie/ parallèle
Informatique classique Informatique répartie

Centralisation: Réalité :

Des moyens de calcul Développement des réseaux


Des moyens de stockage Intégration d’applications séparées
Du contrôle Pénétration de l’informatique dans
Du calcul tous les domaines
Des données
Solution : Répartition des ressources et
du contrôle

L'informatique répartie est l'un des enjeux


majeurs de l'informatique à l'heure actuelle
et dans le futur.
Système distribué en opposition à
système centralisé
Systèmes centralisés Systèmes réparties

Architecture : un serveur Architecture : où un ensemble de


fournissait des services à un serveur relié par un réseau compose
ensemble de terminaux un système qui fournit des services

Avantage : simple à administrer Exemple : Internet est un exemple de


Inconvénients : service distribué réussit. Un ensemble de
- sa très faible tolérance aux serveurs fournit au client de l'information.
pannes Le navigateur est l'intergiciel qui permet
- la possibilité que le coeur d'avoir accès aux serveurs.
du réseau devienne un goulot
d'étranglement
Système distribué en opposition à
système centralisé

 Système Centralisé : tout est localisé sur la même machine


et accessible par le programme

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


 Accédant localement aux ressources nécessaires (données, code,
périphériques, mémoire ...)

 Système distribué : une définition parmi d'autres

 Ensemble d'ordinateurs indépendants connectés en réseau et


communiquant via ce réseau.
Systèmes répartis
Ensemble de
composants
matériel et logiciel

Système
reparti
(SR)

Interconnecté
Coopérer pour
par un réseau de
réaliser des
communication
tâches communes
Systèmes répartis

 La majorité des applications informatiques sont maintenant


réparties, c’est-à-dire mettent en jeu un ensemble
d’ordinateurs ou d’organes divers reliés par un réseau de
communication

 Idée centrale des systèmes répartis


 Répartition :

 Des moyens de calcul


 Des moyens de stockage
 Des données
 Du calcul
 Du contrôle
Systèmes répartis – Définition-
Plusieurs définitions…

 Un système réparti est système informatique dans lequel les ressources ne


sont pas centralisées.

 Système réparti: collection d’ordinateurs autonomes liés par un


réseau d’ordinateurs qui communiquent et coordonnent leurs
actions uniquement par le biais de transmission de messages.

 Répartition: mise à disposition d’un ensemble de ressources et


services connectés via un réseau pour tous les usagers qui
possèdent un droit d’accès en un point quelconque.
Systèmes répartis – Définition-
 Définition [Tanenbaum]:
« Un ensemble d’ordinateurs indépendants qui apparaît à un
utilisateur comme un système unique et cohérent. »

 Les machines sont autonomes;


 Les utilisateurs ont l’impression d’utiliser un seul système.

 Deux points essentiels :


 l’interdépendance entre les éléments d’un système réparti
 l’importance du traitement des défaillances

→ C'est un ensemble de processus communiquant, répartis sur un réseau de


machines le plus souvent hétérogènes, et coopérant à la résolution d'un
problème commun.
Systèmes répartis – Définition-

 Plusieurs composantes réparties sur plusieurs machines et


interconnectés grâce à un intergiciel (Middleware).
Systèmes répartis – Terminologie-
 Intergiciel : c’est une couche logicielle intermédiaire située entre
l'application et le système d'exploitation de la machine. C’est une
couche qui sert à concevoir, développer et déployer une
application répartie.

 Un middleware (interlogiciel) est un logiciel qui agit comme une


passerelle entre les autres applications, bases de données pour offrir aux
utilisateurs des services unifiés... C’est un logiciel qui fournit aux
applications des fonctionnalités et des services communs que le système
d'exploitation n'offre pas.

 3 objectifs principaux d’un intergiciel :


 Masquer la complexité de l'infrastructure sous-jacente
 Faciliter la conception, le développement et le déploiement
d'applications réparties
 Fournir des services communs
Systèmes répartis – Terminologie-
 Noeud : nous appellerons noeuds chacun des processus
(s’exécutant sur une machine réelle ou virtuelle) qui participe à
un système réparti.

 Un noeud possède un espace mémoire local, ainsi qu’une ou plusieurs


tâches (fils d’exécution cohabitant dans l’espace mémoire local).
Systèmes répartis Vs systèmes parallèles

 Systèmes Parallèles. Une machine multiprocesseurs avec


un environnement du type SIMD (tous les processeurs exécutent le
même programme et ont une vision uniforme de l’état global du
système). Extensible à un réseau de machines asynchrones
fortement Couplées

 Systèmes distribués. processus indépendants sur des


machines distinctes et communiquant par échange de messages
asynchrones (en général, des réseaux faiblement couplés).
Systèmes répartis Vs systèmes parallèles
9

Systèmes répartis Vs systèmes parallèles


9

Systèmes répartis Vs systèmes parallèles


• MIMD à mémoire partagée

– Les processeurs ont accès à la mémoire comme un espace d'adressage


global. Tout changement dans une case mémoire est vu par les autres
CPU. La communication inter-CPU est effectuée via la mémoire
globale.

• MIMD à mémoire distribuée

– Chaque CPU a sa propre mémoire et son propre système


d'exploitation. Ce second cas de figure nécessite un middleware pour
la synchronisation et la communication. Un système MIMD hybride
est l'architecture la plus utilisée par les superordinateurs. Ces
systèmes hybrides possèdent l'avantage d'être très extensibles,
performants et à faible coût.
Vision matérielle/ logicielle d'un SD
 Vision matérielle : architecture matérielle
 Machine multi-processeurs avec mémoire partagée ;
 Cluster d'ordinateurs dédiés au calcul/traitement massif parallèle ;
 Ordinateurs standards connectés en réseau.

 Vision logicielle
 Système logiciel composé de plusieurs entités s'exécutant
indépendamment et en parallèle sur un ensemble d'ordinateurs
connectés en réseau

 Dans ce cours
 Conception logicielle des systèmes distribués
 Par défaut sur une architecture matérielle de type ordinateurs
connectés en réseau
Systèmes répartis – Caractéristiques-

 Pourquoi un système réparti ?

Les systèmes répartis sont populaires pour plusieurs raisons:

 Il est plus économique d’utiliser un ensemble de petites machines (PC)


que de travailler sur un grand système.
 Un ensemble de petites machines reliées en réseau peuvent avoir une
puissance supérieure à un système centralisé.
 Les petites machines sont fiables, mais en cas de panne d’une machine
les autres peuvent la remplacer et assurer les services.
 Accès distant : un même service peut être utilisé par plusieurs acteurs,
situés à des endroits différents

 Besoin d’intégration (applications existantes).


Systèmes répartis – But-
 Les systèmes répartis ont une architecture plus adaptée à l’organisation
des entreprises décentralisées

 Plus de fiabilité : les BDR sont souvent répliquées. La panne d’un


site n’est pas très importante pour l’utilisateur, qui s’adressera à
autre site.
 Meilleures performances : réduire le trafic sur le réseau est
une possibilité d’accroître les performances. Le but de la
répartition des données est de les rapprocher de l’endroit où
elles sont accédées. Répartir une base de données sur plusieurs
sites permet de répartir la charge sur les processeurs et sur les
entrées/ sorties.
 Faciliter l’accroissement : l’accroissement se fait par l’ajout de
machines sur le réseau.
Exemples

 WWW ;
 Contrôle du trafic aérien ;
 Super calcul distribué ;
 Système de fichier distribué ;
 DNS (Domain Name System) ;
 Systèmes Pair-à-pair (P2P).
 Guichet de banque,
 Système de réservation (voyage, hotel, vehicule…)
 Télévision interactive.
 Robots footballeurs.
 Jeux en réseaux
Exemple 1 : Serveur de fichiers

 Serveur de fichiers
 Accès aux fichiers de l'utilisateur quelque soit la machine utilisée
 Machines du département informatique
 Clients : Mouna

 Un serveur de fichiers
 Sur toutes les machines : /home/anis est le « home directory » de
l'utilisateur Mouna
 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
Exemple 1 : Serveur de fichiers

 Serveur de fichier : Intérêts


 Accès aux fichiers à partir de n'importe quelle machine
 Système de sauvegarde associé à ce serveur
 Transparent pour l'utilisateur

 Inconvénients
 Si le réseau ou le serveur plante : plus d'accès aux fichiers
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

 Traitement plus complexe


 Serveur interroge une base de données pour générer
dynamiquement le contenu de la page

 Transparent pour l'utilisateur : les informations s'affichent dans


son navigateur quelque soit la façon dont le serveur les génère.
Exemple 3 : Calculs scientifiques
 Plusieurs architectures matérielles généralement
utilisées
 Ensemble de machines identiques reliées entre elles par un réseau
dédié et très rapide (cluster)
 Ensemble de machines hétérogènes connectées dans un réseau local
ou bien encore par Internet (grille)
 Principe général
 Un (ou des) serveur distribue des calculs aux machines clients
 Un client exécute son calcul puis renvoie le résultat au serveur
 Avantage
 Utilisation d'un maximum de ressources de calcul
 Inconvénient
 Si réseau ou serveur plante, alors arrêt du système
Systèmes répartis/ Parallèles – Avantages et
Inconvénients-
 Avantages

a) Partage et mise à disposition : partage de ressources et de services


(exemples : imprimante, service de gestion de fichiers « répartis »)

b) Fonctionnement continu (disponibilité): 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
 Tolérance aux fautes
 La défaillance d’un noeud, ne bloque que partiellement les autres
noeuds
 Possibilité de répliquer les services dans différents noeuds
↔ Services plus disponibles que dans une architecture centralisée

c) Résister au réseau : le système doit pouvoir résister à des perturbations/


défaillances du système de communication (perte de messages,
déconnexion temporaire, performances dégradées)
Systèmes répartis/ Parallèles – Avantages et
Inconvénients-
d) Puissance de calcul (Performance) :
 Puissance de calcul importante
 Faible coût
 Paralléliser les algorithmes de calcul
 Disposer d’un environnement d’exécution répartie

e) Flexibilité : le système doit pouvoir facilement s’adapter pour réagir à des


changements d’environnement ou de conditions d’utilisation
 Architecture modulaire
 Ajout et suppression dynamique de noeuds
 Pas de reconfiguration des autres noeuds

 Croissance en taille des besoins informatiques


 Systèmes toujours efficaces
 Pas de limite d’augmentation en taille du système (en ressources
et en nombre d’utilisateurs)
Systèmes répartis/ Parallèles– Avantages et
Inconvénients-
e) Passage à l’échelle (Scalability) : dispersion géographique : mise à
disposition des usagers de services et ressources distantes (exemples :
Système de réservation (avions, trains, hôtels…), Système bancaire,
Contrôle aérien (découpage en secteurs, coordination des interactions
entre les secteurs), etc.)

f) Evolutivité : possibilité de rajouter des extensions logicielles


(fonctionnalités du SE, services de partage de ressources, etc.)

g) Non vulnérabilité : la répartition ne doit pas dégrader la sécurité. Le


système doit pouvoir résister à des attaques contre sa sécurité
(tentatives de violation de la confidentialité et de l’intégrité, usage indu de
ressources, déni de service)

h) Fiabilité : rendre des services conformes à leurs spécifications

i) Facililité d’utilisation : cacher la répartition à l’utilisateur


Systèmes répartis/ Parallèles – Avantages et
Inconvénients-
 Inconvénients
A. Le réseau peut très vite saturer
B. Pas d’état global : un noeud connaît son état local mais ne connaît que
l’état passé des autres noeuds (temps d’envoi de messages de demande
d’état)
C. Pas d’horloge globale : chaque noeud dispose de sa propre horloge pour
dater les événements locaux.
 Non synchronisation des horloges → problème d’ordonnancement
des événements à partir des datations locales
D. Fiabilité relative
 Chaque noeud est relativement indépendant des autres
→ La défaillance d’un noeud n’entraîne pas l’arrêt de tous les
services aux usagers (applications tolérantes aux fautes)
 Nombre élevé de noeuds
→ Forte probabilité de panne
Systèmes répartis/ Parallèles– Avantages et
Inconvénients-
E. Sécurité relative
 Architecture difficile à protéger
 Points d’accès aux ressources multiples et localisations diverses (intra,
inter…) : nécessité d’authentifier l’utilisateur
 Les noeuds peuvent apparaître et disparaître dynamiquement
→ On ne connaît pas toujours la totalité de l’architecture répartie
→ Difficulté pour administrer le système
F. Non déterminisme
 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
 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

Paradigmes de coopération
Architecture client - serveurs

 Notion de client, service et serveur (ex : service


d’impression, de base de données).
 Interaction synchrone entre le client et le
serveur: le client est bloqué tant que le serveur
n’a pas répondu.
 Serveur concurrent (processus, thread) ; ex : ftp.
 Serveur avec ou sans état.
 Extensibilité, intégration de produits divers.
 Diffusion, flots de données.

 Client/serveur : extension naturelle de la notion de service dans un


environnement centralisé ... mais les pannes sont possibles : perte de la
requête ou de la réponse, panne du serveur ou du client.
 Réincarnation du serveur si serveur avec état (synchronisation,
journalisation).
Paradigmes de coopération
Paradigmes des agents-
mobile

 Agent autonome se déplaçant au grès


des machines pour réaliser ses tâches
[BER 99]. Possède un état.
 Asynchrone ⇒mieux adapté que le
client/serveur à des traitements longs.
 Exemple : recherche sur le Web,
administration réseaux ⇒ moins de
transfert de données.
 Nouveaux problèmes : sécurité (de
l’agent, de l’hôte), mobilité du code,
désignation
CHAPITRE 2

GESTION DE TEMPS ET DES ETATS DANS


LES SYSTEMES DISTRIBUES/ PARALLELES

Vous aimerez peut-être aussi