Vous êtes sur la page 1sur 31

Systèmes Répartis …

Concepts et fonctions de
base des systèmes
répartis

ENIC – 2015/2016
Introduction
 Les ordinateurs ont subi des changements incroyables
depuis leur mise en opération vers 1945
– plus en plus de puissance
– Coût de fabrication a constamment diminué
- Les appareils subissent des changements
constants et de plus en plus rapides tant du point de
vue logiciel que matériel.

 Apparition des systèmes multiprocesseurs, des


systèmes d'exploitation pour le traitement parallèle et
des réseaux puissants d'interconnexion.

2
Interconnexions de
machines
Point à point: Le raccordement de chaque site se fait physiquement à travers
de liens fibres optiques.

3
Interconnexions de
machines
Multipoint: n liaisons pour n systèmes Si interconnectés à un même nœud,
les points de connexion sont reliés par une même voie.

4
Interconnexions de
machines
Réseau:

5
Les réseaux
 Réseau : Machines + Routeurs
• Les routeurs cheminent les messages échangés
au moyen de plusieurs communications Point-A-Point
• Chaque machine est identifiée de manière unique
dans le réseau par son adresse.
• Chaque routeur a un table de routage qui donne l ’adresse du routeur voisin qui
permet au message d ’atteindre le destinataire
Exemples:
Réseau de stations de travail de travail dans une université
Réseau d’une grande entreprise réparti dans le pays
Le WWW: pour voir un document, l’utilisateur active une référence et le document
apparait. Pas besoin de savoir d’où il vient, sur quel serveur il est stocké, etc.

6
Les réseaux
 Réseau : Machines + Routeurs

7
Pourquoi les Applications
Distribuées
 Besoin budgétaires: économie de logiciels, de matériels, …
 Besoin de partager:

8
Pourquoi les Applications
Distribuées
 Accélérer le calcul
– Parallélisation de tâches:1 problème de taille N en T secondes -> M sous
problèmes de taille N/M en T/M secondes
 Alléger la charge: diminuer les échanges de données redondantes
 Augmenter la fiabilité : duplication de machines, de données ⇒ réalisation de
systèmes à haute disponibilité
 Atteindre des niveaux de qualité de service (QoS): diminuer les coûts, les délais,
augmenter la disponibilité
 Réaliser des systèmes ouverts et évolutifs : adjonction facile de matériels et
logiciels

 fiabilité est la probabilité de n'avoir aucune défaillance à


l'instant t

9
Applications distribuées -
Objectifs
 Accès à distance (Remote Access)
 Ressources distribuées (Distributed resources)
 Partage de ressources distantes (remote resource sharing)
 Parallélisme
 Résistance aux pannes (Fault Tolerance)

10
Définitions

 Le système réparti est constitué d’un ensemble de composants


matériels (ordinateurs, organes d’entrée-sortie, processeurs
spécialisés, dispositifs de commande ou de mesure, etc),
interconnectés par un réseau de communication)
 "Du point de vue utilisateur, un système réparti se comporte
comme un système traditionnel, mais s’exécute sur de multiples
unités indépendantes" Tanenbaum
 Les composants du système ne fonctionnent pas de manière
indépendante mais coopèrent pour l’exécution de tâches
communes
 Le système peut continuer à fonctionner (éventuellement en
mode dégradé) malgré les défaillances partielles des
composants ou du réseau de communication
11
Donc, des problèmes
nouveaux …
 1. Etat du système et datation des événements:
En l’absence de mémoire commune et de référence de temps
commune, la définition d’un ordre global pour les événements d’un
système réparti repose sur desmécanismes de datation logiques
(horloges logiques, estampillage des messages). Ces outils
permettent à leur tour:
de définir la notion d’état d’un système réparti
De réaliser des mécanismes pour l’observation de cet état en vue
notamment de la mise au point d’applications ou de la détection
de propriétés globales.
De définir les notions liées à la cohérence d’informations réparties
en vue de la gestion globale de ces informations.

