Vous êtes sur la page 1sur 32

Université Abdelhamid Mehri – Constantine 2

Faculté des Nouvelles Technologies de l'Information et de la Communication


Département d’Informatique Fondamentale et ses Applications

Développement
d’Applications
Réparties
1

Master 1 Réseaux et Systèmes Distribués

Dr Ilham KITOUNI
22-23
2 Chapitre2-Organisations
des SD (Architectures)
Sommaire
Organisations niveau matériel
Organisations niveau OS
Organisations niveau applicatif
Client/serveur
Basé proxy
Le peer-to-peer (p2p)
3

Les niveaux d’organisations des


systèmes distribués
Couches de matériel et de logiciel
4
(Rappel)
5 Architectures des systèmes distribués

Architectures
au niveau matériel
au niveau systèmes
d’exploitation
au niveau applications
réparties
6 Classification de Flynn (1972)

La classification de Flynn partage les


machines en quatre catégories selon :
 Flot d’instruction :
 séquences d’instruction exécutée par la
machine
 Flot de données :
 séquences des données utilisées par le flux
d’instructions
7 Architectures matérielles
 SISD : un seul flux d'instruction et un seul flux de données (ordinateurs centralisés),
ordinateur séquentiel de Von Neumann.
 SIMD : un seul flux d'instruction et de multiples flux de données (machines //,
vectorielles), parallélisme au niveau de la mémoire
 Exemple: machines vectorielles possédant une UC qui décode une instruction
pour l'appliquer ensuite en parallèle à de nombreuses unités de données qui
ont chacune leurs propres valeurs.
 Quelques supercalculateurs appartiennent à cette catégorie SIMD.
 MISD : multiples flux d'instruction et un seul flux de données
 Le traitement est exécuté en plusieurs étapes sur une même donnée
 MIMD : multiples flux d'instruction et de multiples flux de données. L'architecture
parallèle la plus utilisée
 La communication entre les différents processeurs se fait
 soit par mémoire centrale partagée,
 soit par échange de messages
 Tous les systèmes distribués sont de type MIMD
Vision matérielle d'un
8 système distribué
Critères de classifications:
Selon l’adressage: Mémoire partagée / mémoire distincte
Selon le type du réseau d’interconnexion: Bus / Commuté

Adressage

Réseau
d'interconnexion
Organisations matérielles
9

Différentes organisations de base dans les


systèmes distribués
Multiprocesseurs vs
10
Multicalculateurs

Les multiprocesseurs (MIMD à mémoire


partagée) échangent leurs données à
la vitesse de la mémoire partagée

Les multicalculateurs (MIMD à mémoire


distribuée):
chaque CPU a sa propre mémoire et son
propre système d'exploitation.
il nécessite un middleware pour la
synchronisation et la communication.
Vision logicielle d'un système distribué
11

Composé de plusieurs entités


s'exécutant indépendamment et
en parallèle sur un ensemble
d'ordinateurs connectés en réseau
Organisations logicielles Niveau OS
12

 Architecture au niveau systèmes d’exploitation


1. Systèmes fortement couplés (systèmes
d’exploitation réparties): vue globale
unique des ressources.
2. Systèmes faiblement couplés (systèmes
d’exploitation réseau): plusieurs plateformes
disposant de plusieurs systèmes
d’exploitation différents qui coopèrent pour
rendre leurs services et leurs ressources
disponibles les uns aux autres.
3. Systèmes basés middleware
Organisations logicielles Niveau OS
13

1- Systèmes d’exploitation répartis


 Principes
 OS étendu à plusieurs machines
 Utilisateurs et programmeurs ne savent pas
 transparence
Organisations logicielles Niveau OS
14

2- Système d’exploitation réseau


 Principes
 chaque machine exécute son propre OS
 Les utilisateurs et programmeurs savent et gèrent
 Communication par message (hétérogénéité)
Organisations logicielles Niveau OS
15

3- Middleware (intergiciel)
 Principes
 Architectures existante CORBA, RMI,DCOM……(hétérogénéité)
