1 / 318

Systèmes distribués

Systèmes distribués. Christine MORIN IRISA/Université de Rennes 1 Projet INRIA PARIS Campus universitaire de Beaulieu 35 042 Rennes cedex (France) Christine.Morin@irisa.fr http://www.irisa.fr/paris. Plan du cours. Introduction Synchronisation Communication Gestion de la mémoire

darius
Télécharger la présentation

Systèmes distribués

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Systèmes distribués Christine MORIN IRISA/Université de Rennes 1 Projet INRIA PARIS Campus universitaire de Beaulieu 35 042 Rennes cedex (France) Christine.Morin@irisa.fr http://www.irisa.fr/paris

  2. Plan du cours • Introduction • Synchronisation • Communication • Gestion de la mémoire • Pagination en mémoire distante • Mémoire virtuellement partagée • Gestion des fichiers • Système de gestion de fichiers distribués • Système de gestion de fichiers parallèles • Gestion des processus • Sécurité • Haute disponibilité

  3. Chapitre 1 Introduction

  4. Introduction • Naissance des systèmes distribués • Avantages et inconvénients des systèmes distribués • Architecture matérielle • Conception de logiciel pour les systèmes distribués • Evolution du domaine • Applications • Axes de recherche

  5. Naissance des systèmes distribués • 1945 • début de l’ère moderne des ordinateurs • Jusqu’en 1985 • époque des grands calculateurs centralisés très coûteux • Début des années 80 • Avènement des micro-ordinateurs • Micro-processeurs puissants produits en quantité (faible coût) • Réseaux locaux (LAN) • Interconnexion d’un grand nombre de machines • Transfert d’informations à 10 Mbits/seconde • Technologies : Ethernet (Xerox), Token Ring (IBM) • Il devient facile d’interconnecter des ordinateurs • Système distribué • Quel logiciel pour les systèmes distribués ?

  6. Avantages des systèmes distribués • Par rapport aux systèmes centralisés • économique • excellent rapport performance/prix des microprocesseurs • puissance de calcul • un système pluri-processeur offre une puissance de calcul supérieure à celle d ’un seul processeur • distribution naturelle de certaines applications • système de contrôle d’une chaîne de production • distribution géographique d ’agences bancaires • haute disponibilité • la défaillance d ’une machine n’affecte pas les autres • évolution progressive

  7. Evolution de la technologie des processeurs

  8. Avantages des systèmes distribués • Par rapport à des postes de travail indépendants • partage de données entre les utilisateurs • exemple : système de réservation aérienne • partage de périphériques coûteux • exemple : imprimante laser couleur, périphériques d’archivage • facilitation des communications entre personnes • courrier électronique • communication asynchrone • modification possible des documents échangés • flexibilité (distribution de la charge)

  9. Inconvénients des systèmes distribués • Logiciel • relativement peu d’expérience de conception, mise en œuvre et utilisation de logiciels distribués • la distribution doit elle être transparente aux utilisateurs ? • Réseau de communication • saturation • perte de messages • Sécurité • facilité de partage de données rend nécessaire la protection des données confidentielles

  10. Architecture matérielle Système distribué • ensemble de processeurs interconnectés Différentes architectures selon • le médium de communication • la façon dont les processeurs communiquent

  11. Ordinateurs parallèles ou distribués (MIMD) Multiprocesseurs (mémoire partagée) Multicomputers (mémoire privée) Réseau Réseau Bus Bus Architecture matérielle Système distribué = architecture MIMD dans la classification de Flynn’s Architectures faiblement couplées Architectures fortement couplées Sequent, Encore RP3 Réseaulocal Hypercube

  12. Mémoire partagée Bus Caches P1 P2 P3 P4 Processeurs Multiprocesseur à mémoire partagée fondé sur un bus

  13. Multiprocesseur à mémoire partagée fondé sur un réseau • Multiprocesseur à mémoire partagée • Processeurs reliés aux modules mémoire par un switch de type crossbar ou omega • Multiprocesseur extensible à mémoire partagée • mémoire distribuée adressable à distance, réseau d’interconnexion rapide point à point • NUMA (CC-NUMA, COMA) • De la mémoire est associée à chaque processeur. Un processeur accède très rapidement à sa portion de mémoire mais accède avec une latence plus élevée à la mémoire des autres processeurs (Non Uniform Memory Access). • Problème de placement des données et des calculs

  14. Multicomputer fondé sur un bus Réseau local de stations de travail Bus (LAN) Mémoire locale Processeur

  15. Multicomputer fondé sur un réseau • Multiprocesseur à mémoire distribuée • Nœuds de calcul reliés par un réseau d’interconnexion • Intel Hypercube, Paragon (grille) • Chaque processeur possède sa propre mémoire privée

  16. Terminologie • Système parallèle • Système distribué utilisé pour l’exécution d’une application gourmande en calcul et/ou mémoire • Multiprocesseurs à mémoire partagée et multicomputers fondés sur un réseau • Système distribué • Système distribué dans une utilisation pour de plusieurs tâches indépendantes • Réseaux de stations de travail • La frontière n’est pas très nette … • les grappes (clusters)

  17. Ressources de calcul partagées :Processeurs, Mémoire, Disques Interconnexion Garantie d’une station de travail par personne (active) Utilisation globale des ressources à certains moments Réseau de stations de travail (grappe non dédiée)

  18. Grappe de calculateurs dédiée

  19. Systèmes de communication rapide standard • Fibre optique • FCS (Fiber Channel Standard) • ATM (Asynchronous Transmission Mode) • SCI (Scalable Coherent Interface) • 100 Mo/s • … 1 Go/s • dépassement de la vitesse des communications entre processeurs dans un SMP • Myrinet • GigabitEthernet

  20. Des technologies d’interconnexion

  21. Système distribué à grande échelle • Fondé sur un réseau longue distance E Internet A D B Site C Passerelle (routeur) Réseau physique

  22. Conception de logiciel pour les systèmes distribués • Importance du système d’exploitation • Donne l’image de la machine pour l’utilisateur • Influence la façon de programmer la machine • Système d’exploitation entre l’architecture matérielle et les applications • Système d’exploitation pour un système distribué dépend • de l’architecture sous-jacente • des applications à exécuter • Applications indépendantes • Applications parallèles • Système d’exploitation • Faiblement couplé • Fortement couplé

  23. Système d’exploitation pour système distribué • Multiprocesseurs à mémoire partagée • Système d’exploitation à temps partagé de type Unix • Plusieurs processeurs au lieu d’un seul • Illusion d’une machine mono-processeur pour l’utilisateur • Une seule copie du système d’exploitation sur la machine • Un processus peut s’exécuter sur n’importe quel processeur de la machine • Une file des processus prêts à s’exécuter conservée en mémoire partagée • Synchronisation pour l’accès aux structures de données partagées du noyau • Section critique pour l’exécution de l’ordonnanceur qui gère la file des processus prêts • Communication par mémoire partagée

  24. Système d’exploitation pour système distribué • Multicomputers • Système d’exploitation faiblement couplé (network operating system) • Indépendance des machines • Un programme peut s’exécuter localement sans le réseau • Réseau permet le partage de ressources entre une communauté d’utilisateurs • Imprimante, serveur de fichiers • Connexion à distance • Une copie du système d’exploitation sur chaque machine • Système standard + services distribués (exemple NFS) • Hétérogénéité • Modèle client/serveur • Communication par fichiers partagés • NOW, Internet, GRID (Grands Systèmes Informatiques Distribués)

  25. Système d’exploitation pour système distribué • Système intégré • Vision d’une machine unique (Single System Image) • Machine uni-processeur virtuelle • La multiplicité des ressources et leur distribution doivent être transparentes pour l’utilisateur • Nœuds anonymes • Un même système d’exploitation s’exécute sur chaque machine • Chaque machine possède sa copie locale du système d’exploitation • Communication par messages • Grappes de calculateurs

  26. Objectif du cours • Architecture matérielle • Multicomputer • Réseau local de stations de travail • Grappe de calculateurs • Internet • Système d’exploitation • Services distribués dans un environnement de type réseau local • Systèmes à image unique • Notre définition d’un système d’exploitation distribué

  27. Système à image unique(Single System Image) • Architecture matérielle • Ensemble de ressources physiques (mémoire, disque, processeur) distribuées sur différents nœuds • Mise en œuvre de ressources logiques (segment de mémoire virtuelle, fichier, processus) • Transparence • Partage • Extensibilité • Haute disponibilité

  28. Transparence • Méthode d’accès aux ressources logiques indépendante de leur localisation • Exemple : accès aux fichiers locaux et distants • Migration des ressources logiques sans modifier la méthode d’accès • Exemple : migration d’un fichier sans changement de nom

  29. Partage • Partage logique • Ressources logiques peuvent être partagées par des applications sans modifier la méthode d’accès • Exemple : partage d’un fichier, partage d’un segment de mémoire virtuelle • Sémantique d’accès aux ressources bien définie en présence de multiples utilisateurs • Transparence de la concurrence • Partage physique • Partage des ressources physiques des nœuds entre plusieurs applications • Possibilité pour une application d’utiliser des ressources physiques situées sur différents nœuds • Transparence du parallélisme

  30. Extensibilité • Extensibilité des performances • L’augmentation des ressources physiques conduit à une augmentation des performances globales du système • Décentralisation • Aucun nœud ne connaît l’état global du système • Chaque nœud doit prendre des décisions en fonction des informations disponibles localement • La défaillance d’un nœud ne doit pas empêcher le bon fonctionnement du système • Il n’existe pas d’horloge globale dans le système • Transparence de la réplication • Les multiples copies d’une donnée gérées par le système d’exploitation doivent être transparentes pour les utilisateurs

  31. Extensibilité • Transparence à l’extensibilité • Ajout de nouveaux nœuds • Retrait (prévu) de nœuds • Intégration ou suppression de ressources sans arrêt du système et sans perturbation pour les applications en cours d’exécution • Gestion dynamique des ressources • Reconfiguration du système

  32. Haute disponibilité • Haute disponibilité • Défaillance d’un nœud n’entraîne pas l’indisponibilité du système sur les autres nœuds • Seules les applications utilisant les ressources physiques du nœud défaillant peuvent être perturbées. • Il reste possible de lancer de nouvelles applications sur la grappe, privée du nœud défaillant • Reconfiguration du système • Reprise d’applications • Pas de perte des ressources logiques • Point de reprise d’applications

  33. Flexibilité • Possibilité d’ajouter de nouveaux services • Deux approches dans la conception des systèmes d’exploitation distribués • Système monolithique • Chaque nœud met en œuvre localement les différents services • Micro-noyau • Système d ’exploitation conçu comme un ensemble de serveurs en mode utilisateur au dessus du micro-noyau • Micro-noyau met en œuvre les fonctions de base et réalise l’interface avec le matériel • Communication inter-processus • Serveurs réalisent les fonctions classiques d’un système d ’exploitation • gestion mémoire • gestion de fichiers • gestion des processus

  34. Evolution du domaine • Facteurs d’évolution • Evolution de la demande et des moyens • Besoin des utilisateurs • nouvelles applications (multimédia, mobilité, …) • Evolution technologique • informatique • réseau • Globalisation des systèmes d’information • facteur d’échelle

  35. Progrès technologiques • Architecture matérielle des machines • vitesse des processeurs • capacité d’adressage • capacité mémoire et disque • Réseaux • débit (ATM) • connectivité (réseaux mobiles) • Systèmes • systèmes ouverts (standard) • micro-noyaux et systèmes spécialisés

  36. Impact des progrès technologiques • Grand espace d ’adressage et réseaux haut débit • mémoire virtuelle répartie • partage d’informations complexes selon différents degrés de cohérence • Disques de grande taille, réseaux haut débit et connectivité • Web • GRID

  37. Facteurs d’échelle • Système réparti de grande taille • Nombre d ’entités • nombre d ’éléments constituants • nombre d ’utilisateurs • nombre et taille des informations • Complexité • Etendue géographique • Besoins • extensibilité (désignation, localisation, recherche d ’information, communication) • maîtrise de la complexité

  38. Effets des facteurs d’échelle • hétérogénéité • cohérence des informations • composition du système à un instant donné • défaillance ou indisponibilité de sous-systèmes • mobilité des machines, utilisateurs et informations

  39. Problèmes liés à la taille du système • Désignation • abandon des identificateurs universels • usage de caches • Performance et qualité de service • Disponibilité • réplication • Sécurité • authentification, cryptographie • Administration • complexité et hétérogénéité

  40. Applications • Applications scientifiques • Calcul parallèle • Besoin de puissance de calcul et de mémoire • Minimisation du temps de réponse • Partage de mémoire sur une architecture à mémoire distribuée (mémoire virtuellement partagée) • Applications coopératives • Système de réservation de places d’avion • Système de gestion d’agences bancaires • Applications multimédias

  41. Applications • Applications multimédias • gestion simultanée d’informations de nature différente : son, image, texte avec une synchronisation de différents flux d’informations • applications orientées grand public • abonnement et équipement dédiés chez les abonnés • Exemples • vidéo à la demande (magnétoscope virtuel) • réunion virtuelle (communication et partage d’information) avec stations de travail multimédias • commerce électronique, presse électronique

  42. Applications • Besoins • qualité de service • temps réel mou • disponibilité • sécurité • qualité des informations transmises (son, image) • solutions fondées sur des techniques de réservation de ressources et l’utilisation de réseaux à haut débit • synchronisation multi-utilisateur • communication de groupe • cohérence de l’information traitée (tableau virtuel)

  43. Applications • Courrier électronique et le Web • mise en relation entre un ou plusieurs utilisateurs identifiés ou non • échange d ’informations • consultation de données multimédias • Problématique • désignation (système extensible) • grand nombre d’utilisateurs • hétérogénéité • réseaux • systèmes d’exploitation et des logiciels

  44. Applications • Solutions • protocole IP indépendant des architectures sous-jacentes • transparence de la localisation des informations accédées • affichage standard de l’information (HTML) • réseaux à haut débit et nœuds de routage performants

  45. Applications • Applications temps réel dur • systèmes temps réels à sûreté critique • exemples • systèmes embarqués : avionique, automobile, ... • Problématique • respect des échéances temporelles • défaillance catastrophique en cas de non respect des échéances • Solutions • modèle de tâches • comportement prévisible, temps d ’exécution maximal • algorithmes d ’ordonnancement • tests de faisabilité

  46. Axes de recherche • Architecture des systèmes • nano-noyaux • système pour les nouvelles architectures parallèles (multiprocesseurs extensibles) • Systèmes distribués pour des réseaux à très haut débit (100 Mbits/s à 1 Gbits/s) • Systèmes pour grappes • multiprocesseur virtuel • serveur extensible pour les services grand public • Systèmes distribués à très grande échelle • intégration des réseaux de télécommunication • Internet • GRID (Middleware)

  47. Axes de recherche • Systèmes distribués incluant des sites mobiles construits avec des réseaux sans fil • Ubiquité • Mobilité des calculs, données, utilisateurs, machines • Support pour le travail coopératif • multimédia, communication de groupe, cohérence • Tolérance aux fautes • disponibilité et temps-réel • Environnements de développement d’applications réparties • architecture logicielle (composants)

  48. Bibliographie • Construction des systèmes d’exploitation répartis, R. Balter, J.-P. Banâtre, S. Krakowiak éditeurs, INRIA collection didactique, 1991. • Modern Operating Systems, A. Tanenbaum, Prentice-Hall International Editions, 1992. • [Rozier et al 1988]Chorus Distributed Operating Systems, Computing Systems, Vol 1, No 4, octobre 1988. • [Accetta et al 1986]Mach : a new kernel foundation for Unix Development, Proc of Usenix Summer conference 1986. • [Cheriton 1988]The V Distributed System, Communications of the ACM, Vol 31, No3, 1988.

  49. Chapitre 2 Synchronisation

More Related