12
Donc, des problèmes
nouveaux …
 2. Désignation:
La désignation dans un SR pose des problèmes spécifiques
en raison de la grande taille de l’espace des noms et de
l’évolution permanente de l’ensemble des objets désignés et de
leur localisation.
Les méthodes utilisées reposent sur l’usage de caches et
d’indicateurs, qui permettent de maintenir une désignation
indépendante de la localisation physique tout en permettant
une recherche efficace

13
Donc, des problèmes
nouveaux …
 3. Communication et exécution répartie

En utilisant les outils primitifs fournis par la communication par


message, des fonctions de communication de plus haut niveau
ont été définies: appel de procédures à distance, gestion
répartie d’objets, agents mobiles communicants

14
Donc, des problèmes
nouveaux …
 4.Tolérance aux fautes

Dans un système réparti, la probabilité d’une défaillance partielle


du système ne peut pas être négligée.
La tolérance aux fautes est assurée par la redondance des
informations et des traitements

15
Donc, des problèmes
nouveaux …
 5. Sécurité et protection
La sécurité d’un système réparti vise à garantir le maintien de la
confidentialité et de l’intégrité de l’information et le respect
des règles d’accès aux services
Les méthodes utilisées reposent d’une part sur l’usage de
barrières de protection (matérielles et logicielles, comme les
« pare-feu » ou purement logicielles comme les domaines de
protection), d’autre part sur des protocoles d’authentification
utilisant la cryptographie

16
Et des besoins nouveaux…

 1.Transparence:
Propriété d’indépendance par rapport à la localisation physique
pour l’accès aux informations et aux services

Permet d’utiliser un service distant de la même manière qu’un


service local, ou de déplacer des informations ou des services
d’un site à un autre sans changement visible pour les
programmes ou les personnes qui les utilisent

17
Et des besoins nouveaux…
Plusieurs formes de transparence (ISO 1995)
D’accès: cacher la différence des représentations des données
et comment une ressource est accédée.
De localisation: cacher l’endroit où une ressource est localisée.
De migration: cacher qu’une ressource peut bouger vers une
autre localisation
De relocalisation: cacher qu’une ressource peut bouger vers une
autre location pendant son utilisation
De réplication: cacher qu’une ressource est répliquée

18
Et des besoins nouveaux…

 De concurrence: cacher qu’une ressource peut être partagée


par plusieurs utilisateurs compétitifs
 De panne: cacher une panne et un recouvrement d’une
ressource
 de persistance: cacher qu’une ressource (logicielle) est dans
une mémoire

Les transparences à l’accès et à la


localisation sont les plus appliquées

19
Et des besoins nouveaux…

 Dans certains cas, la transparence doit au contraire être évitée.


Exemple:
 Mise au point d’applications réparties
 Lorsqu’on recherche l’origine d’une défaillance, il faut pouvoir
connaître la localisation physique des données manipulées ou le
site d’exécution d’un programme
 Contrôle de l’exécution
 Pour des raisons de performances (équilibrage de charge),
d’administration des ressources ou de sécurité: on peut vouloir
contrôler ou imposer explicitement le site de stockage de
données ou le site d’exécution d’un service

20
Et des besoins nouveaux…

 2. Abstraction:
Séparation entre interface d’accès à un service et réalisation de
ce service. Cette propriété (qui n’est pas propreaux
applications réparties) permet notamment de construire une
application par assemblage de composants, et de remplacer un
composant par un autre à condition qu’il ait la même interface.
Les interfaces sont souvent écrites en IDL (Interface Definition
Language)
Flexibilité (facile à configurer) et extensibilité (facile à
modifier)

21
Et des besoins nouveaux…

L’abstraction possède deux propriétés:


