Académique Documents
Professionnel Documents
Culture Documents
1.1 Introduction
Jusqu’au début des années 80 les ordinateurs étaient volumineux, couteux et ils n’étaient
pas connectés. À partir du milieu des années 80, des microprocesseurs puissants ont
été développés, et il est devenu possible de connecter des ordinateurs indépendants à
l’aide des réseaux locaux (LAN ) et des réseaux étendus (WAN ). Ensuite, des machines
de petite taille dotées de capteurs sensibles et d’un espace mémoire considérable et de
processeurs puissants ont été élaborées. Grâce à ces progrès technologiques des ordi-
nateurs et des outils de communication la mise au point de systèmes distribués formés
de réseaux d’ordinateurs éloignés devient possible.
Dans ce chapitre, nous définissons d’abord les systèmes distribués. Puis, nous pré-
sentons les concepts clés de ces systèmes.
• Aucune hypothèse n’est faite concernant le type des ordinateurs qui composent
le système distribué ;
Dans [Puder et al., 2006], un système distribué est considéré comme un système
de traitement de l’information, qui comprend plusieurs ordinateurs indépendants. Ces
ordinateurs coopèrent par l’intermédiaire d’un réseau de communication en vue d’at-
teindre un objectif commun.
Selon [Silberschatz et al., 2014], un système distribué est un ensemble de proces-
seurs faiblement couplés qui ne partagent ni la mémoire physique, ni l’horloge physique.
Ces processeurs (aussi connus sous les noms suivants : sites, nœuds, ordinateurs, ma-
chines, ou hôtes) sont interconnectés par l’intermédiaire d’un réseau de communication.
Le but d’un système distribué est de fournir un environnement de travail efficace et
pratique, tout en permettant le partage des ressources.
5
Chapitre 1 : Introduction aux Systèmes Distribués
Afin de supporter des ordinateurs et des réseaux hétérogènes tout en offrant la vue
d’un système unique, les systèmes distribués sont souvent organisés en trois couches
(voir figure 1.2) :
Réseau
Figure 1.2: Structure en couches d’un système distribué [Tanenbaum et van Steen, 2007]
En mettant l’accent sur les exécutions concurrentes des processus d’un système distri-
bué, nous identifions les caractéristiques suivantes [Ghosh, 2014] :
Étant donné que les durées de transmission des messages entre les sites sont variables,
ces sites ne peuvent jamais consulter un état actualisé du système. Par conséquent, les
processus d’un système distribué n’ont qu’une vue partielle de la topologie et de l’état
global du système.
6
Chapitre 1 : Introduction aux Systèmes Distribués
Un système distribué peut être sujet à des défaillances qui sont dues au : surcharge
du réseau, blocage d’un processus, incapacité d’envoi de messages par un processus,
et aussi, la perte d’un message pendant son acheminement. Les concepteurs des sys-
tèmes distribués doivent s’assurer de la détection et la correction au plus tôt de ces
défaillances.
Les nœuds d’un système distribué peuvent être liés selon diverses topologies, caracté-
risées par :
Dans une topologie entièrement connectée, tout processus est relié aux autres pro-
cessus par le biais d’un canal unidirectionnel ou bidirectionnel. Cette topologie n’est
pas pratique pour les grands systèmes et elle impose un coût énorme.
Dans la topologie partiellement connectée, des liens directs relient uniquement
quelques sites. Cette topologie est caractérisée par un coût d’installation inférieur à
celui d’un réseau complètement connecté. Mais, le coût de communication entre pro-
cessus est élevé.
La topologie partiellement connectée d’un système distribué peut être en arbre,
en anneau ou en étoile. Chacune de ces configurations est caractérisée des attributs
d’échec, des coûts de communication et des coûts d’installation variables.
La fiabilité d’un système distribué est un aspect important ; la panne d’un site ne
doit pas empêcher le bon fonctionnement du système global. Les fonctions d’un site en
7
Chapitre 1 : Introduction aux Systèmes Distribués
panne doivent être confiées à d’autres sites. Ainsi, l’échec d’un site doit être détecté
très tôt, et des actions appropriées de reprise doivent être exécutées pour corriger l’état
d’échec.
Les systèmes distribués sont principalement conçus pour atteindre les objectifs suivants
[Van Steen et Tanenbaum, 2016] :
Le partage des ressources permet aux utilisateurs et aux applications d’un système
distribué d’accéder à des ressources distantes à travers le réseau. Une ressource par-
tagée peut être physique (un processeur, un équipement de stockage, une imprimante
spécialisée, etc.) ou logique (une page web, une base de données, un fichier, etc).
Le partage des ressources présente aussi l’avantage de favoriser la collaboration et
l’échange d’informations, et il réduit le coût d’installation.
Un système distribué est dit transparent s’il se présente à ses utilisateurs et applications
comme un système informatique unique. En effet, les détails techniques et organisa-
tionnels doivent être invisibles aux clients du système.
En réalité, la transparence d’un système distribué est associée à plusieurs aspects.
On distingue les transparences suivantes :
Transparence d’accès (Access transparency) : masquer les spécificités des représen-
tations des données et leurs méthodes d’accès.
8
Chapitre 1 : Introduction aux Systèmes Distribués
L’extensibilité d’un système distribué peut être mesurée selon les trois dimensions :
9
Chapitre 1 : Introduction aux Systèmes Distribués
La mise en œuvre des systèmes distribués est une tâche difficile à cause de la dispersion
des composants logiciels sur plusieurs serveurs physiques. En plus, cette difficulté est
due aux fausses hypothèses suivantes [Thampi, 2009] :
Le réseau est fiable : Le réseau cause des problèmes lorsqu’il perd des paquets.
Pour pallier la non fiabilité du réseau des techniques matérielles et/ou logicielles sont
à appliquer.
Le temps de réponse est nul : le temps de réponse est le temps écoulé entre l’envoi
de la requête et la réception de la réponse. Les distances parcourues sur les moyens de
transmission d’un réseau étendu augmentent le temps de réponse.
La bande passante est infinie : la bande passante est le volume de données pouvant
être transportées sur un canal de communication. Les nouvelles applications distribuées
nécessitent une bande passante importante.
Le réseau est sécurisé : le réseau n’est jamais en sécurité absolue car le système est
toujours confronté à différentes menaces. Les développeurs du système doivent prendre
en compte l’aspect sécurité au moment du développement du système, des solutions à
plusieurs niveaux doivent être déployées.
La topologie du réseau est stable : dans un système distribué on distingue deux
types de topologies : physique et logique. La topologie physique décrit la configuration
spatiale des nœuds du système. La topologie logique, par opposition à la topologie
physique, décrit les chemins que parcourent les messages. La topologie d’un système
distribué se modifie à cause des pannes et des ajouts et des retraits de nœuds.
Le réseau est homogène : un réseau est homogène, si et seulement si, ses sites ont
la même configuration matérielle, et utilisent les mêmes protocoles ; ce qui n’est pas le
cas dans un système distribué.
Le coût de communication est nul : le coût de communication dans un système
distribué n’est jamais nul car il inclut les coûts pour acheter le matériel et pour installer,
10
Chapitre 1 : Introduction aux Systèmes Distribués
Dans cette section, nous décrivons brièvement quelques types de systèmes distribués.
Le but de ce type de systèmes distribués est d’avoir une puissance de calcul impor-
tante. Le matériel sous-jacent d’un cluster computing est composé d’une collection
d’ordinateurs similaires. Ces ordinateurs sont connectés au moyen d’un réseau de com-
munication très rapide.
Un cluster emploie la programmation parallèle, où une seule application s’exécute en
parallèle sur un ensemble de processeurs. En effet, un cluster peut avoir un ordinateur
maître qui contrôle et affecte les tâches aux autres nœuds du cluster.
Comme pour le cluster computing, le but du grid computing est d’atteindre une haute
performance. Cependant, une grille de calcul consiste en un ensemble de machines et
de périphériques hétérogènes connectés à l’aide d’un réseau de communication LAN ou
WAN. Les nœuds d’une grille peuvent aussi appartenir à des domaines administratifs
différents.
Une grille de calcul est généralement composée de couches logicielles responsables
de : gestion des ressources, communication, etc.
Le cloud computing peut être vu comme un pas en avant du grid computing. Le but du
cloud computing est d’externaliser ses services aux consommateurs. Le cloud computing
fournit un pool de ressources virtualisées, accessibles et utilisables facilement par ses
clients. Les ressources du cloud peuvent être configurées d’une manière dynamique
(ajout ou retrait de ressources au besoin), ce qui offre une grande flexibilité.
11
Chapitre 1 : Introduction aux Systèmes Distribués
Ce type de systèmes distribués est composé d’une multitude de petits appareils in-
formatiques dotés de capteurs responsables de la perception du comportement des
utilisateurs, et communiquent via des connexions sans fil. Ainsi, un système ubiqui-
taire est caractérisé par : la transparence d’accessibilité aux équipements du réseau, la
souplesse d’interaction en fonction du contexte de l’utilisateur (sensibilité au contexte)
et l’autonomie des équipements.
Grâce aux progrès des techniques sans fil, il est devenu possible de créer des réseaux
constitués d’un grand nombre de capteurs. Dans un réseau de capteurs, chaque pro-
cesseur (nœud) est équipé de capteurs, et il est capable d’établir une communication
sans fil (d’une manière autonome) avec les autres nœuds. Les réseaux de capteurs sont
utilisés pour : surveiller les champs de bataille, la détection des attaques biologiques et
chimiques, automatisation domestique et informatique ubiquitaire.
1.8 Conclusion
Le but de ce chapitre était de présenter un survol sur les concepts importants des
systèmes distribués. Dans le chapitre suivant nous présenterons les techniques de base
12
Chapitre 1 : Introduction aux Systèmes Distribués
pour synchroniser des processus s’exécutant sur des sites distincts du système distribué.
Plus précisément, nous traitons le problème d’exclusion mutuelle distribuée.
1.9 Questions
4. Quels sont les avantages des systèmes distribués par rapport aux systèmes paral-
lèles ?
5. Pourquoi ce n’est pas toujours une bonne idée l’implémentation d’un niveau élevé
de transparence ?
6. Qu’est-ce qu’un système distribué ouvert et quels sont les avantages apportés par
cette ouverture ?
13