Les Grilles informatiques
Partie 1: introduction
Origines
Une nouvelle mode ? I. Foster a mobilisé les esprits avec l'image du réseau électrique
(Grid aux U.S.A).
"The Grid : Blueprint for a New Computing Infrastructure", Foster et Kesselman, 1998.
Plutôt une convergence de maturité de technologies et de besoins.
Pour les technologies :
- réseaux,
- logiciels de communication et intergiciels,
- cryptographie.
Pour les besoins, la conviction qu'on peut généraliser le partage
des ressources de manière aussi universelle qu'avec http.
Technologies
Cette idée provient de l'évolution de technologies clés:
- Réseaux.
- Middleware : HTTP, Corba, JVM, ....
- Chiffrement asymétrique, certificats.
L'idée de partage ...
While the Web is a service for sharing information over the Internet,
the Grid is a service for sharing computer power and data storage capacity over the Internet.
The Grid goes well beyond simple communication between computers,
and aims ultimately to turn the global network of computers into one vast computational resource.
From http://www.gridcafe.org
La réalité des Grilles
Que couvre au sens large le terme "une grille" ?
- L'activité: l'utilisation faite des logiciels (e.g. calcul distribué, partage de fichier),
- Le matériel (e.g. des PCs de particuliers, des clusters fédérés, ...),
- Les utilisateurs et fournisseurs de ressources: on parle de Virtual Organization.
Dans chacune de ces catégories existe une grande diversité.
Catégories
Les applications distribuées à large échelle sont variées.
Selon le type d'infrastructure, on peut distinguer les grands usages:
- Private Grid Computing : grilles privées,
- Grid Computing : grilles institutionnelles,
- Internet computing, Desktop Grid, P2P : ressources individuelles sur internet
Private Grid computing
Les ressources d'une organisation sont mutualisées et ouvertes
aux membres de l'organisation.
Gestionnaire de ressource: middleware de grille ou batch scheduler.
Mises en oeuvre très variées: de CORBA, en passant par RMI, à MPI, déployées sur des réseau de stations, cluster ou même machine parallèle.
Exemple:
rendu d'images dans un film. Il faut produire au moins
20 scènes/s * 60 s * 90 min = 108 000 scènes.
Si une scène coûte 1h de calcul, il faut 12 ans de calcul.
ILM, filiale de Dreamworks a déployé
350 PCs pour Star Wars Episode II
.
Grid Comuting
Organisations Internationales fédérant des ressources.
Calculs en tâches indépendantes. Données peuvent être distribuées et répliquées.
Gestionnaire de ressources : Globus très souvent).
Internet computing
Un cas particulier de calcul distribué. Caractéristiques:
- L'application doit être "embarassingly parallel",
- Le volume de données à communiquer modéré,
- Participation sur la base du volontariat des particuliers,
- Utilise le processeur en basse priorité (screen-saver)
Internet computing: Exemples
SETI@Home.
Objectif: sonder les signaux électromagnétiques venus de l'espace à la recherche d'intelligence.
Réunit aujourd'hui 400 000 participants pour une puissante totale de 60 téraflops, soit plus que Earth Simulator (35 téraflops).
Folding@Home.
Calcul de repliement et d'agrégation de protéines. A mobilisé des milliers d'ordinateurs individuels.
L'un des premiers résultats obtenus:
simulation d'un repliement du domaine carboxy-terminal (headpiece) de la villine
(une protéine parmi les plus petites et les plus rapides à se replier).© Vijay Pande et Stanford University.
Le projet Seti@Home (Search for Extra-Terrestrial Intelligence) a débuté
officiellement le 17 mai 1999.
L'objectif est de découvrir le premier signal extraterrestre intelligent .
Ce projet est la continuation logique du projet OZMA du NRAO (National Radio Astronomy Observatory) commencé en 1960.
Le radiotéléscope d'Arecibo sur l'ile de Puerto Rico enregistre toutes les ondes émises par l'univers sur une plage de fréquence de ± 2.5 MHz autour de la raie de l'hydrogène (1420 MHz).
Cette plage de fréquence a été choisie, car elle représente une trouée dans la brume radio de l'univers, on dit qu'elle constitue le trou d'eau (waterhole).
En 3 ans, la durée du projet, le radiotélescope d'Arecibo a couvert trois fois la partie du ciel qui lui est visible, représentant 39 Tbytes de données.
Des données parfaitement indépendantes
Les observations recueillies par le radiotélescope peuvent être séparées en bandes de fréquences indépendantes et chacune d'entre elles décomposées en petits paquets à traiter, indépendants les uns des autres.
Le traitement consiste en une décomposition FFT (Fast Fourrier Transform) suivie par une transformée inverse.
L'application peut donc traiter chaque paquet de données de faà§on indépendané.
Ici, la granularité choisie est de 10 KHz, de manière à ce que ces paquets soient traitables par un ordinateur personnel.
Une architecture client-serveur est donc parfaitement adaptée:
le serveur distribue les paquets aux clients, ces derniers les analysent et renvoient les résultats au serveur.
Desktop grid
- Les éléments de la grille sont peux coûteux individuellement (e.g. PC).
- Le nombre de machines installées est grand.
- La fiabilité des noeuds est faible (parfois, volatilité extrême)
- Les utilisateurs ne sont pas toujours clairement identifiés.
Stockage distribué
Un catégorie de besoin est l'espace de stockage distribué.
Exemple: projet DataGrid de la CE pour le LHC (fini mars 2004).
Une des applications qui a changé la perception de l'usage possible des réseaux
est l'application de partage de fichiers, dont l'initiateur fut Napster.
Ont suivi des systèmes beaucoup plus décentralisés:
Gnutella,
Kaaza,
Overnet (eDonkey),
Bittorent, ...
Ces systèmes ont prouvé l'efficacité du concept pair à pair.
Les plate-formes matérielles
Les ressources matérielles
nécessaires varient selon l'activité. Exemples:
- Les grilles de type Internet computing requièrent de très nombreuses et puissantes CPU, mais n'ont pas besoin d'un réseau très efficace => PC de particuliers.
- Les simulations numériques requierent souvent beaucoup de mémoire et de bon réseaux (communications à chaque pas de temps) => machines puissantes sur réseau protégé.
De même que les activités, les modèles de programmation utilisés ne sont pas les mêmes selon les plate-formes matérielles.
Recensons quelques catégories de Grilles au sens matériel.
Grille "institutionnelle"
- Des institutions partagent des resources onéreuses (clusters,
super-calculateurs, etc).
- Le nombre de machines installées est faible.
- La fiabilité des noeuds est grande.
- Les utilisateurs sont clairement identifiés.
La grille EGI
- Issue du projet datagrid Européen, soutien fort pour le LHC
- EGI: structure administrative fédératrice de structures nationales (e.g France Grilles, ...)
- VOs : structure en communauté d'utilisateurs, utilisant les ressources physiques (e.g BioMed, Atlas, ...).
EGI user usecase
- Préparer scripts, programmes, et données
- Démarrer et s'identifier auprès d'un SSO
- Copier les programmes et données sur un SE
- Préparer un job écrit en JDL
- Soumettre le job
EGI middleware
Basée sur des dérivés logiciels de Globus: gLite dans la plupart des cas.
Eléments principaux:
- Le client: ensemble de commandes d'identification, de soumission de job et de manipulation de données
- Le Worker Node (WN): host qui réalise les calculs
- Le Compute Element (CE): frontale aux WN. Dispatche les requêtes sur les WN.
- MetaScheduler: doté d'un annuaire global LDAP, choisit un CE pour exécuter une requête
- Le Storage Element (SE): host utilisé pour le stockage, également support du LFC (file catalog).
EGI middleware - JDL
$ cat hostname.jdl
Type = "Job";
JobType = "Normal";
Executable = "/bin/hostname";
Arguments = "-f";
StdOutput = "hostname.out";
StdError = "hostname.err";
OutputSandbox = {"hostname.err","hostname.out"};
ShallowRetryCount = 3;
Soumission du job:
$ glite-wms-job-submit -d $USER -o myjobs hostname.jdl
Connecting to the service https://wms.grid.sara.nl:7443/glite_wms_wmproxy_server
====================== glite-wms-job-submit Success ======================
The job has been successfully submitted to the WMProxy
Your job identifier is:
https://wms.grid.sara.nl:9000/T1JVMOHOgl3xCIv_cN4bVg
The job identifier has been saved in the following file:
/home/mgjansen/myjobs
==========================================================================
Définition d'une Grille
Comment définir ce qui doit répondre à des besoins et à des exigences
techniques si différentes ? Dégageons des points communs :
- L'étendue géographique du système est internationale.
- Le partage de ressource est généralisé à n'importe quel
élément d'un système informatique (e.g. processeur, disque, workbench, fichier, ...).
- Les ressources de même type sont probablement hétérogènes (e.g. processeur, OS).
- Les utilisateurs du système forment une communauté (avec des contraintes d'identifications plus ou moins fortes).
Conclusion
Il est difficile de donner une définition unique des grilles car
les besoins et les contraintes des activités dans le domaine
de l'informatique distribuée sont différents.
Cependant, convergence dans l'idée de:
- mutualisation généralisée des ressources (prêter/emprunter),
- transparence dans l'accès aux ressources,
- formation de communautés d'utilisateurs,
- augmentation de la puissance du système (calcul/stockage).