L’interopérabilité: deux composants ou deux implémentations
différentes d’un même système de deux constructeurs
différents peuvent co-exister et travailler ensemble.
La portabilité: une application peut être exécutée dans deux
systèmes distribués différents sans modification

22
Et des besoins nouveaux…

 3. Récupération de l'existant
De nombreux applications réparties sont construites en ajoutant
des capacités d’accès à distance ou d’intercommunication à des
applications existantes. Pour réduire le coût de développement
et assurer la continuité du service, il faut pouvoir réutiliser
une partie importante du logiciel qui compose ses applications

23
Et des besoins nouveaux…

 4. Capacité d’évolution, ou d’extension (scalability)


Les applications doivent évoluer en permanence pour faire face à
l’évolution des besoins , aux modifications de
l’environnement(systèmes, outils, infrastructure de
communications) et à la croissance de la demande. Cette
évolution doit se faire de manière continue et sans
interruption du service.
La scalabilité mesurée selon au moins 3 dimensions:
Selon la taille: nombre de ressources et d’utilisateurs
De manière géographique: distance entre ressources
De manière administrative: nombre d’administrateurs

24
Et des besoins nouveaux…

 Plus un système est scalable moins il est


performant !!!!
 Taille: le réseau devient un goulot d’étranglement au fur et à
mesure que le nombre de ressources augmentent
 Geo: des liaisons plus langues donc délais importants, problème
de différences d’horloge entre les ressources
 Adm: plus de messages de signalisation et saturation du
réseau, différence de technique de sécurité, de gestion et de
paiement

25
Et des besoins nouveaux…

 Solutions:
Appel à des communications asynchrones (des tâches
peuvent être programmées pour exécution pendant que
d’autres attendent la fin de communication) et à la
distribution (diviser un composant en petites parties et
répartir dans le système)

26
Exemples d’applications
réparties
 Invocation de commande à distance et sauvegarde de fichiers
sur une machine distante
 Le modèle Client/serveur: envoi requête attente réponse
 Service d’administration répartie
 Service d’impression répartie
 Système de partage de fichiers (NFS)
 Système de noms de domaine (DNS)

27
Les différentes structures
 Les structures centralisées
• Tous les courriers sont stockés sur C
(station centrale).
• 1 usager = 1 boîte aux lettres sur C.
• Volume de stockage important sur C.
• Disponibilité du service = disponibilité de C.
• 1 opération = 1 transfert d'informations .
* L'architecture centralisée consiste en un
noyau central fort autour duquel tous les périphériques sont regroupés (ou
centralisées). Ce noyau central prend la plupart des actions. L'avantage est une
facilité d'administration.

28
Les différentes structures
 Structure décentralisée-ou répartie
• les architectures de réseau informatique se
sont de plus en plus orientées vers une
distribution des ressources et de la puissance
informatique.
• Internet est sans doute l'exemple le plus
marquant d'un réseau à architecture distribuée puisqu'il ne possède aucun site
central.
• Dans la mise en œuvre de réseaux de moins grande ampleur, le degré de
distribution (ou de centralisation) de la puissance de calcul, des
périphériques, des bases de données dépend de différentes considérations
stratégiques, humaines et professionnelles.

29
Les différentes structures

 Structure parallèles (Systèmes de haute performance)


Les ordinateurs parallèles sont des machines qui comportent
une architecture parallèle, constituée de plusieurs
processeurs identiques, ou non, qui concourent au traitement
d'une application. La performance d'une architecture parallèle
est la combinaison des performances de ses ressources et de
leur agencement. (Latence, débit).

30
 Architectures parallèles :
– Pas de limite de mémoire.
– Pas de limite de processeurs.
– Accélération des calculs complexes ou coûteux en temps
d'occupation CPU
(calcul matriciel, simulation numérique, transformée de
fourrier...).
– Calcul répétitif sur un large ensemble de données structuré.
– Traitement indépendant.

31

Vous aimerez peut-être aussi