systèmes distribuésgénéraliés1 université du littoral - côte dopale systèmes distribués...
TRANSCRIPT
Systèmes distribués Généraliés 1
Université du Littoral - Côte d’Opale Université du Littoral - Côte d’Opale
Systèmes distribués
Généralités
L. Deruelle – N. [email protected]
Systèmes distribués Généraliés 2
PlanPlan
Motivations et objectifs Domaines d’utilisation Architecture Modèles et systèmes d’exploitation Modèles de communication Propriétés et problèmes Références bibliographiques
Systèmes distribués Généraliés 3
Motivations et objectifsMotivations et objectifs
Systèmes distribués Généraliés 4
DéfinitionsDéfinitions
Un système centralisé est un système dans lequel une seule UC peut travailler Exemple : Mini-ordinateurs ou mainframes
Un système distribué est un système dans lequel plusieurs UCs interconnectées travaillent ensemble NOWs (Networks of Workstations), ... Méta-systèmes : Machines parallèles, ...
Un logiciel distribué est un logiciel pouvant être exécuté dans un système distribué
Systèmes distribués Généraliés 5
Un peu d’historique ...Un peu d’historique ...
1945 - 1985 : Ordinateurs gros et chers Mini-ordinateurs : plusieurs milliers de dollars
Loi de Grosch : la puissance de calcul d’une UC est proportionnelle au carré de son prix En accord avec la technologie des systèmes centralisés
A partir de 1985 : développement rapide des microprocesseurs et des réseaux locaux (LAN)
Emergence des systèmes distribués
Systèmes distribués Généraliés 6
Motivations et objectifs (1)Motivations et objectifs (1)
Répondre aux besoins : Décentralisation imposée par la mondialisation Partage d’informations (économique) Puissance de calcul plus importante pour un
traitement plus efficace des informations Extensibilité pour suivre l’évolution des besoins des
entreprises et établissements Coopération d’applications patrimoines appartenant à
plusieurs organismes différents
Systèmes distribués Généraliés 7
Motivations et objectifs (2)Motivations et objectifs (2)
Evolution technologique du matériel informatique Croissance du ratio performance/prix des ordinateurs
Puissance de calcul comparable à celle de gros ordinateurs Prix nettement inférieur à celui des gros ordinateurs
Evolution technologique des réseaux (de plus en plus rapides et de moins en moins chers)
Réseaux haut débit : Myrinet, ATM, GigaEthernet, etc. Internet
Systèmes distribués Généraliés 8
Evolution du matérielEvolution du matériel
Evolutions – Capacité mémoire double chaque 1.5 an– La performance CPU double tous les 2 ans– La largeur du bus de données double tous les 5 ans– La vitesse de la DRAM double tous les 7 ans
Prévision : la performance des microprocesseurs respectera la loi de Moore en 2007
Systèmes distribués Généraliés 9
Domaines d’utilisationDomaines d’utilisation
Systèmes distribués Généraliés 10
Domaines d’utilisation (1)Domaines d’utilisation (1)
Gestion Décentralisation Coopération entre les différentes filiales Bases de données distribuées
Télécommunications Informatique mobile (mobile computing) Systèmes de sécurité très développés
Telemarketing & finances E-business Gestion de la bourse
Systèmes distribués Généraliés 11
Domaines d’utilisation (2)Domaines d’utilisation (2)
World Wide Web «Gros» document réparti
Metacomputing Calcul distribué sur internet Programme SETI@HOME (recherche d’extra-
terrestres : 2.400.000 ordinateurs)
Data Warehousing/Data Mining Hautes Performances Bases de données réparties larges et denses
etc.
Systèmes distribués Généraliés 12
ArchitectureArchitecture
Systèmes distribués Généraliés 13
Vue macroscopique d’un SDVue macroscopique d’un SD
Utilisateurs
Applications
OS (services+noyau)
Matériel
Systèmes distribués Généraliés 14
MatérielMatériel
SD = noeuds + réseau Noeuds
Noeud = puissance de calcul+mémoire Choix dépendant de la nature des applications Critères : coût, puissance, disponibilité, etc.
Réseau de communication Géographie Topologie Protocole de communication Critères : coût, bande passante, débit, etc.
Systèmes distribués Généraliés 15
Les noeudsLes noeuds
Mainframe Super-calculateur Machine massivement parallèle (MPP) Ordinateur personnel (PC) Ordinateur réseau (NC) ...
Loi de Moore : La vitesse de traitement double tous les 18 mois
Systèmes distribués Généraliés 16
Réseau (Géographie)Réseau (Géographie)
[Bus sur «chip»] [Bus sur carte mère] [Machines parallèles] Clusters
Même salle : 1-100m Bande passante : >= 1 Gb/s Exemples : Myrinet, GigaEthernet, etc.
Systèmes distribués Généraliés 17
Réseau (Géographie)Réseau (Géographie)
Local Area Network (LAN) Même bâtiment : 1-1000m Bande passante : 10-100 Mb/s Exemples : Ethernet, étoile, anneau, etc.
Metropolitan Area Network (MAN) Même ville : 0.1-100km Bande passante : 1-100 Mb/s et plus Exemples : FDDI, ATM
Systèmes distribués Généraliés 18
Réseau (Géographie)Réseau (Géographie)
Wide Area Network (WAN) Large échelle (Internet) Latence plus importante Exemple : Web
Systèmes distribués Généraliés 19
Topologie de connexionTopologie de connexion
Comment connecter les processeurs ? Comment l’échange d’informations est-il assuré ? Topologies
– Hypercube (nCube Hypercube, SGI Origin 2000)– Arbre (TMC CM-5)– Grille (Intel Paragon)– Mesh torique (Cray T3E)– Anneau (hiérarchie d’anneaux) (KSR-1)– Bus (NOW)– Topologies hybrides : réseaux complexes
Systèmes distribués Généraliés 20
Réseau (Protocole)Réseau (Protocole)
TCP/IP (Internet, réseau hétérogène) AppleTalk (Macintosh) IPX/SPX (Novell Netware) NetBios (IBM), NetBEUI (NetBios de Microsoft) DCE (Digital) ...
Systèmes distribués Généraliés 21
Modèles et systèmes d’exploitation
Modèles et systèmes d’exploitation
Systèmes distribués Généraliés 22
Modèles (1)Modèles (1)
Modèle station de travail-serveur Modèle «pool» de processeurs Modèle client/serveur Modèles hybrides ...
Systèmes distribués Généraliés 23
Modèles (2)Modèles (2)
Station de travail - serveur Matériel : stations de travail + réseau Quelques stations fournissent des services spéciaux Chaque station fournit une puissance de calcul locale
& un accès réseau
«Pool» de processeurs Matériel : terminaux + ordinateur virtuel unique Partage : puissance de calcul + ressources
Systèmes distribués Généraliés 24
Modèles (3)Modèles (3)
Client /serveur Serveur + ensemble de clients Serveur : fournit un ensemble de services Client : requêtes de services Echange de requêtes/réponses
Systèmes distribués Généraliés 25
Systèmes d’exploitation (3)Systèmes d’exploitation (3)
Deux classes d’OS NOS (Network Operating System) : OS classique +
couche réseau (ex : Windows NT, UNIX/NFS -
rlogin <machine>, rcp <machine1:fichier1> <machine2:fichier2>, etc.)
DOS (Distributed Operating System) : vrai système
distribué complètement transparent (ex : Amoeba)
Systèmes distribués Généraliés 26
Modèles de communicationModèles de communication
Systèmes distribués Généraliés 27
Echange de messages Partage de mémoire Appel de procédure à distance (RPC) Objets distribués
ModèlesModèles
Systèmes distribués Généraliés 28
L’échange de messages (1) L’échange de messages (1)
Modèle sans espace d’adressage partagé
Basé sur l’utilisation de messages Application distribuée = ensemble de processus
communiquant par échange de messages Echange d’un message m entre P1 (M1) et P2 (M2)
Emballage des données dans la machine M1 Transmission de m (à travers le réseau) Déballage de m dans la machine M2 et traitement de m
Systèmes distribués Généraliés 29
Modes de communication Synchrone Asynchrone Synchrone différée
La performance du modèle dépend de plusieurs facteurs : Débit du réseau : vitesse de transmission des messages Latence du réseau : nombre de messages pouvant
passer dans le réseau en même temps Puissance des machines (puissance du processeur,
taille des buffers, etc) : emballage et déballage
L’échange de messages (2) L’échange de messages (2)
Systèmes distribués Généraliés 30
Les librairies de communication les plus utilisées : Parallel Virtual Machine ou PVM (Dongarra, Mancheck,
Geist et al.) Message Passing Interface ou MPI (Mancheck , Geist,
et al.)
PVM et MPI sont des standards de facto
L’échange de messages (3) L’échange de messages (3)
Systèmes distribués Généraliés 31
Le partage de mémoireLe partage de mémoire
Modèle basé sur l’utilisation d’un espace mémoire partagé en mémoire centrale ou sur disque visible et accessible par plusieurs processus en même
temps pour coopérer
Problème de synchronisation et de cohérence de données
Deux types de modèles : Threads, modèle à espace de tuples (ou modèle LINDA) Glenda : implémentation sur PVM JavaSpaces : Notification + gestion des transactions
Systèmes distribués Généraliés 32
Application distribuée = Ensemble de procédures réparties
Exécution Appel de procédures à distances Procédures exécutées par un serveur Le serveur fournit : nom, numéro de version et
localisation de la procédure Liaison dynamique par le client via les pages jaunes, un
serveur de noms DNS, etc.
Remote Procedure Call (RPC)Remote Procedure Call (RPC)
Systèmes distribués Généraliés 33
Application distribuée = ensemble d’objets répartis (fournisseurs de services)
Les services sont demandés par des clients connaissant le contrat
Les objets sont implantés par un ou plusieurs serveur(s)
Exemples : CORBA, Java/RMI, DCOM, etc.
Objets distribuésObjets distribués
Systèmes distribués Généraliés 34
Propriétés et problèmesPropriétés et problèmes
Systèmes distribués Généraliés 35
Problèmes & propriétés (1)Problèmes & propriétés (1)
Efficacité Délais de communication
De quelques µs à quelques ms, voire quelques secondes
Causes Propagation des données Surcoût (Overhead) des protocoles de communication Régulation de charge
Hétérogénéité Deux niveaux : matériel & OS
Format XDR, ... Langages tels que Java
Systèmes distribués Généraliés 36
Problèmes & propriétés (2)Problèmes & propriétés (2)
Consistance Absence d’un état global Echec de composants répartis
Robustesse Tolérance aux fautes
Checkpointing, ...
Gestion des situations d’erreur Changement de la topologie du système Délai des messages lents Impossibilité de localiser le serveur
Sécurité pour les utilisateurs et le système
Systèmes distribués Généraliés 37
Problèmes & propriétés (3)Problèmes & propriétés (3)
Transparence des ressources : plein d’illusions ... Localisation Migration (pas de changement de noms) Réplication (nombre de copies non connu) Concurrence (illusion d’être seul) Parallélisme
Extensibilité (scalability) Réplication Distribution Caching Problème : consistance
etc.