Modélisation énergétique de réseaux à antennes distribuées ...
Master 2 RFIAContenu du module Chapitre 1: Introduction au calcul à haut débit Architectures...
Transcript of Master 2 RFIAContenu du module Chapitre 1: Introduction au calcul à haut débit Architectures...
Master 2 RFIA
Grilles de Calcul
Dr BENDELLA Fatima
Maître de Conférences A, USTO-MB
1
Contenu du module
Chapitre 1: Introduction au calcul à haut débit
Architectures parallèles et distribuées
Présentation des grilles et domaines d’application.
Typologie des grilles.
Quelques exemples
Chapitre 2: Architecture d’une grille de calcul
2.1- Architecture en couches des grilles de calcul
2.2- Protocoles et algorithmes dédiés aux grilles de calcul
2.3- Middlewares (fonctionnalités, protocoles, quelques exemples)
Chapitre 3 : Architectures orientées services
3.1- Plates formes orientées services (exemples : OGSA, OGSI)
3.2- Services Web et langages: CORBA, SOAP, WSDL, etc.
Chapitre 4 : Grilles de calcul dédiées au calcul intensif de données
2
Références bibliographiques
I. Foster and C. Kesselman (Editors). The Grid: Blueprint for a New Computing
Infrastructure. Morgan Kaufmann Publisher Inc. 1999.
I. Foster and C. Kesselman (Editors). The Grid 2: Blueprint for a New Computing
Infrastructure. Morgan Kaufmann Publisher Inc. 2003.
B. Sotomayor and L. Childers. Globus Toolkit 4: Programming Java services.
Morgan kaufmann, 2005.
3
Modes d’Évaluation
TP :
Exposés
Examen !
4
Chapitre 1 Introduction au calcul à haut débit
Les scientifiques et plus exactement les informaticiens sont les plus gros
consommateurs de puissance de calcul.
? Exigence de machines performantes
Ces exigences ont donné lieu à l’apparition de calcul de haute performance qui a pour but de la résolution de ces problèmes ( expériences scientifiques, simulations, analyse des signaux…) nécessitant une grande quantité de ressources (puissance de CPU, espace de stockage…)
Ce type de calcul a été implémenté sur des supercalculateurs et des machines massivement parallèles.
Mais le développement des réseaux haut débit a permis à l’idée de répartir ces applications sur plusieurs machines de devenir une réalité, ce qui a donné lieu à l’émergence des grappes de machines puis des grilles de calcul.
5
Chronologie
Les années 60 Distribution des tâches sur plusieurs machines
Milieu des années 80 Naissance des machines parallèles et des
supercalculateurs
Mais : ces méthodes étant très coûteuses
Début des années 90 le principe du "downsizing" a commencé à être
sérieusement développé, conduisant aux calculs dits distribués
Mais : Années 2000 elles ont commencé à atteindre leurs limites
Et depuis d’autres solutions telles que les grilles de calcul ont vu le jour.
6
Algorithmes parallèles
(1)
Modèles de calcul parallèle :
Algorithme ? Un flot d’instructions + un flot de données
Il existe 4 modèles de calcul selon qu’il y ait un ou plusieurs flots.
i. SISD : Single Instruction Single Data : Le modèle de Von Neumann (Modèle
séquentiel classique)
un flot d’instructions
un flot de données
Unité de Contrôle
Processeur
Mémoire
7
Algorithmes parallèles
(2)
ii. MISD : Multiple Instruction, Single Data : il existe plusieurs flots d’instructions agissant
sur un seul flot de données N processeurs partageant une unique mémoire (N>1).
Principe : à chaque étape (synchronisation) une donnée est traitée en // par les N
processeurs qui exécutent chacun une instruction (flot d’instructions) spécifique.
Problème ? Pas d’implémentation pratique.
N flots d’instructions
1 flot de données
UC1
P1
Mémoire
PN
UCN
8
Algorithmes parallèles
(3)
iii. SIMD : Single Instruction, Multiple Data, N processeurs (tous identiques) ayant
chacun une mémoire locale ou l’on peut stocker des données et des instructions.
1 flot d’instructions
N flots de données
UC
P1+M1 Pn+Mn
Interface : Echange inter processeur
9
Algorithmes parallèles
(4)
Principe : - Tous les processeurs exécutent la même instruction (même programme)
stocké en mémoire locale sur les données différentes
- Les processeurs fonctionnent de façon synchrone.
- Les instructions peuvent être simples ou complexes.
Avantage : efficace : si on a un flot régulier sur des données régulières auxquelles on
accède de manière prévisible.
Problème : souvent les processeurs doivent communiquer pour s’échanger des
résultats intermédiaires une coordination des activités (mémoire partagée,
réseaux d’interconnexion).
• Mémoire partagée (Shared Memory : SM) : représente le modèle PRAM (Parallèle
Random Access Machine), Les N processeurs utilisent un SM pour échanger des
données une étape élémentaire de complexité. Au fil du temps, les N
processeurs vont accéder en lecture/écriture en SM Problème de
concurrence d’accès.
10
Algorithmes parallèles
(5)
4 modèles de concurrence
EREW CREW ERCW CRCW
(Exclusive Read (Concurrent Read (Exclusive Read (Concurrent Read
Exclusive Write) Exclusive Write) Concurrent Write) Concurrent Write)
Problème ? Fixer une règle pour gérer la concurrence
11
Algorithmes parallèles
(6)
Le modèle à SM est théoriquement très puissant, mais peu réaliste .
Complexité de EREW est de (Log2(n)) sur N processeurs
Réseau de communication : - chaque processeur dispose d’une mémoire locale
- Chaque paire de processeurs est connecté par un lien bidirectionnel
- A chaque étape de calcul, un processeur Pi peut recevoir une donnée du Pj et
envoyer une donnée vers Pk.
- La complexité des communications dépend de la topologie du réseau
d’interconnexion (chaîne, grille 2D, arbre binaire)
iv. MIMD (Multiple Instruction, Multiple Data) : c’est le modèle le plus général
Il existe n processeurs, avec n flots d’instructions distincts et n flots de données
distincts.
12
Algorithmes parallèles
(7)
Les échanges inter-processeurs se font par SM ou par réseaux d’interconnexion .
13
Les grilles de calcul sont destinées en particulier aux communautés de recherche scientifique : un
des exemples des services de traitements de données rendus possibles par Internet est le Pair à
pair ( P2P) : qui permet à des utilisateurs dispersés de mettre à disposition une partie de la
puissance de leurs ordinateurs pour un traitement conjoint par l'intermédiaire d’Internet.
Les grilles se basent sur le principe du «partage de ressources et de la résolution de problèmes
de manière coordonnée au sein d’organisations virtuelles dynamiques et multi
institutionnelles» : le partage ne concerne pas uniquement le simple partage de fichiers mais
plutôt l’accès direct aux ordinateurs, logiciels, calculs, données et autres ressources.
Comment est ce partage ?
Il doit nécessairement être hautement contrôlé et les politiques qui en découlent clairement
définies.
C’est de cette manière que l’on peut définir les organisations virtuelles qui sont «un ensemble
de composants géographiquement et institutionnellement distribués qui permettent à des
groupes d’organisations ou d’individus de partager des ressources de manière contrôlée pour
que les différents membres puissent collaborer afin d’atteindre un but commun».
14
Historique
Le terme "grille" a été inventé dans le milieu des années 90 pour représenter une
infrastructure de traitement de données partagées pour la science et les technologies avancées.
Les origines du Grid Computing sont assez floues, probablement aux alentours des années 70.
Certains disent que le précurseur des grilles de calcul est la société Apple, plus précisément
l’entreprise NeXT avant qu’elle ne se fasse racheter par Apple, s’appuyant sur une idée de
Xerox.
Le docteur Richard CRANDALL (NeXT) serait le premier à avoir expérimenté le Grid
Computing, grâce à son programme de calcul parallèle distribué baptisé « Zilla » ; le
programme utilisait des machines chaînées entre elles pour des traitements mathématiques
complexes.
D'autres disent que l’idée serait venue de trois personnes, du Docteur en Mathématiques et en
Informatique Ian FOSTER (Directeur du Laboratoire National Argonne à Chicago aux Etats-
Unis), de Monsieur Carl KESSELMAN, chercheur en informatique à « The University of
Southern California » et de Steve TUECKE, ingénieur en informatique au Laboratoire
National Argonne. Ces trois personnes sont surnommées « Fathers of the Grid » (Les
Fondateurs du Grid), et sont à l’origine de l’une des plus importantes organisations pour le
Grid, « The Globus Alliance »
15
Le terme de Grid Computing fait son apparition au milieu des années 1990 et s’inspire de la grille
d’électricité (power grid).
Vers le début du 20ème siècle, la génération personnelle d’électricité était technologiquement
possible, et de nouveaux équipements utilisant la puissance électrique avaient déjà fait leur
apparition. La véritable révolution a nécessité la construction d’une grille électrique, c’est dire
la mise en place de réseaux de transmission et de distribution d’électricité.
Une grille de calcul fonctionne comme un réseau de distribution électrique : Celui-ci fournit à
chaque utilisateur toutes les ressources dont il a besoin au moyen de l’interface simplifiée
qu’est la prise de courant. Toute la complexité du réseau sous-jacent (de la centrale électrique
au particulier) est complètement cachée. De plus, l'utilisateur peut faire varier brutalement sa
consommation sans démarche préalable.
Dans une grille de calcul, puissance de calcul et capacité de stockage sont pratiquement illimitées,
puisque toutes les ressources de la grille peuvent être mobilisées en cas de besoin. Elle permet
de mettre sans effort en production intensive une application développée localement, et de
mieux partager les ressources disponibles (dans les centres de calcul et dans les laboratoires ou
bien dans les différents sites d'une entreprise).
16
Les principes communs
Le Grid Computing, également appelé calcul partagé ou calcul distribué, consiste à
exploiter pleinement les ressources de l'intégralité d'un parc informatique (serveurs
et PC), c'est une forme d'informatique distribuée, basée sur le partage dynamique
des ressources entre des participants, des organisations et des entreprises dans le but
de pouvoir les mutualiser, et faire ainsi exécuter des applications de calcul intensif
ou des traitements de très gros volumes de données.
Les grilles sont composées de ressources. Ces dernières sont potentiellement
qualifiées de :
17
a. Partagées : Elles sont mises à la disposition des différents consommateurs de la grille et
éventuellement pour différents usages applicatifs.
b. Distribuées : Elles sont situées dans des lieux géographiques différents.
c. Hétérogènes : Elles sont de toutes natures, différant par exemple par le système d'exploitation
ou le système de gestion des fichiers.
d. Coordonnées : Les ressources sont organisées, connectées et gérées en fonction de besoins
(objectifs) et contraintes (environnements). Ces dispositions sont souvent assurées par un ou
plusieurs ordonnanceurs.
e. Externalisées : Les ressources sont accessibles à la demande chez un fournisseur externe.
f. Non-contrôlées (ou autonomes) : Les ressources ne sont pas contrôlées par une unité
commune. Contrairement à un cluster, les ressources sont hors de la portée d'un moniteur de
contrôle.
18
Objectifs et problématique
Les raisons pour lesquelles les grilles de calcul ont vu le jour sont qu’elles permettent :
D’exploiter les ressources sous utilisées car il a été constaté que la plupart des PC et stations
de travail sont le plus souvent sous-exploités. Plusieurs études ont rapporté que l’utilisation
des moyens informatiques dans les environnements universitaires et commerciaux se situe
autour de 30%. Ce pourcentage est encore plus faible quant il s’agit d’ordinateurs à usage
domestique. Une grille permet de faire l’agrégation de ces ressources afin de les partager
entre les différents utilisateurs. Ceci permet aussi de faire du partage de charge entre les
ressources de la grille.
De fournir une importante capacité de calcul parallèle : Les grilles de calcul représentent une
alternative à l’utilisation des superordinateurs dans le calcul parallèle. Au lieu d’utiliser un
superordinateur pour faire tourner une application complexe (Climatologie, décryptage du
génome humain, etc…) en parallèle, ce sont plusieurs ordinateurs dispersés à travers le monde
et appartenant à une grille qui s’en chargent.
19
Une meilleure utilisation de certaines ressources car le fait de pouvoir accéder à des
ressources éloignées géographiquement et appartenant à des institutions différentes permet à
plusieurs utilisateurs à travers le monde d’exploiter à distance et sans avoir besoin d’en faire
l’acquisition, d’équipements de pointe.
La fiabilité et la disponibilité des services. Les ressources d’une grille sont dispersées en
nombre important donc en cas d’inaccessibilité de l’une ou plusieurs de ces ressources, le
service peut quand même être assuré en ayant recours à des ressources de rechange.
Les problématiques relevant du calcul sur grilles informatiques sont à priori bien connues. Il
s’agit essentiellement de faire communiquer et coopérer des matériels distants et hétérogènes
(par leurs modes de fonctionnement comme par leurs performances), de créer les logiciels
permettant de gérer et distribuer efficacement les ressources disponibles, et de concevoir des
outils de programmation adaptés au caractère distribué et parallèle de l’exécution.
20
Parmi les points essentiels pour une implantation efficace et générale des grilles de calculs, il
faudra notamment :
Assurer une communication efficace entre composants logiciels, notamment grâce à une
bonne compatibilité entre les aspects parallèle et distribué de l’exécution, et à l’adaptation des
protocoles de communication aux infrastructures hétérogènes et aux très hauts débits.
Optimiser la répartition des tâches, et ceci suivant différents modes, voire de manière
dynamique ; les exécutions pourront être équilibrées à priori ou non (par exemple la tendance
actuelle du calcul scientifique vers le multi-échelles et le multi-modèles auto adaptatif va dans
le sens d’un besoin de redéploiements dynamiques de l’exécution).
Développer des outils de vérification formelle et de certification qui permettront de ne pas
renoncer à une exécution sûre.
21
Développer un véritable langage pour le calcul scientifique à grande échelle. L’avènement du
calcul sur grilles est une occasion de réactiver le calcul massivement parallèle ; pour cela, il
faut encourager les actions conjointes entre utilisateurs et concepteurs de langages.
Développer des modèles de composants logiciels distribués permettant de construire des
applications réparties sur les grilles (idéalement, ceci se ferait de la même manière que des
applications à forte mobilité des utilisateurs et des codes).
22
Principes de fonctionnement
Les utilisateurs laissent tourner un programme sur leur machine (appelée client) qui va
chercher sur un serveur les données pour les prochains calculs à effectuer, fait les calculs et
renvoie les résultats et ainsi de suite jusqu'à épuisement des données à traiter.
Les outils de calcul distribué favorisent la distribution d'exécutables qui effectuent un
fragment du calcul global sur chacun des postes clients. Cette technique permet d'utiliser les
cycles CPU inutilisés la nuit, ou dès que l'écran de veille se met en marche.
23
Etapes de fonctionnement
1 - Le gestionnaire de tâches client interroge d'abord les différents répertoires de ressources
pour connaître la disponibilité des différents nœuds de la grille.
2 - Il sélectionne un nœud cible, puis y déplace les données et programmes nécessaires à
l'exécution du calcul.
3 - Le gestionnaire de tâches local répartit les calculs, les exécute, puis avertit le gestionnaire
de tâches client lorsque le traitement est terminé.
4 - Ce dernier rapatrie éventuellement les données en local ou sur différents nœuds de la
grille.
Mais s'il est séduisant, ce concept n'est simple qu'en apparence. Sa complexité tient à de
nombreux facteurs, tels que la gestion du nombre de détenteurs de ressources ou du nombre
de sites reliés à la grille, tous les calculs ne pouvant s'effectuer simultanément sous peine d'un
ralentissement des performances. La solution mise au point doit donc être capable d'affecter
des tâches à chacun des postes disponibles, de rassembler ensuite les résultats, bien entendu
de manière sécurisée, car le Grid est une cible formidable pour les pirates.
24
Les différents types de grille
informatiques
Une grille garantit des qualités de service non-triviales, c'est-à-dire qu'elle se distingue des
autres infrastructures dans son aptitude à répondre adéquatement à des exigences, compte tenu
de ses capacités. Il n'est parfois pas évident de repérer les systèmes de grilles informatiques
dans notre monde. Pourtant, il en existe 3 sortes :
Les grilles d'information : C'est sans aucun doute la première incarnation évidente du
concept de grille.
Elle permet le partage de l'information à travers un réseau. On peut, bien évidemment dire que
ces principes sont repris dans l'Internet.
Toutefois, on ne se sait pas toujours d’où vient l’information (sources fiables ?)
25
Les grilles de stockage : Ce principe de grille permet la partage de données externalisées
entre plusieurs noeuds vers plusieurs noeuds.
Les cas les plus représentatifs de ce concept sont les réseaux d'échange Peer-To-Peer
("P2P"). Ce système permet l'accès à des données (fichiers, flux...) via un réseau de sites
(ou serveurs) qui contiennent et partagent un index. Les données sont référencées pour
optimiser les recherches à travers un moteur de recherche. Les fichiers peuvent se trouver
sur des noeuds différents du réseau, en différents points du globe. Il peut donc y avoir
plusieurs copies d'un même fichier afin d'optimiser l'obtention de ce dernier. Les données
sont dites "inaltérables", car elles sont marquées et identifiés via une procédure de
hachage.
Parmi ces systèmes, on pourra notamment citer l'existence du réseau GNUtella ou encore
KaZaA. Mais ce genre de principe est relativement vulnérable, de par le partage de
fichier.
26
Les grilles de calcul : C'est ce système qui nous intéressera par la suite. Il permet la
récupération et l'utilisation de ressources CPU inexploitées. Le principe est simple et permet
de regrouper des millions de postes pour un intérêt commun. On pourra notamment voir le
concept de la grille de calcul via la participation d'IBM avec son "World Grid Computing" ,
organisme mettant à disposition des laboratoires de recherche une puissance de calcul
phénoménale.
27
Les Topologies de grilles
D’un point de vue topologique, les grilles sont repertoriès en trois types par ordre croissant
d’étendue géographique et de complexité : Intragrilles (Intragrids), Extragrilles (Extragrids )
et Intergrilles (Intergrids ).
1. Intragrille (en analogie avec Intranet)
La plus simple des grilles est l’intragrille, composée d’un ensemble relativement simple de
ressources et de services et appartenant à une organisation unique. Les principales
caractéristiques d’une telle grille sont la présence d’un réseau d’interconnexion performant et
haut-débit, d’un domaine de sécurité unique et maîtrisé par les administrateurs de
l’organisation et d’un ensemble relativement statique et homogène de ressources. Une
entreprise peut être amenée à construire une intragrille pour augmenter la puissance de calcul
de ses équipes de recherche et développement tout en maintenant un niveau d’investissement
faible en terme de nouvelles infrastructures. (comme par exemple AMD lors de la phase de
conception de ses processeur K6 et K7).
28
2. Extragrille (en analogie avec Extranet)
Une extragrille étend le modèle en agrégeant plusieurs intragrilles. Les principales
caractéristiques d’une telle grille sont la présence d’un réseau d’interconnexion hétérogène
haut et bas débit (LAN / WAN), de plusieurs domaines de sécurité distincts, et d’un ensemble
plus ou moins dynamique de ressources. Un exemple d’utilisation est lors d’alliances et
d’échanges « Businessto-Business » (B2B) entre entreprises partenaires.
3. Intergrille (en analogie avec Internet)
Une intergrille consiste à agréger les grilles de multiples organisations, en une seule grille.
Les principales caractéristiques d’une telle grille sont la présence d’un réseau
d’interconnexion très hétérogène haut et bas débit (LAN / WAN), de plusieurs domaines de
sécurité distincts et ayant parfois des politiques de sécurité différentes et même
contradictoires, et d’un ensemble très dynamique de ressources. Les intergrilles seront
souvent mises en oeuvre lors de grands projets industriels (conception d’un avion par un
consortium aéronautique par exemple) ou scientifiques (modélisation de protéines) où
plusieurs organisations seront amenées à participer.
29
30
Les concepts de la grille de calcul
Une grille de calcul permet, comme vu précédemment, de répartir un calcul gigantesque sur
des postes distants, mais cette répartition est régulée par plusieurs concepts de construction de
la grille. Nous présentons trois exemples de systèmes de grille de calcul :
Le Virtual SuperComputing,
Le MetaComputing,
L'Internet Computing.
31
1. Le Virtual SuperComputing
Le concept de « Virtual Super Computing" est très apprécié dans le monde de la recherche. En
effet, il permet d'associer plusieurs clusters de calcul répartis géographiquement, à travers un
réseau spécialisé ou Internet.
L'intérêt d'un tel système permet, pour des modules de recherche, de proposer une puissance
de calcul phénoménale, dont chaque nœud a un administrateur connu. Cela permet alors de
contrôler l'intégrité des résultats retournés.
Ce système est actuellement utilisé dans le projet Rosetta@Home, qui étudie les structures
tridimensionnelles des protéines pour de futurs traitements médicamenteux. Les principaux
clusters se situent au National Institutes of Health (NIH), à la National Science Foundation
(NSF), au Howard HuguesMedical Institute (HHMI), et à l'Université de Washington.
Ce système offre donc la vision d'un hyper calculateur virtuel.
32
2. Le MetaComputing
Le concept de "MetaComputing" est arrivé lorsque des entreprises ont commencé à proposer
leur puissance de calcul aux différents demandeurs de puissance à travers le monde. Le
Virtual Super Computing.
Le principe est simple. Un client a un besoin immédiat d'une puissance de calcul, et ce
pendant un temps donné. Il achète alors un service de calcul sur l'Internet, qui lui fournit de
quoi envoyer des informations et recevoir les résultats après traitements. Le client se connecte
alors à un agent, qui distribue la tâche sur un système de calcul. C'est alors que la relation
entre le client et le serveur de calcul est réalisée. En général, on peut concevoir ce système via
l'implémentation de Web Services, qui permet d'envoyer et recevoir des données à traiter via
du XML.
33
Le Virtual Super Computing
34
Le Meta-Computing
35
3. L'Internet Computing
C'est le concept le plus simple à mettre en œuvre et le plus répandu.
Il permet de combiner la puissance de calcul de machines complètement différentes sur un
même projet. En général, ce système est utilisé pour rassembler un ensemble de machines
clientes qui n'ont aucune relation entre elles. Le but de ce principe est d'utiliser la puissance
d'une machine sans gêner l'utilisateur. En effet, un poste qui n'utilise qu'un traitement de texte
ne consomme pas toute la puissance de sa machine. De même quand l'économiseur d'écran est
actif.
On met alors en place une application qui va chercher des informations sur un serveur distant,
les traite en arrière-plan, et renvoie les résultats.
Ne nécessitant qu'une simple inscription pour participer à la grille de calcul, plusieurs projets
utilisent ces programmes en regroupent des millions de machines à travers le monde.
36
L’Internet Computing
37
Cadres d’utilisation du Grid
La Grille de calcul offre un éventail infini de possibilités tant les domaines pouvant bénéficier
d’une telle puissance et infrastructure sont nombreux.
1. Calcul distribué :
Les applications de calcul distribué sont évidemment d’excellentes candidates pour être
utilisées sur une grille. Elles bénéficient ainsi d’un nombre beaucoup plus important de
ressources de calcul leur permettant de résoudre des problèmes qui leur étaient auparavant
inaccessibles.
Ainsi par exemple, les expériences du LHC nécessiteront de l’ordre de 100 000 processeurs
pour traiter lamasse d’informations générées par le collisionneur. Il est évidemment illusoire
d’espérer disposer d’une telle puissance de calcul sur un seul et même site. L’utilisation d’une
grille se révèle dès lors indispensable.
38
Parmi les principaux défis que doit relever l’architecture de la grille pour de telles
applications, citons :
– L’ordonnancement à grande échelle des processus.
– La souplesse des algorithmes et protocoles qui doivent être capables de gérer un nombre de
nœuds pouvant aller de la dizaine à des centaines voire des milliers de fermes de machines.
– La tolérance des algorithmes aux temps de latence inhérents à la taille de la grille.
– Atteindre et maintenir un haut niveau de performances dans un système très hétérogène
39
2. High-Throughput Computing :
Le but ici n’est pas de rechercher la performance pure comme dans le cas précédent mais de
rentabiliser au maximum des ressources en récupérant les cycles processeurs non utilisés
quand celui-ci est oisif (idle). On pense bien entendu aux stations de travail qui sont
généralement très largement sous utilisées, ne serait-ce qu’en dehors des heures de bureau.
A titre d’exemple, le système Condor de l’Université du Wisconsin est utilisé pour gérer des
groupes de centaines de machines dans des universités et laboratoires aux quatre coins du
monde. Ces ressources sont utilisées pour des études aussi diverses et variées que la
simulation moléculaire, le traitement de signal ou l’attaque de systèmes cryptographiques.
40
Un autre projet bien connu du grand public, SETI@home, même s’il ne constitue pas
vraiment une grille de calcul au sens où nous l’entendons, est basé sur un principe similaire.
Tout un chacun peut installer un logiciel permettant d’effectuer automatiquement, lorsque
l’ordinateur est oisif, des calculs de traitement de signaux dans l’espoir de détecter des signes
d’une intelligence extraterrestre.
3. Calcul à la demande
Ce type d’applications utilise la grille afin de satisfaire des besoins à court terme en
ressources, tels qu’ils ne peuvent être satisfaits en local pour des raisons pratiques ou de
rentabilité. Ces ressources peuvent être du temps de calcul, des logiciels, des données, des
capteurs spécialisés...
Contrairement au calcul distribué, le but recherché ici est plutôt la rentabilité que les
performances pures.
Pour rendre cette nouvelle forme d’utilisation des ressources possible, il est primordial de
développer des systèmes performants et sécurisés de facturation (établir le montant à imputer
à l’utilisateur en fonction des différentes ressources qu’il a employées sur la grille) et de
paiement.
41
4. Traitement massif de données :
Dans ce type d’applications, le but est d’extraire de nouvelles informations à partir de grandes
bases de données distribuées géographiquement. Généralement, ces types de traitement sont
également de grands consommateurs de puissance de calcul et de bande passante.
Les systèmes de prévisions météorologiques modernes utilisent énormément de données
récoltées aux quatre coins du globe (comme des observations satellites par exemple).
Le processus complet implique des transferts et des traitements de plusieurs dizaines de giga-
octets de données.
Les expériences du LHC sont sans doute le meilleur exemple pour illustrer ce type de
problème. On considère en effet qu’une fois le collisionneur entré en service (prévu pour
2007), il devrait générer de l’ordre de 15 petaoctets (15millions de Gigaoctets) de données par
an. Pour donner un ordre d’idée, cela équivaut à 20 millions de CD’s, soit une pile de 20
kilomètres de haut ! La distribution géographique de ces données est ici indispensable.
Les principaux problèmes à résoudre pour ce type d’application sont l’acheminement et la
configuration de flux de données très importants à travers différents niveaux de hiérarchie.
42
5. Informatique collaborative
Le but des applications collaboratives est de permettre et favoriser les interactions entre les
personnes. Elles sont souvent structurées sous forme d’espaces virtuels partagés entre les
utilisateurs. La plupart de ces applications permettent de partager des ressources comme par
exemple des données ou des simulations. Elles partagent alors bien souvent des
caractéristiques avec les autres grands types d’applications décrites précédemment.
Les expériences du LHC sont ici encore une bonne illustration de ce type d’applications.
En effet, ce ne sont pas moins de quelque 5000 chercheurs répartis dans plus de 500
universités et instituts qui devront pouvoir accéder aux résultats des différentes expériences.
L’infrastructure de la grille se révèle être un excellent vecteur pour ce type d’applications
43
Domaines d'application des grilles
informatiques
Le grid computing est un excellent moyen de partager des données ou une puissance de
calcul. Et cela, certains l'on bien compris. Ce principe est utilisé dans une multitude de
projets, pour des objectifs différents.
44
1) Le domaine industriel : Les entreprises qui, aujourd'hui, utilisent les grilles de calcul, ont
bien compris son intérêt: Réduction des coûts d'exploitation comparé à un cluster, gain de
place dans une salle serveurs, utilisation de ressources existantes et internes à l'entreprise (les
postes des secrétaires...) ; les sociétés ont trouvé en cette technologie une alternative
intéressante aux grappes de calcul.
Aujourd'hui, beaucoup de domaines industriels ont besoin de puissance informatique:
Le calcul d'images (Films d'animation...),
La simulation d'utilisation de matériaux (Airbus),
La simulation d'utilisation de réseaux électriques (EDF),
La simulation d'activités pétrolifères (Institut Français du Pétrole),
Les simulations bancaires (Banques, intermédiaires boursiers),
Les simulations militaires (EADS).
45
un problème se pose pour toutes ces entreprises : Le fait d'externaliser leurs
calculs ne garantissent pas une certaine confidentialité des données traitées.
En effet, les sociétés qui traitent des données ne souhaitent pas qu'un
utilisateur lambda récupère des informations critiques.
Pour cela, certaines entreprises se limitent strictement à l'utilisation de leurs propres postes.
De plus, un système d'authentification permet de limiter les tentatives de récupération des
données traitées.
46
47
2 ) Le domaine scientifique :
La grille de calcul a pour origine le domaine de la recherche.
De ce fait, beaucoup de professeurs se sont intéressés à pousser leurs études sur ce système.
C'est pour cela que le grid computing a surtout évolué dans un environnement universitaire, et
ne fait toujours pas, à l’heure actuelle, l’objet de normalisation.
En effet, tous les projets qui ont été développés à ce jour ne sont que des prototypes. Chacun
essaie de montrer que sa méthode est la meilleure.
Toutefois, des travaux universitaires ou scientifiques utilisent le Grid Computing.
Quelques exemples
Le projet a été initié par l'Université de Berkeley. C'est une expérience scientifique qui utilise
des ordinateurs connectés à Internet pour la recherche d'intelligence extraterrestre. Plus de 3
millions d'utilisateurs ont permis à ce projet de devenir le plus long calcul de toute l'histoire
du grid computing. En effet, près de 600 000 années de calcul temps-processeur ont été
consacrés à la recherche extraterrestre.
48
Développé par l'Université de Stanford, ce projet étudie les interactions entre le génome et les
protéines. Près de 90 000 membres actifs proposent leurs machines personnelles pour ces
calculs de recherche.
49
La communauté de calcul a été élaborée par la société IBM. Elle a pour but de créer un lien
entre des laboratoires de recherche qui ont besoin d'une énorme puissance de calcul, et des
volontaires soucieux de participer à la recherche scientifique. Ce système permet à l'utilisateur
de choisir sa participation sur un des projets lancés.
Plus de 250 000 personnes se sont inscrites, pour un total de 80 000 années temps-processeur.
50
Le Décrypthon est une opération lancée en 2001 afin de réaliser la première cartographie du
protéome. Près de 75 000 internautes ont participé à sa première version. Le système a tourné
pendant 2 mois. Si une seule machine avait tourné pour ces calculs, il aurait fallu plus de 1100
années.
51