Les Grilles informatiques

Partie 1: introduction

Stéphane Genaud

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. couverture Plutôt une convergence de maturité de technologies et de besoins. Pour les technologies :

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:

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.

weblike sharing 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" ?

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

Les ressources d'une organisation sont mutualisées et ouvertes aux membres de l'organisation.

Gestionnaire de ressource: middleware de grille ou batch scheduler.

frame rendering

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). (EGI) France Grille

Internet computing

Un cas particulier de calcul distribué. Caractéristiques:

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.
Un résultat de folding@home
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

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:

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"

weblike sharing

La grille EGI

EGI clusters' status

EGI user usecase

  1. Préparer scripts, programmes, et données
  2. Démarrer et s'identifier auprès d'un SSO
  3. Copier les programmes et données sur un SE
  4. Préparer un job écrit en JDL
  5. Soumettre le job

EGI middleware

Basée sur des dérivés logiciels de Globus: gLite dans la plupart des cas. Eléments principaux:

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 :

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: