Podcast
Questions and Answers
Qu'est-ce qu'un système distribué?
Qu'est-ce qu'un système distribué?
Un système distribué est défini comme étant un système unique dont les composants sont distribués sur un ensemble d'équipements informatiques géographiquement distribués interconnectés par un réseau de communication et coopérant par échanges de messages afin de réaliser les tâches définies par ce système.
Quels sont les caractéristiques physiques d'un système distribué?
Quels sont les caractéristiques physiques d'un système distribué?
L'absence de mémoire commune, l'absence de référentiel temporel global, et la panne de composants physiques.
Quelles sont les trois approches de structuration des systèmes distribués?
Quelles sont les trois approches de structuration des systèmes distribués?
- Systèmes centralisés
- Systèmes intégrés (correct)
- Systèmes Client-Serveur (correct)
- Interconnexion de systèmes homogènes (correct)
Un réseau de communication est constitué d’un ensemble d’ordinateurs reliés entre eux par des lignes de communication, permettant l’échange d’informations et l’accès à des _____ distants.
Un réseau de communication est constitué d’un ensemble d’ordinateurs reliés entre eux par des lignes de communication, permettant l’échange d’informations et l’accès à des _____ distants.
L'absence de mémoire commune implique que les systèmes distribués peuvent utiliser des mécanismes de synchronisation connus des systèmes centralisés.
L'absence de mémoire commune implique que les systèmes distribués peuvent utiliser des mécanismes de synchronisation connus des systèmes centralisés.
Qu'est-ce que la transparence dans le contexte des systèmes distribués?
Qu'est-ce que la transparence dans le contexte des systèmes distribués?
Quels types de services peuvent être fournis par un serveur dans un système client-serveur?
Quels types de services peuvent être fournis par un serveur dans un système client-serveur?
Associez les propriétés des systèmes distribués avec leurs descriptions:
Associez les propriétés des systèmes distribués avec leurs descriptions:
Un système distribué est considéré comme _____ s’il offre ses services selon des règles standards.
Un système distribué est considéré comme _____ s’il offre ses services selon des règles standards.
Flashcards
Qu'est-ce qu'un Système Distribué (SD) ?
Qu'est-ce qu'un Système Distribué (SD) ?
Un système unique où les composants sont distribués géographiquement et coopèrent via un réseau de communication.
Quelles sont les principales caractéristiques physiques d'un système distribué ?
Quelles sont les principales caractéristiques physiques d'un système distribué ?
L'absence de mémoire partagée, d'horloge globale précise et la possibilité de pannes partielles.
Qu'est-ce qu'un système Client-Serveur ?
Qu'est-ce qu'un système Client-Serveur ?
Un ensemble de sites avec leurs propres systèmes d'exploitation, connectés par un réseau, utilisant le modèle client-serveur pour l'accès aux ressources.
Qu'est-ce que l'interconnexion de systèmes homogènes ?
Qu'est-ce que l'interconnexion de systèmes homogènes ?
Signup and view all the flashcards
Qu'est-ce qu'un Système Intégré Distribué ?
Qu'est-ce qu'un Système Intégré Distribué ?
Signup and view all the flashcards
Qu'est-ce que la transparence dans un système distribué ?
Qu'est-ce que la transparence dans un système distribué ?
Signup and view all the flashcards
Qu'est-ce que la disponibilité ?
Qu'est-ce que la disponibilité ?
Signup and view all the flashcards
Qu'est-ce que le modèle client-serveur ?
Qu'est-ce que le modèle client-serveur ?
Signup and view all the flashcards
Qu'est-ce que les données rémanentes ?
Qu'est-ce que les données rémanentes ?
Signup and view all the flashcards
Schémas d'organisation
Schémas d'organisation
Signup and view all the flashcards
Qu'est-ce que l'appel de procédure à distance ?
Qu'est-ce que l'appel de procédure à distance ?
Signup and view all the flashcards
Il est donc nécessaire de :
Il est donc nécessaire de :
Signup and view all the flashcards
Qu'est-ce le modèle pair à pair (peer to peer) ?
Qu'est-ce le modèle pair à pair (peer to peer) ?
Signup and view all the flashcards
Qu'est-ce que la l'architecture décentralisée ?
Qu'est-ce que la l'architecture décentralisée ?
Signup and view all the flashcards
Qu'est-ce que l'architecture centralisée ?
Qu'est-ce que l'architecture centralisée ?
Signup and view all the flashcards
Qu'est-ce que l'architecture hybride ?
Qu'est-ce que l'architecture hybride ?
Signup and view all the flashcards
Study Notes
Généralités sur les systèmes distribués
- L'utilisation des micro-ordinateurs a connu une forte croissance dans les années 70-80
- Cette croissance a remplacé l'utilisation des systèmes temps partagés.
- Le partage de données entre les utilisateurs était limité, ce qui a conduit à l'introduction des réseaux de communication.
- Un réseau de communication est constitué d'ordinateurs reliés par des lignes de communication.
- L'exploitation d'un tel réseau est réalisée à l'aide d'un système de communication.
- Ce système de communication permet l'échange d'informations et l'accès à des services distants entre entités.
Système distribué (SD)
- Il permet d'ajouter de nouvelles fonctions de contrôle et de gestion des processus et des ressources.
- Ces fonctions sont adaptées à l'environnement distribué
- Il donne l'impression à l'utilisateur qu'il fait partie d'un système centralisé unique.
- Définit de nouvelles couches qui rendent le système de communication transparent.
- La synchronisation d’horloges, le calcul d’état global, la détection de terminaison, la répartition et la cohérence des données, et l'interblocage de communication sont d'autres fonctions impliquées.
- Un système distribué est défini comme un système unique avec des composants distribués géographiquement.
- Ces composants sont interconnectés par un réseau de communication et coopèrent par échanges de messages.
Caractéristiques physiques d'un système distribué
- Absence de mémoire commune, interdisant l'utilisation des mécanismes de synchronisation des systèmes centralisés.
- L'échange de messages est le seul moyen de communication.
- Les délais de transmission sont imprévisibles.
- Absence de référentiel temporel global car les horloges physiques ne sont pas fiables.
- Des techniques sont utilisées pour synchroniser les horloges ou utiliser des systèmes logiques de datation.
- La panne d'un composant physique peut causer une panne partielle ou totale, ou une incohérence
Approches de structuration des systèmes distribués
- Historiquement structurés de trois manières différentes.
Systèmes Client - Serveur
- Ensemble de sites, chacun avec son propre système d'exploitation, connectés par un réseau de communication.
- Utilisation du modèle client-serveur pour accéder à des ressources partagées distantes et à des services divers.
- Un serveur est défini par son interface, qui spécifie les services et leurs modes d'utilisation.
- Les clients utilisent cette interface pour accéder aux services.
- Un serveur peut être centralisé ou réalisé par un ensemble de sous-systèmes coopérant.
- Un site peut être un serveur ou un client : serveur de fichiers ou d’imprimantes.
- Extension des systèmes centralisés.
- Deux techniques utilisées pour la communication : envoi de messages ou appel de procédures à distance.
Interconnexion de systèmes homogènes
- Partage de ressources entre utilisateurs distribués sans contrôle d'un serveur unique.
- Les systèmes utilisés sont homogènes (mêmes systèmes).
- Ressources partagées typiquement sont les fichiers.
- Facilement isolable à l'intérieur d'un système, le SGF(système de gestion de fichiers), est plus visible aux utilisateurs et sert de base à d'autres applications.
- Une couche dites de connexion au dessus du SGF est ajoutée, avec une interface homogène à celle du SGF.
- Les appels distants sont interceptés par le système de connexion, permettant un accès transparent au fichier local, mais la désignation n'est pas transparente.
- Les fonctions liées à la répartition sont ajoutées au système existant, sans modifier la structure d'ensemble.
Systèmes intégrés
- Conçus dès le départ comme distribués.
- Les fonctions de base prennent en compte la répartition.
- Un noyau distribué, dupliqué sur chaque site, assure ces fonctions.
- Ces noyaux communiquent pour réaliser des tâches liées au système intégré.
- Un système unique rendant transparentes les caractéristiques physiques de la répartition aux usagers.
- L'approche micro-noyaux consiste en un ensemble minimal de services communs à toutes les machines.
- Comprend : gestion des processus, mémoire principale, gestion de la communication (connexion entre micro-noyaux) pour synchronisation, gestion primaire des périphériques.
- Les autres services sont offerts par des programmes spéciaux appelés serveurs : fichiers, imprimantes, bases de données.
- Toutes les machines ont le même noyau mais différent selon les serveurs installés
Objectifs des systèmes distribués
- Axes directeurs à fixer pour la mise en œuvre à cause complexité.
Connexion des utilisateurs et des ressources
- Objectif principal : accès et partage contrôlé et performant des ressources.
- Les ressources peuvent être de tout type.
- Avantage économique évident de la mise en commun de ressources.
- La connexion des utilisateurs et des ressources favorise la collaboration et l'échange d'informations.
Transparence
- Cache aux utilisateurs la dispersion des ressources et processus sur différentes machines.
- Inclut transparence d'accès, de localisation, de migration, de relocation, de réplication, de concurrence, de panne et de persistance.
Ouverture
- Un système distribué est ouvert s'il offre des services en accord avec des règles standards.
- Ces règles décrivent syntaxe et sémantique des services, en particulier pour la communication (protocoles).
- Les services sont décrits par des interfaces définies par un langage de définition d'interfaces (IDL).
- L'objet d'un service est décrit par la sémantique de l'interface.
- L'indépendance se situe entre l'interface et la manière de réaliser le service.
- L'interopérabilité et la portabilité font parties des aspects liés à la propriété d'ouverture.
Scalabilité
- Mesurée selon trois dimensions : ajout d'utilisateurs et de ressources, raccordement malgré les localisations géographiques, administration en présence de différentes organisations administratives.
- Implique de traiter les problèmes de latences, la distribution et la réplication d'applications.
Disponibilité
- La disponibilité permet d'accéder à des services et ressources quelles que soient les localisations géographiques des utilisateurs et l'état du système.
- Implique l'utilisation des méthodes de réplication et de tolérances aux pannes
Modèles et mécanismes de structuration des systèmes distribués
- Structuration des SD en groupes de processus (serveurs) coopérant pour offrir des services aux utilisateurs (clients).
Modèle client-serveur
- Utilise deux types d'entités : entité cliente (demande l'exécution d'un service) et serveur (fournit le service).
- Localisées sur des machines éventuellement distantes.
- Historiquement utilisé pour les premières applications distribuées : transfert de fichier, connexion à une machine distante, courrier électronique.
- Requête formulée sous forme d'un message spécifiant le type de service et les paramètres d'appel.
- Le serveur retourne une réponse ou une spécification d'erreur.
- La communication est en général synchrone.
Caractéristiques(Rémanences de données du serveur)
- Sans données rémanentes : le service n'utilise que les données d'entrée et n'engendre aucune modification.
- Situation la plus simple facilitant la tolérance aux fautes (ex: calcul d'une fonction mathématique).
- Avec données rémanentes : affecte le contexte local d'exécution, créant des difficultés en cas de panne (ex: serveur de base de données).
- Etat du client : Mémorisation ou non de l'état du client.
- Sans état : Le serveur ne mémorise pas.
- Deux appels successifs sont indépendants, l'ordre n'est pas important Avec état : Appels successifs s'exécutent en fonction d'états antérieurs. La préservation des ordres est indispensable(ex: utilisation d'un fichier en mode d'accès séquentiel).
Schémas d'organisation du système du coté serveur
- Organisation pour répondre aux exigences des clients.
- Schéma d'organisation est celui d'un processus cyclique.
- Si plusieurs services peuvent être offerts par le serveur, chacun est connu par un nom.
- Plusieurs demandes simultanées ne peuvent être servies que séquentiellement.
Processus coopérant créés préalablement
- Pour permettre la concurrence et satisfaire différentes requêtes, intéressent d'organiser le serveur de cette façon.
- Schéma classique : processus cyclique (veilleur) attend les requêtes des clients.
- Le veilleur active un processus pour réaliser le travail correspondant.
- Le veilleur envoie les paramètres nécessaires dans une boite aux lettres partagée.
- Processus est alors concerné pour ce service et peut réaliser n'importe quel service demandé.
Boite aux lettres par service
- Utiliser une boite aux lettres par service ou par groupe
- Chaque processus est dédié à un service(s) particulier(s).
Processus coopérant crées au besoin
- Le veilleur crée un processus au lieu d'activer un processus.
- Le nombre de processus en cours d'exécution peut évoluer selon la charge de requêtes qui arrivent.
- Chaque processus qui termine son travail se termine lui aussi.
- Plusieurs processus serveurs peuvent cohabiter sur un même site ou répartis sur plusieurs sites pour augmenter sa disponibilité et ses performances.
Appel de procédure à distance:
- Outil de base pour la construction de systèmes et applications distribués.
Définition de “Appel de procédure à distance”
- Etant donné un processus p et une procédure P :
- L’appel de procédure à distance permet au processus p, exécuté sur un site C, d’exécuter la procédure sur un site S
- Le but est d’assurer une transparence quant à la localisation.
Mécanisme
- Utilisation d'un processus s (ou serveur) qui exécute la procédure P sur le site appelé, S.
- Le processus client p reste bloqué pendant l'exécution de P et se réactive au retour de P : fonctionnement en co-routines.
Pour utiliser ce mécanisme, il est nécessaire de faire:
- La gestion de la création et de l'exécution du processus serveur
- L'éffectuation de la transmission des paramètres à l'appel et des résultats au retour
- La gestion de la différence éventuelle de languages entre d'autres sites
- La spécification du comportement de l'appel en cas de défaillance
Les talons ou stubs:
- Procédures pour mettre en œuvre l’appel de procédure à distance avec le principe de transparence.
- Le talon client(site appelant) fournit au processus client une interface identique à celle de la procédure appelée
- Le talon serveur(site serveur) réalise pour le processus serveur une interface identique à celle d’un appel local.
En absence de pannes, les fonctions talon client sont
- La mise de paramétres d'appel sous une forme qui permet le transport sur le réseau au site appelé (emballage)
- L'expédition du message vers le site appelé.
- La provocation du blocage du processus en attendant la réponse.
- L'extraction des résultats du message de réponse,
- L'éxecution du retour de procédure avec transmission des resultats
Du coté serveur
- L'existence d'un veilleur chargé de la création (ou du choix) du processus de réalisation de l'appel,
- Le processus serveur appelle le talon serveur qui exécute les étapes suivantes
- La détermination de la procédure appelée à partir du message reçu et déballer les paramètres
- L'éxecution de la procédur en passant les paramètres (appel local)
Suite talon serveur
- Sur le retour de cet appel, l'éxecution se poursuit sur le talon serveur qui va éxécuter les étapes suivantes; préparer le message de retour en emballant les éventuels résultats.
- envoyer le message de retour au site appelant.
- Le processus serveur termine son éxecution (autodestruction ou blocage )
Erreurs
-
L’opération d’emballage et de déballage nécessite la définition d’un format standart pour la représentation des paramétres(paramétres transmis par valeur vu que les sites sont différents)
-
Pour le traitements des erreurs:
-
L’occurence d’une erreur doit provoquer l’éxécution d’une pirocédure de traitement des exceptions au niveau du site appelant.
-
Au niveau du site serveur un signal d’exception est transmis au client en tant que paramétre de retour.
Modèle pair à pair (peer to peer
- Variante du modèle : client - serveur, le client joue le rôle du serveur et le serveur le rôle du client.
- Facilitation de l’échange d’objets entre utilisateurs sans avoir besoin de serveur intermédiaire : décentralisation des services pour assurer une haute disponibilité et faciliter le partage d’informations
- Les utilisateurs de ces applications ont les mêmes responsabilités
Environement peer to peer
- Localisation des applications sur des machines personnelles.
- Possibilité d'ouverture de session de dialogue réalisée indifféremment par une machine ou une autre,
- Applications fréquentes :
- Partage de ressources entre machines , ex téléchargements de fichiers de différents types
- Collaboration et éxecution d'un travail commun
- Messagerie instantanée : communication directe entre utilisateurs
- Peer to peer Computing : utilisation d’un ordinateur distant,lorsqu’il est inoccupé(utilisation du CPU)
- Partage de grandes masses d’informations
Les Architectures du modèle peer to peer :
Architecture décentralisée
- Architecture pure. les utilisateurs possédants le même logiciel peer to peer communiquent entre eux sans serveur intermédiaire et indexent leurs propres ressources.
Lors l’installation du logiciel Un ensemble d’adresses IP , ajouté à un groupe de collaboration déjà crée (peut être vide ), s’enrichi au fur et à mesure des recherches effectuées.
Processus accés à une ressource par un utilisateur:
- Envoi d’une requête à tous les utilisateurs du groupe.
- Si la ressource n’existe pas, ceux-ci font suivre la requête vers les autres utilisateurs et ainsi de suite.
Pour limiter la propagation des requêtes La requête est diffusée selon une profondeur définit par un TTL
La ressource
Peut suivre le chemin inverse de la requête ou être envoyée directement à la source. Un peer peut jouer les trois rôles suivants : client, serveur, routeur.
Les avantages de cette utilisation:
- Adaptation de l’architecture au dynamisme des peers et des ressources, ainsi qu'à la taille illimitée du système.
- Tolérance aux pannes assurée,
- Anonymat garanti.
Cependant
- Redondance de ressources
- Consommation excessive de la bande passante( limite la scalabilité ).
- Le temps de réponse ,très variable,ni garantie de succés de requêtes.
Solutions
- Structurer l’ensemble des pairs selon une topologie classique: architecture décentralisée structurée( limiter le temps de réponse,assurer la garantie de succés des requêtes ,améliorer la scalabilité……)
Architecture centralisée
- Basée sur la présence d’un serveur, commun à tous les pairs, possédant des ressources à partager dans un annuaire commun.
Le processus accés à une ressource par un utilisateur:
- Envoi d’une requête vers le serveur intermédiaire
- Le serveur retourne une liste de machines capables de fournir la ressource.
- Communication avec l’une des machines capables
Avantages: simplicité d’implémentation, temps relativement constant pour accés aux ressources, garatnie de succés de requêtes.
Inconvénients
- Présence d’un point unique de défaillance, manque de scalabilité et anonymat limité
- Pour régler ce probléme: multiplication des serveurs , organisés sous une topologie connue(anneau) .
Architecture hybride
- Sert à Bénéficier des avantages des deux architectures.
Constitution
- deux types de pairs : pairs ordinaires et super-peers.
- Choix des super-pairs de maniére statique ou dynamique ,en fonction de la capacité de stockage, bande passante
Chaque super-peer joue
- Le rôle d’un serveur centralisé à un groupe de pairs ,
- Indexation d’une partie des ressources du systéme:
- Organisation définies ou décentralisée des super-peers entre eux (ex : flooting limité entre super-pairs ) processus accés à une ressource par utilisateur si une ressource est requise par un pair :
Contacter le super-peer de rattachement à la ressource Puis recherche de cette ressource directement au niveau de son index.
En cas de probléme
- Il éxécute une recherche au niveau des autres super-pairs,
- Le peer joue en plus le rôle d’index de ressources.
L'avantage de cette architecture
- La répartition de charges entre super- pairs
- Le probléme est que chaque super peer présente un point de défaillance.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.