Plan
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 2
Motivations et objectifs
Systèmes distribués Généraliés 3
Dé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 4
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 5
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 6
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 7
Evolution 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 8
Domaines d’utilisation
Systèmes distribués Généraliés 9
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 10
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 11
Architecture
Systèmes distribués Généraliés 12
Vue macroscopique d’un SD
Utilisateurs
Applications
OS (services+noyau)
Matériel
Systèmes distribués Généraliés 13
Maté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 14
Les noeuds
Mainframe
Super-calculateur
Machine massivement parallèle (MPP)
Ordinateur personnel (PC)
Ordinateur réseau (NC)
...
Loi de Moore : La vitesse de traitement double
Systèmes distribués tous les 18 mois
Généraliés 15
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 16
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 17
Réseau (Géographie)
Wide Area Network (WAN)
Large échelle (Internet)
Latence plus importante
Exemple : Web
Systèmes distribués Généraliés 18
Topologie 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 19
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 20
Modèles et systèmes
d’exploitation
Systèmes distribués Généraliés 21
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 22
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 23
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 24
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 25
Modèles de communication
Systèmes distribués Généraliés 26
Modèles
Echange de messages
Partage de mémoire
Appel de procédure à distance (RPC)
Objets distribués
Systèmes distribués Généraliés 27
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 28
L’échange de messages (2)
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
Systèmes distribués Généraliés 29
L’échange de messages (3)
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
Systèmes distribués Généraliés 30
Le 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
Systèmes distribués
+ gestion des transactions
Généraliés 31
Remote Procedure Call (RPC)
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.
Systèmes distribués Généraliés 32
Objets distribués
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.
Systèmes distribués Généraliés 33
Propriétés et problèmes
Systèmes distribués Généraliés 34
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 35
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 36
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.
Systèmes distribués Généraliés 37