CHAPITRE 1:
LES GRILLES
[Marie Hélène Wassa Mballo] Page 15
Actuellement dans notre monde, les recherches et les
évolutions autour des techniques de réseaux, des microprocesseurs
et des supports de stockage de données ont fortement contribué
à l'émergence de l'informatique distribuée. Les
applications informatiques modernes (calcul scientifique, datamining,
simulation, météorologie, bioinformatique, traitement du
génome, etc.) sont de plus en plus courantes et nécessitent des
capacités de calcul et de stockage que ne peuvent pas offrir les
ordinateurs classiques. Pour cela la communauté informatique s'est
intéressé aux architectures distribuées à large
échelle, afin d'offrir des solutions pour le stockage de données
et le calcul réparti à un plus grand nombre d'applications et
d'utilisateurs. Parmi ces architectures, nous pouvons mentionner les grilles de
calcul et les grilles de données
1.1 Les systèmes distribués
Un système distribué 171 est un
ensemble de machines indépendantes agissant du point de vue de ces
utilisateurs comme un seul et unique système cohérent. Ces
machines sont connectées à l'aide d'un réseau de
communication 181.
Chaque machine exécute des composantes, par exemple des
séquences de calculs, issues du découpage d'un calcul global, et
utilise un intergiciel (middleware) qui a pour rôle d'activer les
composantes et de coordonner leurs activités.
Le concept de système distribué s'oppose au
concept de système centralisé tel qu'il existait dans les
années 60 191. Un système informatique d'une
entreprise était composé d'une seule et unique machine totalement
monolithique. Cette machine était partagée par tous les
utilisateurs, tous les processus tournaient sur le même processeur.
Si cette machine tombait en panne, c'est tout le
système informatique qui était indisponible. La plupart du temps
le système informatique se trouvait dans une seule salle, avec un seul
poste de contrôle. L'augmentation des besoins de l'entreprise impliquait
l'achat d'une nouvelle machine.
Un système distribué est aussi un système
qui s'adapte facilement à la charge. Le fait d'avoir plusieurs
composants permet facilement d'en ajouter de nouveaux ou alors remplacer un des
composants sans avoir à reconfigurer tout le système.
[Marie Hélène Wassa Mballo] Page 16
Une des propriétés fondamentales d'un
système distribué est sa robustesse . Si un des composants tombe
en panne, ce n'est pas tout le système informatique qui est
indisponible. Il est possible que certains services soit indisponibles
temporairement, mais dans un un système distribué robuste, des
mécanismes ont été mis en place pour que les services
restent disponibles même si une machine tombe en panne. Au pire les
performances du service pourraient baisser. Dans un système
distribué, toutes les procédures pour tolérer la panne de
machines et/ou de services, réparer, remplacer les
éléments défaillants, ajouter de nouveaux
éléments pour s'adapter à l'évolution de besoins
doivent se faire de manière transparente, de telle sorte que
l'utilisateur ne puisse pas se rendre compte de ces pannes
[8].
1.1.1 La notion de transparence dans les systèmes
distribués
Une propriété importante des systèmes
distribués est que la distribution doit être cachée aux
utilisateurs et aux développeurs d'applications. Le système est
vu comme un seul et unique élément .La transparence [8]
est un concept très important dans les systèmes
distribués. En effet, lorsqu'un service est délivré par un
système distribué, la localisation et la complexité de son
fonctionnement doivent être complètement cachées aux
utilisateurs. Nous distinguons plusieurs types de transparence :
· Accès
Un système distribué doit cacher aux
utilisateurs la façon dont les donnés sont obtenues et
manipulées. Par exemple, une application sous Windows ne doit pas avoir
à se préoccuper du fait que les données auxquelles elle
accède se trouvent sur un serveur sous UNIX, que l'accès se fait
de manière séquentielle, indexée ou directe. Cet aspect de
la transparence permet de concevoir des applications distribuées
totalement hétérogènes et indépendantes des
supports physiques.
· Localisation
La localisation physique des donnés dans le
système doit être cachée aux utilisateurs. Pour cela, il
faut attribuer des noms uniques (qui n'ont aucun lien avec leur location
physique) aux ressources du système. Grâce à cette
abstraction, la location d'une ressource n'a pas à être connue de
l'utilisateur. Un exemple de ce type de transparence, est l'utilisation des
URL's. Lorsque qu'un utilisateur tape l'adresse d'un site web, il ne sait pas
où le serveur, qui héberge le site, se trouve
·
[Marie Hélène Wassa Mballo] Page 17
Migration
Un système distribué doit permettre la
migration des applications et des donnés sans que l'utilisateur s'en
aperçoive. Cette migration est utilisée pour répondre
à divers objectifs : régulation de charge, amélioration
des performances, etc.
· Relocation
Il s'agit d'un type de transparence encore plus fort,
puisqu'il s'agit de pouvoir changer la location d'une ressource alors qu'elle
est en cours d'utilisation.
· Réplication
Dans ce type de réplication, c'est la présence
de plusieurs copies d'une donnée qui est cachée à
l'utilisateur. Pour cela, la transparence de location est nécessaire.
L'utilisateur utilise toujours la même adresse, mais c'est le
système qui décide de la copie qui sera utilisée.
· Concurrence
Un système distribué doit cacher le fait que
plusieurs utilisateurs accèdent à une même ressource de
manière concurrente. Cela implique l'utilisation de mécanismes et
techniques pour garder la ressource dans un état cohérent
· Défaillance
Un système distribué doit cacher à
l'utilisateur une défaillance d'un de ses composants, de telle sorte que
l'utilisateur ne doit pas se rendre compte de cette défaillance. Il ne
doit pas également se rendre compte que le système est en train
d'exécuter une procédure de tolérance de panne.
· Persistance
Ce type de transparence existe aussi sur les systèmes
centralisés. Il s'agit de cacher à l'utilisateur que les
données qu'il manipule sont dans la mémoire volatile (RAM) ou sur
le disque dur.
|