Introduction
1
Definition d’un System Distributed (1)
2
Caracteristiques d’un Système Distribué
1.1
6
Transparence dans un Système Distribué
Transparence Description
Masquer les differences de representation de données
et comment une ressource est accedée: Les
D’Access
ressources locales ou distantes sont accédées à l’aide
des mêmes opérations
Masquer l’emplacement de la resource: on y accède
De Localisation
sans connaître son emplacement
Masquer la possibilité qu’une ressource se déplace
Migration
d’un endroit à un autre
Masquer le fait qu’une resource puisse changer
Relocation
d’emplacement lors de son utilisation.
Masquer le fait qu’une ressource puisse être répliquée
Replication
et chaque réplicas réside dans différents endroits.
Occulte le fait qu’une ressource puisse être patagée
Concurrence par plusieurs usagers competitifs et la cohérence est
accomplie au niveau supérieur.
Masquer les défaillances et les recouvrements
Défaillance
possibles des objets
Ignore si une ressource (logicielle) est en mémoire ou 7
Persistence
sur support de stockage externe (disk).
Degré de Transparence
• La transparence de distribution est en general
préférable, mais la souhaiter pour tous les aspects de
distribution n’est pas toujours une bonne idée:
– Il est indésirable de cacher aux usagers l’emplacement
d’une imprimante partagée.
– Il est nécessaire d’avoir un compromis entre un haut
degré de transparence et la performance du système.
– Dans les systems distribués collaboratifs, les usagers
souhaiteraient être mutuellement informés de leurs
activités concurrentes plutôt de les cacher les uns aux
autres.
– Il est impossible de rendre transparentes certaines
situations telles que la latence d’un réseau ou la
défaillance d’un médium de communication.
8
Ouverture (Openness)
• Un SD ouvert est un système qui offre des services selon des règles
standards qui décrivent la syntaxe et la semantique of ces services. E.g.,
protocoles réseaux.
• Les services distribués sont generallement specifiés par des interfaces.
– La syntaxe des interfaces est souvent décrite dans un Language de
Definition d’Interface (IDL).
– La sémantique des interfaces est souvent donnée de manière informelle
à l’aide d’un language naturel.
10
Scalability ou Dimensionnement
• La Scalability d’un SD peut être mesurée selon trois dimensions:
– Un SD est scalable en taille si d’avantage d’usgers et resources peuvent être
facilement ajoutés.
– Un SD est géographiquement scalable s’il permet aux usagers et ressources de
s’étendre encore plus loin.
– Un SD est administrativement scalable s’il peut être facilement géré
indépendamment des diverses organisations administratives qui le composent.
• Les services centralisés, les données et les algorithmes constituent des obstacles
pour l’accomplissement de la scalability en taille.
Concept Example
1.4
1.5
1.6
1.7
• Problèmes:
– Scalability limitée.
– Incoherence du cache
18
Multiprocesseurs (2)
1.8
1-9
a) Grille (Grid)
b) Hypercube 20
Systèmes Multicomputer Hétérogènes
• La plupart des SD sont construits au dessus
– D’un multicomputer hétérogène (différents types: de
processeurs, de memoires et tailles, et de largeur de
bandes I/O); et
– Réseau d’interconnexion hétérogènes (differentes
commutations et réseaux: ATM, Myrinet, or frame
relay).
21
Concepts Software
1.11
24
Multiprocessor Operating Systems (1)
monitor Counter {
private:
int count = 0;
public:
int value() { return count;}
void incr () { count = count + 1;}
void decr() { count = count – 1;}
}
monitor Counter {
private: void decr() {
int count = 0; if (count ==0) {
int blocked_procs = 0; blocked_procs = blocked_procs + 1;
condition unblocked; wait (unblocked);
public: blocked_procs = blocked_procs – 1;
int value () { return count;} }
void incr () { else
if (blocked_procs == 0) count = count – 1;
count = count + 1; }
else }
signal (unblocked);
}
1.14
28
Alternatives for blocking and buffering in message passing.
Multicomputer Operating Systems (3)
buffer Communication
Point de Synchronization
d’emission fiable, guarantie?
Bloquer l’emetteur jusqu’à buffer non
Oui Pas necessairement
plein
Bloquer l’emetteur jusqu’à message émis Non Pas necessairement
Bloquer l’emetteur jusqu’à message reçu Non Necessaire
Bloquer l’emetteur jusqu’à message
Non Necessaire
délivré
29
Distributed Shared Memory Systems (1)
a) Pages of address
space distributed
among four
machines
c) Situation if page 10
is read only and
replication is used
30
Distributed Shared Memory Systems (2)
1.18
1-19
1.21
1-22
1.23
Très
Degré de transparence Important Faible Important
Important
Même OS sur tous les
Oui Oui Non Non
noeuds
Numbre de copies de OS 1 N N N
1.25
General interaction between a client and a server.
38
An Example Client and Server (1)
A sample server.
40
An Example Client and Server (3)
1-27 b
1-28
1-29
1-30
1-31