Académique Documents
Professionnel Documents
Culture Documents
Répartie
1
Plan du cours (2/2)
Chapitre 4 : Les accès concurrents
Algorithmes d’Exclusion Mutuelle
2
Chapitre 1
Introduction Générale
Constat …
3
Constat …
Constat …
4
Constat …
Constat …
10
5
Constat …
11
Constat …
12
6
Constat …
13
Applications Réseaux
Souvent les applications réseaux sont du
type client/serveur le client demande
des « services » à un serveur
◦ Un navigateur web demande une page html a
un serveur
◦ Un client FTP demande la liste des fichiers et
répertoires contenus dans un répertoire
14
7
Programmation classique vs.
Informatique Repartie
En programmation classique lorsqu'un
programme a besoin d'un service, il appelle
une fonction/procédure d'une librairie, d'un
objet, etc.
15
Programmation classique
L'utilisateur du service et le fournisseur
de service se trouvent sur la même
machine :
◦ Même OS
◦ Même espace mémoire
◦ Pas de problèmes de transport
◦ Disponibilité du service assurée (tant que l'on
a accès à la librairie)
16
8
Programmation classique
◦ Même langage (sinon utilisation de binding)
17
Informatique Repartie
Deux machines (sans compter celles
traversées)
◦ OS différents
◦ Représentation des types de bases (couche
présentation)
◦ Espace mémoire : passer un pointeur comme
argument ?
◦ Problèmes de transport : firewall, réseau HS, etc.
◦ Retrouver le service : où se trouve-t-il ? qui le
propose ?
18
9
Informatique Repartie
◦ Deux langages
◦ Représentation de l'information composite
différente
◦ Association des paramètres effectifs aux
paramètres formels ? Comment gérer les
différents types de passage de paramètres ?
◦ Paradigmes de programmation différents :
qu'est ce qu'un objet pour un langage
procédural ? comment gérer les erreurs ?
19
Les réseaux
Les réseaux d’ordinateurs sont partout !
◦ Internet, réseaux de téléphones mobiles,
réseaux locaux, etc.
Les progrès technologiques des
ordinateurs et le haut débit permettent
aux différentes applications sur des
ordinateurs distincts (et distants) de
coopérer pour effectuer des tâches
coordonnées.
20
10
Les progrès technologiques
Evolution de performance des réseaux
locaux
◦ Original Ethernet: 2.94 Mbps
◦ 1985:
10 Mbps (Cable coaxiale)
1 Mbps (Paire torsadée)
◦ 1995: 100 Mbps Ethernet
◦ 1998: 1 Gbps (Gigabit) Ethernet
◦ 1999: 802.11b standardisation du wireless
Etherne
◦ 2001: 10 Gbps
◦ 2005: 100 Gbps (par liens optiques)
◦ Etc.
21
11
Les réseaux (Interconnexion de machines)
1. Point à point
2. Multipoint
3. En réseau
machine
routeur
23
24
12
Chapitre 2
Caractéristiques des
Applications
Réparties
25
26
13
Définitions d’un Système Distribué
Définition : A distributed system
[Lamport, 98]
14
Systèmes distribués vs
parallèles
Systèmes Parallèles. Une machine
multiprocesseurs avec un environnement où
tous les processeurs exécutent le même
programme et ont une vision uniforme de l’état
global du système.
◦ Extensible à un réseau de machines asynchrones
fortement couplées
Besoin de partager:
◦ Des ressources: imprimantes, serveurs, mémoires, services
◦ Des informations: bases de données, fichiers
30
15
Pourquoi les Applications
Distribuées ?
Alléger le réseau
◦ Diminuer les échanges de données
redondantes
Augmenter la fiabilité
◦ Duplication de données (problèmes de
synchronisation !!)
16
Objectifs des Applications Distribuées
Accès à distance (Remote access)
Parallélisme
33
34
17
Propriétés des systèmes
informatiques répartis
◦ Les composants du système ne
fonctionnent pas de manière indépendante,
mais coopèrent pour l'exécution de tâches
communes.
35
18
Propriétés des systèmes
informatiques répartis
Non-déterminisme : On ne peut prédire le
déroulement exact de l’algorithme, on ne
peut que comprendre certaines propriétés
38
19
Modéliser un système distribué
Nécessité de simplifier et
maîtriser la complexité des
systèmes et des algorithmes
distribués
39
40
20
Modéliser un système distribué
41
42
21
Question: Que Repartir ??
Les données
Les traitements
Le contrôle
43
44
22
Répartition des données
Objectifs de répartir les données
◦ Augmenter la fiabilité en faisant faire le
même traitement par plusieurs ordinateurs
45
46
23
Répartition des données
Partitionnement: Intégration logique
◦ Fragmentation Horizontale: Les occurrences
d’une même classe peuvent être réparties dans
des fragments différents
47
48
24
Répartition des traitements
Absence de mémoire commune
Absence d’état global
=> difficulté de synchroniser entre les
différents traitements
=> recours aux horloges logiques
pour établir un ordre entre les
évènements et permettre de répartir
le traitement des taches
49
50
25
Problèmes …
État du système et datation des
événements.
51
Problèmes …
État du système et datation des
événements.
◦ Ces outils permettent de :
définir la notion d'état d'un système réparti
et de réaliser des mécanismes pour
l'observation de cet état, en vue notamment
de la mise au point d'applications ou de la
détection de propriétés globales.
52
26
Problèmes …
Désignation
◦ La désignation dans un système réparti pose
des problèmes spécifiques en raison de la
grande taille de l'espace des noms et de
l'évolution permanente de l'ensemble des
objets désignés et de leur localisation.
Problèmes …
Communications et exécution répartie.
54
27
Problèmes …
Tolérance aux fautes
55
Problèmes …
Sécurité et protection.
◦ La sécurité d'un système réparti vise à
garantir le maintien :
de la confidentialité
de l'intégrité de l'information
56
28
Problèmes …
Sécurité et protection.
57
Problèmes …
Pas de connaissance de l’état global
29
Besoins …
Transparence.
59
Besoins …
Plusieurs formes de transparence (ISO 1995) :
d’accès: cacher la différence des
représentations des données et comment une
ressource est accédée
30
Besoins …
de concurrence: cacher qu’une ressource
peut être partagée par plusieurs utilisateurs
compétitifs
61
Besoins …
Dans certains cas, la transparence doit
au contraire être évitée.
Exemple 1 :
Mise au point d'applications
réparties. Lorsqu'on recherche
l'origine d'une défaillance, il faut
pouvoir connaître la localisation
physique des données manipulées ou
le site d'exécution d'un programme.
62
31
Besoins …
Dans certains cas, la transparence doit
au contraire être évitée.
Exemple 2 :
Besoins …
Compromis entre un degré élevé de
transparence et les performances
du système (ou les exigences de
l’application) !!!!!
64
32
Besoins …
Abstraction
◦ Séparation entre
interface d'accès à un service et
réalisation de ce service.
65
Besoins …
Abstraction
66
33
Besoins …
Abstraction possède deux propriétés:
Interopérabilité & Portabilité
L’interopérabilité: deux composants ou
deux implémentations différentes d’un
même système de deux constructeurs
différents peuvent co-exister et travailler
ensemble
Besoins …
Récupération de l'existant
68
34
Besoins …
Capacité d’évolution, ou d’extension
(scalability)
69
Besoins …
Capacité d’évolution, ou d’extension
(scalability)
◦ Cette évolution doit se faire de manière
continue et sans interruption du service.
◦ La scalabilité mesurée selon au moins 3
dimensions:
Selon la taille: nombre de ressources et
d’utilisateurs
De manière géographique: distance entre
ressources
De manière administrative: nombre
d’administrateurs
◦ Plus un système est ``scalable`` moins il est
performant !! 70
35
Besoins …
Scalabilité
◦ Taille: le réseau devient un goulot
d’étranglement au fur et à mesure que le
nombre de ressources augmente
Solutions …
Appel
◦ à des communications asynchrones :
des tâches peuvent être programmées
pour exécution pendant que d’autres
attendent la fin de communication et
72
36
Exemples d’applications réparties
Le login à distance: telnet et rlogin d’UNIX
Invocation de commandes à distance et
sauvegarde de fichiers sur une machine
distante
Le modèle Client/Serveur: envoi requête =>
attente réponse
Le système de partage de fichiers (NFS)
Service d’administration répartie, service
d’impression répartie
73
74
37
Eléments de mesure de la qualité
Degré de répartition de l’algorithme
distribué: degré de symétrie du texte
◦ Non Symétrie: chaque processus exécute un
code différent (ex. Client/Serveur)
76
38
Eléments de mesure de la qualité
Propriétés comportementales des
liaisons : Les Hypothèses
77
78
39
Eléments de mesure de la qualité
Trafic engendré
◦ le nombre de messages échangés pour une
opération de synchronisation et les temps
d’attente : La charge du réseau
◦ Ex: Informer les autres processus ( N-1) de
l’utilisation d’une mémoire partagée
3(N-1) messages : N-1 msgs, N-1 réponses, N-1 fin
2(N-1) messages : N-1 msgs, N-1 OK
0 – N-1 messages : topologie en annaux +
l’utilisation d’un jeton
79
80
40