1 / 37

Architecture des systèmes distribués

Architecture des systèmes distribués. Sana Younes Dridi younessana@yahoo.fr. Définition et Objectifs. Système d’exploitation distribuée : c'est un système qui possède plusieurs processeurs coopérants Coût : plusieurs processeurs à bas prix

polly
Download Presentation

Architecture des 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. Architecture des systèmes distribués Sana Younes Dridi younessana@yahoo.fr

  2. Définition et Objectifs • Système d’exploitation distribuée: c'est un système qui possède plusieurs processeurs coopérants • Coût: plusieurs processeurs à bas prix • Puissance de calcul et de stockage : aucune machine centralisée ne peut rivaliser • Performance (accélération) : via du calcul parallèle • Adaptation : à des classes d'applications réelles naturellement distribuées • Fiabilité : résistance aux pannes logicielles ou matérielles • la panne d'un composant n'affecte qu'une machine et laisse les autres en état de fonctionnement • Extensibilité : croissance progressive selon le besoin • Les systèmes centralisés permettent difficilement un développement graduel si la charge de travail de l ’entreprise augmente et il faut remplacer un gros ordinateur par un autre plus puissant.

  3. Avantages et inconvénients • Avantages • partage de données: de multiples utilisateurs peuvent accéder à une base de données partagée • partage de périphériques: de multiples utilisateurs peuvent partager des périphériques chers tels que des imprimantes couleurs • souplesse (politiques de placement): permet d’exécuter un travail sur la machine la plus disponible • Inconvénients • complexité: les systèmes distribuées sont plus complexe que les systèmes centralisés • logiciels : il faut un intergiciel (middleware) • réseaux : saturation et délais • sécurité : piratage

  4. Exemples de systèmes distribués – Intranet

  5. Cont. Intranet = portion d'internet • administrée séparément • possède une frontière configurable pour appliquer les politiques de sécurité locales • souvent composé de plusieurs LAN (Local Area Network) interconnectés • un intranet est connecté à l’Internet via un « router » • de l ’intranet vers l ’extérieur • de l ’extérieur vers l ’intranet • Un coupe-feu (firewall) sert à protéger un intranet en empêchant les messages non autorisés de sortir ou d’entrer

  6. 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

  7. Classification de Flynn (1972) La classification de Flynn répartit les machines en quatre catégories selon : • Flot d’instruction : • séquence d’instruction exécutée par la machine • Flot de données : • séquence des données appelées par le flux d’instructions

  8. Architecture matérielle • 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 • MISD : multiples flux d'instruction et un seul flux de données • MIMD : multiples flux d'instruction et de multiples flux de données. L'architecture parallèle la plus utilisée

  9. SISD • Tous les ordinateurs traditionnels monoprocesseurs: c'est-à-dire ceux qui n'ont qu'une seule UC

  10. SIMD • Une seule unité de contrôle et plusieurs processeurs reliés par réseau • Chaque processeur exécute de façon synchrone la même instruction mais travaille sur des données différentes • 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. • Cas classique: additionner les coordonnées de 64 vecteurs indépendant

  11. MISD • Plusieurs flots d ’instructions et un seul flot de données. • Architecture pipeline • Le traitement est exécuté en plusieurs étapes sur une même donnée

  12. MIMD • Plusieurs flot d ’instructions et plusieurs flot de données • 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 étant du type MIMD

  13. MIMD 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

  14. Multiprocesseurs vsMulticalculateurs • 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.

  15. Multiprocesseurs vsMulticalculateurs

  16. multiprocesseurs • 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 • Un réseau d'interconnexion relie les composants mémoire et les processeurs; • Problème: • la latence des accès mémoire; • la coordination des accès à une variable partagée

  17. Multiprocesseurs sur Bus • Un certains nombre d'UC sont connectés à un bus • La lecture (ou l'écriture) se fait en mettant l'adresse du mot mémoire sur le bus et en déclenchant le signal approprié (Lecture ou Ecriture) • Accès séquentiel: un seul processeur à la fois peut accéder au bus, et donc à la mémoire: besoin de mémoire cache • Le cache conserve les mots mémoire auxquels on a récemment fait accès: 90%, si le cache est assez grand 64 KO à 1 Mo.

  18. Multiprocesseurs sur réseau (commutés) • La mémoire est divisée en modules que l'on relie aux UC’s par une matrice de commutation (crossbarswitch) • Chaque UC et chaque module mémoire dispose d'une ligne d'interconnexion. • A chaque intersection, un élément électronique, • le nœud de commutation (crosspointswitch), peut être ouvert ou fermé par le matériel. • L'intérêt de cette matrice de commutation est que plusieurs UC peuvent accéder en même temps à la mémoire;

  19. Multiprocesseurs sur réseau (commutés) • Processeurs reliés aux modules mémoire par un switch de type: • crossbar (NxN nœuds de commutations) ou • omega(log2(N) étage)

  20. Multicalculateurs/multicomputers • Chaque UC est directement reliée à sa propre mémoire locale. • un réseau d'interconnexion gère les échanges entre UC. • Communication via messages • Contrairement aux Multiprocesseurs, le délai de transmission d'un message est long et le débit de transmission est faible. • Multicalculateurs à bus : même architecture que multiprocesseur à bus. Les calculateurs peuvent être des stations de travail, reliées par un réseau Local d'entreprise (LAN); • Multicalculateurs sur réseau: treillis ou hypercube

  21. Multicalculateur à bus

  22. Topologie en treillis

  23. Topologie Hypercube

  24. meta calculateur • Multicalculateurs faiblement interconnectés au dessus d’ un réseau Internet (IP): • Cluster (grappe) • Nœud = système unique ou multiprocesseur • Nœuds peuvent être dans le même local ou géographiquement séparés et connectés via un LAN • Besoin d'une couche logiciel (intergiciel cluster) • Grilles: Infrastructures réparties composées d’un ensemble de machines hétérogènes et potentiellement distantes • Milliers de machines (Grid5000), utilisées pour Calcul intensif

  25. Cloud computing • Le Cloud Computing, ou « informatique dans les nuages », est un système qui consiste à proposer les services informatiques sous forme de services à la demande, accessibles de n'importe où, n'importe quand et par n'importe qui. • Le cloud, nuage en anglais, symbolise Internet. On aurait donc mieux fait de parler d'Internet computing au lieu de cloudcomputing. Internet a toujours été représenté graphiquement par le symbole d'un nuage

  26. Cont. • Il n'y a pas de date-clé à laquelle nous puissions dire que le Cloud Computing est né ! • Un réseau comme Internet est constitué d'une multitude de systèmes fournissant des services et des informations. Le Cloud Computing est dans cette lignée : un ensemble de services et de données consommables • Le cloudcomputing est un concept de déportation sur des serveurs distants des traitements informatiques traditionnellement localisés sur le poste client.

  27. Cont. • Il consiste en une interconnexion et une coopération de ressources informatiques, situées au sein d'une même entité ou dans diverses structures internes, externes ou mixtes, et dont le mode d'accès est basé sur les protocoles et standards Internet • Pour vulgariser, le Cloud Computing peut être perçu comme un système d'exploitation distribué sur des milliers de machines. Cet OS distribué, que l'on représente par ce fameux nuage, assure l'abstraction de l'infrastructure (matérielle, réseau, etc.) et a pour rôle d’héberger et d’exécuter des applications ou des services mais aussi de stocker des données

  28. Cont. • Il constitue une forme de sauvegarde de fichiers. Il permet, en outre, de travailler sur un même document depuis plusieurs postes de travail (plusieurs personnes ou un nomade en déplacement) de natures diverses (ordinateur portable ou fixe, tablette ou smartphone). • Son inconvénient est l'absence de contrôle du propriétaire des documents sur le stockage et même sur leur localisation géographique

  29. Cont. • Système réparti dans lequel les clients utilisent des services déportés sur un ou plusieurs serveurs distants, sans avoir à administrer ces services ni les machines qui les supportent • Les services proposés par le Cloud peuvent s’exécuter au sein d’architectures cluster • Trois modèles: • IaaS (Infrastructure as a Service) • PaaS (Platform as a Service) • SaaS (Software as a Service)

  30. L’infrastructure comme un service (IAAS) • L’infrastructure fournit des capacités de calcul et de stockage. • Les serveurs, systèmes de stockage, commutateurs, routeurs et autres équipements, sont mis à disposition pour gérer une charge de travail demandée par les applications. • L'infrastructure comme un service ou IaaS, permet de disposer d'une infrastructure à la demande, pouvant héberger et exécuter des applications, des services ou encore stocker des données.

  31. La plateforme comme un service (PAAS) • La plate-forme comme un service est la plate-forme d’exécution, de déploiement et de développement des applications. • fournit une plate-forme intégrant le système d'exploitation (OS), la couche middleware et celle applicative qui sont fournies ensuite au client comme un service. • Le PaaS met à disposition des environnements prêts à l’emploi, fonctionnels et performants.

  32. Le logiciel comme un service (SAAS) • La dernière couche du SaaS est celle applicative mettant à disposition des applications complètes fournies à la demande. • différents types d'applications: gestion des ressources humaines, comptabilité, messagerie et d'autres applications métiers. • L'accès se fait en ligne et ne nécessite pas d'installation sur l'ordinateur local • Le déploiement, la maintenance, la supervision du bon fonctionnement de l'application et la sauvegarde des données, sont alors de la responsabilité du fournisseur de services

  33. Avantages vs. inconvénients Avantages de cloud: • Un modèle « Utility », paiement à l’usage • Déploiement rapide, « Juste à temps » et une consommation à la demande • Objectif de réduction des coûts (équipe de maintenance) • Abstraction de l'infrastructure Inconvénients de cloud: • Où sont vos données? Où sont vos serveurs ? quelque part dans les nuages. • Comment gérer la sécurité de vos serveurs ? Comment gérer la protection des données personnelles ?

  34. Cloud privé et publique • Cloud privé: • Les ressources physiques peuvent être hébergées dans une infrastructure propre à l'entreprise • Le contrôle et le déploiement des applications sont à la charge de l'entreprise. • Cloud publique: • est un service IaaS, PaaS ou SaaS proposé et hébergé par un tiers. • Amazon, Google et Microsoft proposent un Cloud publique dans lequel n'importe quel particulier ou n’importe quelle entreprise peut y héberger ses applications, ses services ou ses données. • Pour les consommateurs, il n'y a aucune limite de capacité.

  35. Cloud hybride • Utilisation de plusieurs Clouds, publiques ou privés. • Exemple: • déporter nos applications vers un Cloud publique qui consommera des données stockées et exposées dans un Cloud privé, • ou bien faire communiquer deux applications hébergées dans deux Clouds privés distincts, • ou encore consommer plusieurs services hébergés dans des Cloud publiques différents.

  36. Cloud de google En 2008, Google a lancé son Cloud public orienté pour les services Web offrant: • Une plate-forme (PaaS) nommée Google AppEngine • met à disposition sur les Clusters de serveurs de Google appelés des « Sandbox » et dans lesquelles pourront s'exécuter des applications Java ou Python. • Ces sandbox sont réparties sur plusieurs noeuds de serveurs en fonction de la charge.. • Une SAAS nommée google APP: • Google met à disposition plusieurs applications personnalisables par le client. • Cette offre inclut un service de messagerie identique à Gmail mettant à disposition 25 Gb d’espacedestockage par utilisateur, une application d'agenda • On y trouve aussi « Google Document », une suite bureautique Web permettant le stockage et l'édition de documents, de feuilles de calcul, de schémas ou de présentations.

  37. Exemple • Vous êtes sur Internet, vous voudriez envoyer une photo et utiliser les outils de retouche enligne pour la modifier, vous aurez alors participé à ce mouvement de cloudcomputing. Comment? • La photo sera probablement stockée sur un site qui utilise le service de virtualisationIaaS pour ses serveurs de données, celui de PaaS pour le logiciel qui vous permet de retoucher votre photo, et des applications SaaS que vous utiliserez pour accéder à votre compte email, ou votre site de réseau social pour publier votre photo et la partager avec vos amis

More Related