Comparaison entre organisations
16
Organisations logicielles Niveau applicatif
17

Systèmes répartis
1. Client/Serveur
2. Basé Proxy (chapitres suivants )
3. Peer to Peer
Client-serveur 2 niveaux (2-tiers)
18

 Le poste de travail n’héberge que


l’interface homme-machine  Le poste de travail héberge
l’ensemble de la gestion d’interface
 Le serveur héberge les données et les
homme-machine et le traitement,
traitements
 Le serveur est un serveur de base de
 Architecture dénommée «client léger»
données
 Architecture dénommée «client
lourd-Fat »

(années : 80 -> 85)


Avantages et inconvénients
19

Avantage
Interface utilisateur riche
Données centralisées
Efficace pour un nombre réduit de clients.

Inconvénients
x Fat client
x Mises à jours difficiles
x Montée en charge: (saturation rapide)
x Nombre de clients limité
Client-serveur 3 niveaux (3-tiers)
20

 Le poste de travail héberge la gestion d ’interface homme-machine et une partie


des traitements,
 Le serveur d ’applications gère l’autre partie des traitements
 Le serveur de données gère les accès aux données
 Architecture dénommée « traitements coopératifs »
 Avantages
21
Première infrastructure informatique pour un travail
coopératif
Centralisation des traitements au niveau du serveur
Pas de duplication des données (état global
observable)
Gestion plus simple de la cohérence et de l'intégrité
des données
Maîtrise globale des processus
Workflow relativement élémentaires

Inconvénient
Surcharge du serveur applicatif
Client-serveur n niveaux (n-tiers)
22
 Le poste de travail héberge la gestion d’interface homme-machine et
une partie des traitements,
 Les serveurs d’applications gèrent les autres parties des traitements.
Notion de spécialisation logique métier
 Les serveurs de données gèrent les accès aux données
Exemple du WWW
23

Client Serveurs
User Navigateur Traitement BD
Création Décodage
Clic/URL et envoi de la
de la requête
requête

Réseau de
communication BD

Construction
Décodage de la
Visualisati
de la réponse et
on réponse envoi
Exemple
24

Le WWW: Les applications Web sont en général des applications multi-tiers


qui se caractérisent par:
 Des clients identiques (navigateurs Web)
 Des serveurs: serveur Web + des programmes d’application (moteur
PHP, …) + éventuellement un serveur de BD
 Des échanges entre les tiers qui respectent des protocoles standards
comme HTTP….
Le peer-to-peer(P2P)
25
Une autre façon de répartir des données et des services
 Architecture point à point, adapté à l'envoi de message
 Robuste par définition : pas de serveur; pas de client;
 Pour communiquer les participants (tout le monde peut
devenir serveur)
 Il existe quand même des serveurs (≠ "peer-to-peer pur")
 Gère les index documents/@IP cliente
 Optimise les recherches dans la répartition
 Améliore la bande passante utilisée
 Exemples :
 Napster (1 serveur central)

 Edonkey, Emule (plusieurs serveurs)

 Freenet et overnet (pas de serveur)


Le peer-to-peer(P2P)
26

Les composants (processus) d’un système distribué


jouent des rôles similaires et coopèrent d’égal à égal
pour réaliser une activité répartie.

Processus

Requête de service et réponse

Processus Processus
Le peer-to-peer(P2P)
27
Le peer-to-peer (P2P)
28
Dans le cas serveur : protocole en 2 étapes
 Demande au serveur les clients possédant un document
 Etabli une communication client/client pour télécharger le
document morceau par morceau
 Indisponibilité d'un client routage vers un autre client

Dans le cas sans serveur : protocole de propagation


 Demande à un "ami" (client privilégié) un document si il ne
peut pas ou pour équilibré la charge alors routage vers un
autre client
 La réponse suit le chemin inverse
29

Exemples
30

Gnutella : protocole à base


d’inondation

TTL: time to live


31
32

Vous aimerez peut-être aussi