Pdist1 Slides
Pdist1 Slides
programmation distribuée
Nhan LE THANH
Cours LpSIL – Spécialité IDEE
Octobre 2004
Plan du cours
I. États de l’art III. Systèmes pair à pair
1- Objectifs, caractéristiques 1- Principes et composantes
2- Communication en réseaux 2- Calcul distribué Pair à Pair
3- Structures logiques 3- Échange de données Pair à Pair
4- Problématique 4- Étude de cas
5- Développement, déploiement 5- Problématique et évolution
1
Part 1: Etat de l’art
Plan
1- Objectifs, caractéristiques
2- Communication en réseaux
3- Structures logiques
4- Problématique
5- Développement, déploiement
I. États de l’art
1. Objectifs, Caractéristiques
Définitions générales :
processeur
Site1
Prog1 Prog2
processeur
processeur
Traitements
Site2
coopérants
Site3 Site4
Prog4 Prog3
processeur
Données réparties
SYSTÈME DISTRIBUÉ =
SYSTÈME POSSÈDANT PLUSIEURS PROCESSEURS COOPÉRANTS ET TRAITANT
DES DONNEES REPARTIES
2
I. États de l’art
1. Objectifs, Caractéristiques
Définitions générales
I. États de l’art
1. Caractéristiques générales
Pourquoi des systèmes répartis
Aspects économiques
Adaptation de la structure d’un système à celle
des applications
Besoin d’intégration
Besoin de communication et de partage
d’information
Réalisation de systèmes à haute disponibilité
Partage de ressources (programmes, données,
services)
Réalisation de systèmes à grande capacité
d’évolution
3
I. États de l’art
1. Objectifs, Caractéristiques
Objectifs, Avantages et inconvénients:
OBJECTIFS
- Coût : plusieurs processeurs à bas prix
- Puissance de calcul : aucune machine centralisée peut réaliser
- Performance : calcul parallèle
- Adaptation : à des classes d'applications réelles naturellement distribuées
- Fiabilité : résistance aux pannes logicielles ou matérielles
- Extensibilité : croissance progressive selon le besoin
Avantages Inconvénients
I. États de l’art
1. Objectifs, Caractéristiques
Caractéristiques générales
Ensemble d’éléments (traitement, stockage)
Processeurs, mémoires, organes d’E/S
Système d’interconnexion
Intégration (vue globale uniforme)
"Transparence"
Défaillances locales possibles sans compromettre
nécessairement l’ensemble du système
État commun (partition + duplication)
Coopération à une tâche commune
Redondance permettant la reprise après erreur
locale
4
I. États de l’art
1. Objectifs, Caractéristiques
Problématique
Applications
Méthodes et
Outils de
modélisation
Modèles d’exécution
Services systèmes
communication, RPC, sécurité, ...
Réseaux d’interconnexion
I. États de l’art
1. Objectifs, Caractéristiques
Champs d’application
CFAO, Ingénierie simultanée
Coopération d’équipes pour la conception d’un
produit
Production coopérative de documents
Partage cohérent d’information
Gestion intégrée des informations d'une entreprise
Intégration de l’existant
Contrôle et organisation d’activités en temps réel
Work flows
Travail coopératif
Centres de documentation, bibliothèques
Recherche, navigation, visualisation multimédia
Web sémantique
LPSIL - IDEE Modèles et protocoles distribués 10
5
I. États de l’art
1. Objectifs, Caractéristiques
Besoins des applications
Ouverture
Interopérabilité, portabilité, fédération ; réutilisation de l’existant
Coopération, coordination, partage
Vision commune cohérente d’informations partagées (globalement,
par groupes). Interaction en temps réel, support multimédia
Transparence
Accès (mobilité des usagers avec préservation de l’environnement)
Localisation (de l’information, des services, ...)
Qualité de service
Disponibilité, délais, coûts, qualité de perception, .. avec niveau
garanti
Sécurité
Authentification, intégrité, confidentialité, ...
Évolutivité, administrabilité
Reconfiguration, gestion dynamique de services
I. États de l’art
1. Objectifs, Caractéristiques
Évolution: historique
Années Recherche Produit
1970 Stations de travail + serveurs
Ethernet
Mémoire stable
Fichiers Unix répartis
6
I. États de l’art
2. Communication en réseaux
Rappel de l’architecture OSI
O.S.I. = OPEN SYSTEME INTERCONNECTION
Modèle fondé sur un principe énoncé par Jules César « Diviser
pour mieux régner »
Le principe de base est la description des réseaux sous forme
d’un ensemble de couches superposées les unes aux autres
L’étude du tout est réduit à celle de ses parties
L’ensemble devient plus facile à construire et à manipuler
I. États de l’art
2. Communication en réseaux
Rappel de l’architecture OSI
7
I. États de l’art
2. Communication en réseaux
Rappel de l’architecture OSI
I. États de l’art
2. Communication en réseaux
Rappel de l’architecture OSI Application
Gestion de Présentation
l’Application
Session
Transport
Logique
Réseau
Gestion de
Transport
Liaison
Physique
Physique
Supports physiques
LPSIL - IDEE Modèles et protocoles distribués 16
8
I. États de l’art
2. Communication en réseaux
OSI : Communication directe
Protocole physique
1 Physique Physique 1
Support Physique
LPSIL - IDEE Modèles et protocoles distribués 17
I. États de l’art
2. Communication en réseaux
OSI : Communication indirecte
9
I. États de l’art
2. Communication en réseaux
OSI : Communication entre application
Gestion des sessions : synchronisation
Gestion des terminaux virtuels
Gestion des communication entre applications
Application
Gestion Présentation
d’applications
Session
I. États de l’art
2. Communication en réseaux
TCP/IP : Internet
Le concept d'interconnexion ou d'internet
repose sur la mise en oeuvre d'une couche
réseau masquant les détails de la
communication physique du réseau et
détachant les applications des problèmes de
routage.
10
I. États de l’art
2. Communication en réseaux
TCP/IP : Internet
Les routeurs possèdent une connexion sur chacun des
réseaux:
Reseau A P Reseau B
I. États de l’art
2. Communication en réseaux
Communication en bus et point-à-point
Mémoire locale Mémoire locale Mémoire locale
N postes
UC UC UC
Réseau de diffusion
Communication en bus
11
I. États de l’art
2. Communication en réseaux
Communication en anneau
Les informations circulent
sans un sens unique
Anneaux
en double
I. États de l’art
2. Communication en réseaux
Communication en réseau commuté
Hypercubes
(4 dimensions)
- Un hypercube est un cube à n dimensions
- 4 dimensions : 2 cubes de 3 dimensions avec les
Treillis sommets homologues reliés
- câblage simple - 5 dimensions : 2 hypercubes de 4 dimensions
- le chemin plus long croit en avec les sommets homologues reliés
racine carré du nombre d'UC - la complexité croit en log2 du nombre de noeuds
-le chemin plus long croit en log2 du nombre de
-noeuds
LPSIL - IDEE Modèles et protocoles distribués 24
12
I. États de l’art
2. Communication en réseaux
Communication en réseau commuté Un 4-star graphe
Un 3-star graphe
I. États de l’art
2. Communication en réseaux
Communication en réseau commuté
13
I. États de l’art
3. Structures logiques
Principes de normalisation
Importance des normes
OSF (consortium) : modèle DCE
OMG (consortium) : ORB, services
ODP (ISO-CCETT) : modélisation, ingénierie
standards spécifiques à un domaine technique :
exemple de POSC
Mécanismes pour la construction et la réutilisation
Assemblage de protocoles à partir d’éléments
génériques(exemples : protocoles de communication,
journalisation, etc)
Mise en œuvre de systèmes génériques sur micro-
noyaux
Utilisation de techniques à objets pour la
structuration des systèmes et applications
LPSIL - IDEE Modèles et protocoles distribués 27
I. États de l’art
3. Structures logiques
Évolution des architectures
Services de base : modèle Client-Serveur
- Modèle primitif (messages)
-Modèle évolué (appel de procédure à distance)
demande de service, gestion de fichiers
Serveurs coopérants
Services intégrés
14
I. États de l’art
3. Structures logiques
Aspect physique
- machines clients et serveurs Client Client Serveur Client
physiquement identifiées
- indépendance des systèmes
- liaison statique ou
dynamique
Client Client Client
Serveur
Aspect logique
- modularité
- abstraction (séparation entre
interface et réalisation)
Requêtes
- modèle sémantique connu (RPC) Client Serveur
- traitement local du parallélisme
Réponses
chez le client et le serveur
I. États de l’art
3. Structures logiques
Serveurs coopérants
Réalisation d’un modèle abstrait à serveur unique
L’interface dissimule la réalisation coopérative
Motivations
Disponibilité (tolérance aux défaillances)
Efficacité
Client
Traitement parallèle
Proximité physique
Client
Problèmes
Protocole de communication interne Interface unique
“pairs” ou maître-esclave
Reprise après panne (détection, élection)
Cohérence des informations dupliquées
15
I. États de l’art
3. Structures logiques
Micro-noyau
Interface standard pour les fonctions de base
Base pour le support de services de systèmes
Coexistence possible de plusieurs systèmes
I. États de l’art
3. Structures logiques
Micro-noyau :avantages
Noyau de base simple et de taille réduite
Facile à comprendre, mettre au point et maintenir
Opérations primitives efficaces
Processus légers ("threads")
Mémoire virtuelle avec couplage (“mappeurs”
programmables)
Communication rapide et protégée
Services modulaires réutilisables
Interfaces publiques ouvertes (noyau, services)
Réalisation pouvant rester "propriétaire"
16
I. États de l’art
3. Structures logiques
Sous systèmes génériques
Chaque sous-système générique encapsule
certaines fonctions qui sont accessibles par les
couches basses (call up)
Utilisation du modèles à objets (simulation de
l’héritage)
Système générique
Appel O.m2(…)
Couche basse Méthode m1
P(O, m2, …) Objet O
Méthode m2
Renvoi P(O, m2, …)
I. États de l’art
3. Structures logiques
Sous systèmes génériques
Intérêt : exploiter la modularité en vue de la
réutilisation
Isolation des fonctions : la couche basse connaît le
minimum sur la couche haute
Une technique de structuration : l’appel ascendant
(“upcall”) équivaut au passage d’une procédure
en paramètre
Exemple :
cacher la connaissance de la structure interne d’un
objet (accessible par appel d’une méthode de
l’objet)
procédure de sauvegarde pour reprise
17
I. États de l’art
4. Problématique
Généralité
Un système distribué est un système qui s'exécute sur un ensemble de machines sans
mémoire partagée, mais que pourtant l'utilisateur voir comme une seule et unique machine
Caractéristiques
- possédant un mécanisme de communication interprocessus unique et global permettant
la dialogue entre deux processus quelconques
- possédant un ensemble des appels système unique disponible sur toutes les machines
- possédant un noyau de système d'exploitation identique implanté sur toutes les machines
I. États de l’art
4. Problématique
Généralité
18
I. États de l’art
4. Problématique
Gestion d’exécution : modèles de
communication
Modèle asynchrone (primitif) :
Primitives SEND(m,P) et RECEIVE(P):m
Modèle synchrone (RPC) :
P(param)
Exécution de P
I. États de l’art
4. Problématique
Gestion d’exécution : Processus-mémoire
Processus lourds : une entité d’exécution
autonome disposant d’un espace de mémoire
virtuel propre (contexte)
Intérêt : unité d’exécution indépendante
Processus légers : plusieurs processus
partagent un espace virtuel de mémoire
prédéfini
Intérêt : communication facile, commutation rapide,
parallélisme moins coûteux, multi-processeur virtuel
19
I. États de l’art
4. Problématique
Gestion d’exécution : Processus-mémoire
Accès aux mémoires distribuées (grille)
Mémoires
Technique de matrice de commutation
M M M M
(Crossbar Switch)
C - les UC et mémoires sont reliées par une matrice
de commutation
C - à chaque l'intersection, le noeud de commutation
UC (crosspoint switch) peut-être ouvert ou fermé
- quand une UC veut accéder à un module de mémoire
C
elle ferme temporairement le noeud de commutation
corresondant
C
- si plusieurs UC veulent accéder au même module,
une file d'attente est nécessaire
Inconvénient
le nombre des noeuds de commutation nécessaires : il faut n2 de noeuds de
commutation pour rélier n UC aux n module de mémoire
LPSIL - IDEE Modèles et protocoles distribués 39
I. États de l’art
4. Problématique
Gestion d’exécution : Processus-mémoire
Accès aux mémoires distribuées (multi-étages)
C Principe du réseau multiétage
M
- utilisation des commutateurs 2x2 : 2 entrées et deux
C M sorties
- chaque commutateur peut relier à n'importe quelle
C entrée et à n'importe quelle sortie
M
- pour relier n UC à n mémoires, il nécessite n étages
dont
C M chacun contient log2n commutateurs 2x2
- le nombre nécessaire de commutateurs est : nxlog2n
Si n= 1024, on a besoin 10 étages. Avec les UC de 50Mhz, le cycle de calcul est de 20ns,
une requête mémoire traverse 20 étages (allé/retour) en 20 ns si le temps de commutation
est de 1ns.On doit avoir 10 240 commutateurs à 1ns !!!
LPSIL - IDEE Modèles et protocoles distribués 40
20
I. États de l’art
4. Problématique
Gestion de la mémoire
Mémoire physique+fichiers
Segment+capacité
SGF réparti intégré SGF réparti
Objets
I. États de l’art
4. Problématique
Gestion de la mémoire : Mémoires
physique, virtuelle et information
• Mémoire physique : zones de
mémoire réelles
• Mémoire virtuelle : zones de
mémoire fictives de taille n fois
de la mémoire physique réservées
sur le disque avec un mécanisme
de gestion d’échanges spécifique
chargement Couplage assurant le chargement des zones
référencées dans la mémoire
physique
• Information : unité de données
physique information indépendante des mémoires
(fichiers, segment, objets; …)
destinée à traiter dans la mémoire.
Un couplage entre les informations
et la mémoire virtuelle devrai défini
virtuelle
LPSIL - IDEE Modèles et protocoles distribués 42
21
I. États de l’art
4. Problématique
Gestion des informations
- GFS d’UNIX
- Serveur unique Un espace global
- Serveurs de fichiers (Locus) - Objets typés
coopérant avec et un montage en - Objets non typés
une interface réseaux avec NFS - Objets persistants
unique (Network File
Systèmes)
I. États de l’art
4. Problématique
Gestion des informations : accès au
données
Séparation des fonctions de partage et de stockage
Stockage
Conservation permanente, fiabilité, disponibilité
Archivage à très long terme (hiérarchies)
Espace partagé + espace privé
Enregistrement définitif des transactions
Partage
Accès efficace
Accès concurrent, mémoire de travail
22
I. États de l’art
4. Problématique
Gestion des informations: Persistance
définie par transitivité d’accès (depuis racine
persistante prédéfinie)
Interêt :
supprimer la dualité fichiers-variables (requêtes-
traîtements dans le SGBD)
survie des informations après défaillance matérielle ou
logicielle
Problèmes :
représentation multiple des références inter-objets
(mémoire/disque)
sauvegarde d’un état cohérent (transactions atomiques)
Ramassage des miettes
degré de connaissance de la structure interne par le
système
lien avec langages
I. États de l’art
4. Problématique
Schéma global
Services de base
Etat global •Temps physique
Temps virtuel •Désignation
•Mécanismes d’appel
•Gestion des exécutions
•Gestion des mémoires
•Gestion des informations
services de base Calculs distribués
algorithmes répartis •Exclusion mutuelle
•Diffusion fiable
•Élection
Observations
•Interblocage
•Terminaison
•Points de reprise
23
I. États de l’art
5. Développement et déploiement
Consigne de développement
Duplication pour augmenter disponibilité
Exploiter informations invariantes
Délais de garde (incertitude sur état distant)
Caches pour exploiter la localité de référence
Utilisation d’indications (si valide, gain de temps ; sinon,
détection assurée)
combinaison des 2 derniers : indicateurs en cache
Utilisation d’un mécanisme standard d’appel distant
appel synchrone + parallélisme local
Compromis entre disponibilité (rapide) et cohérence
la cohérence faible est souvent suffisante
Ne faire confiance qu’aux machines physiquement protégées
Utilisation d’algorithmes repartis standard (prouvés)
Actions atomiques et diffusion fiable
I. États de l’art
5. Développement et déploiement
Facteurs du développement
Évolution de la demande et des moyens
Besoins des utilisateurs
amélioration des applications existantes
applications nouvelles
Progrès technologique
informatique
communications
Changements de perspective
Globalisation des systèmes d’information
Effet de taille
Intégration
24
I. États de l’art
5. Développement et déploiement
Facteurs technologiques
Évolution des machines
Processeurs RISC rapides (horloge à 200MHz)
Capacité d’adressage (64 bits)
Capacité des disques (Terabytes >> Teraflops)
Évolution des réseaux
Débit (vers le Gbit/s) - ATM pour réseaux locaux
Connectivité (accès partout) + usagers mobiles
Connaissance de l’heure physique exacte +
localisation (GPS)
Évolution des systèmes
Systèmes ouverts (standards)
Micro-noyaux et systèmes spécialisés
Grande mémoire physique (cache)
Fiabilité
I. États de l’art
5. Développement et déploiement
Facteurs technologiques : exemples
Extension du domaine de faisabilité
Grand espace d’adressage + réseaux rapides
mémoire virtuelle répartie
partage d’informations complexes avec degré de
cohérence spécifié
Vitesse CPU + disponibilité temps global
regain d’intérêt pour les méthodes synchrones
Grands disques + réseaux rapides + connectivité
base d’information globale
Rapprochement de thèmes de recherche
systèmes répartis - systèmes parallèles
systèmes répartis - bases de données - langages de
programmation
25
I. États de l’art
5. Développement et déploiement
Facteurs de taille
Un “grand” système réparti ?
Nombre d’entités
Nombre de composants (machines, réseaux, ...)
Nombre d’utilisateurs
Nombre (taille, complexité) des informations
conservées
Étendue géographique
Nombre d’organisations responsables
Propriétés recherchées : capacité de croissance
algorithmes (localisation, recherche d’information,
communication) maîtrise de la complexité
I. États de l’art
5. Développement et déploiement
Facteurs de taille : Propriétés du
système influencées par la taille
La composition “instantanée” du système n’est
pas connue
Les informations ne sont pas cohérentes
Le système est hétérogène
Il y a au moins un sous-système en panne ou
inaccessible
Les entités (machines, usagers, informations)
sont mobiles
Le système évolue en permanence
26
I. États de l’art
5. Développement et déploiement
Facteurs de taille : problèmes
Désignation
Décentralisation du service ; abandon des identificateurs
universels
Usage intensif des caches
Réorganisation de l’espace des noms
Maîtrise des performances quantitatives et qualitatives
Débits, temps de réponse, …; qualité de service
Disponibilité
Réplication des composants critiques
Sécurité
Petit nombre de composants critiques
Authentification par cryptographie ; capacités
Administration
Complexité, hétérogénéité
LPSIL - IDEE Modèles et protocoles distribués 53
I. États de l’art
5. Développement et déploiement
Facteurs d’intégration
Évolution des “métiers” de l’informatique
Demande de solutions globales par les utilisateurs
intégration des domaines
Systèmes ouverts
recherche de compétitivité dans les couches hautes &
applications
Maturation de la discipline informatique
Exemples de rapprochements :
Systèmes - Langages - Bases de données (aussi
influence de l’IA)
Systèmes répartis – Systèmes parallèles
Conséquences :
Infrastructures de systèmes pour BD
Utilisation de techniques de BD dans les systèmes
Langages & systèmes à objets persistants
27
I. États de l’art
5. Développement et déploiement
Critère de transparence
Même mode d'utilisation que celui d'un système centralisé en
temps partagé : niveau d'utilisateur et niveau de programme
I. États de l’art
5. Développement et déploiement
Critère de souplesse
La facilité de modification de configuration et d'extension
Bus / réseaux
École Monolithique
École Micrinoyau
- WindowsNT en particulier
- Unix en particulier
28
I. États de l’art
5. Développement et déploiement
Critère de fiabilité
Disponibilité La disponibilité est la fraction de temps pendant laquelle le système
est utilisable :
-limiter de nombre des composants critiques
-dupliquer les parties clés des composants logiciels et
matériels (redondance)
-maintenir la cohérence des copies (contradiction!!!)
Tolérance Le système doit être conçu pour masquer les pannes aux
aux pannes utilisateurs. La panne de certains serveurs (ou leur réintégration
dans le système après la réparation) ne doit pas perturber
l'utilisation du système en terme de fonctionnalité (NFS sans état
par exemple)
I. États de l’art
5. Développement et déploiement
Critère de performance
Critères -Minimiserle temps de réponse
-Maximiser le débit (nombre de travaux/h)
-Maximiser le taux d’utilisation du système
-Maximiser le taux d’utilisation de la bande de passante
29
I. États de l’art
5. Développement et déploiement
Critère de dimensionnement
Critères Minimiser les goulots d'étranglement potentiels
30