What is the Grid?Grid at workGrid ChallengeBref historique de la grilleLa grille et vousGrid at CERNProject in the world
Comment fonctionne-t-elle ?
Architecture de la grille

L'architecture de la grille est souvent décrite en termes de " couches ", dont chacune assure une fonction spécifique. D'une façon générale les " couches hautes " sont axées sur l'utilisateur (" centrées " sur celui-ci, dans le jargon des spécialistes), tandis que les " couches basses " sont plus orientées vers les ordinateurs et les réseaux (" centrées " sur le matériel).


Au niveau le plus bas, la couche réseau (network layer) assure la connectabilité des ressources sur la grille. Au-dessus de celle-ci, la couche ressources (resources kayer), constituée des ressources effectives faisant partie de la grille, telles que ces ordinateurs, les systèmes de mémoire, les catalogues de données électroniques, et mêmes des capteurs, tels que des télescopes ou d'autres instruments qui peuvent être connectés directement au réseau.

La couche intergiciel (middleware layer) assure les fonctions permettant aux divers éléments (serveurs, mémoires, réseaux, etc.) de participer à un contexte de grille unifié. Cette couche intergiciel peut être considérée comme l'intelligence qui fédère les divers éléments - le " cerveau " de la grille !

La couche située au niveau le plus élevé de la structure est la couche application (application layer), qui comprend les diverses applications - scientifiques, techniques, de gestion, financières - des utilisateurs, leurs portails, ainsi que les boîtes à outils de génie logiciel de ces applications. C'est la couche que " verront " les utilisateurs de la grille.

Dans les architectures de grille les plus courantes, la couche application assure aussi le serviciel (serviceware), à savoir ces servitudes de gestion générale, telles que la comptabilisation de l'utilisation de la grille par chaque utilisateur, la facturation de cette utilisation (en supposant un modèle commercial) et d'une façon générale la tenue des comptes des fournisseurs et des utilisateurs des ressources - une activité importante lorsque les ressources d'institutions diverses sont partagées entre des utilisateurs différents et très nombreux. (La serviciel fait partie de la couche supérieure, parce que c'est une capacité avec laquelle l'utilisateur interagit effectivement, alors que l'intergiciel se trouve dans une couche " cachée " dont il n'a pas à s'occuper.)

Il existe d'autres façons de décrire cette structure en couches. Par exemple, des spécialistes aiment utiliser le terme " fabrique " pour désigner l'ensemble de l'infrastructure physique de la grille, incluant les ordinateurs et les réseaux de transmission (en anglais " fabrics ", littéralement " tissus ". Le vocable fabrique semble s'être imposé). Par ailleurs, dans la couche intergiciel se scinder en une couche de protocoles de ressources et de connectabilité et, au-dessus de celle-ci, une couche de services collectifs.

Les protocoles de ressources et de connectabilité prennent en charge toutes les transactions " spécifiques à la grille " entre des ordinateurs différents et d'autres ressources de la grille. Souvenez-vous que le réseau utilisé par la grille est l'internet, qu'exploitent déjà la toile et beaucoup d'autres services tels que le courrier électronique. À chaque instant, une myriade de transactions se déroulent sur l'internet et les ordinateurs qui contribuent de façon active à la grille doivent être capables de reconnaître les messages qui les concernent et de filtrer tout le reste. Pour accomplir cette tâche, la grille met en œuvre des protocoles de transmission - qui assurent un dialogue des ressources, leur permettant d'échanger des données - et des protocoles d'authentification - qui assurent des mécanismes sûrs, de vérification de l'identité des utilisateurs et des ressources.

Les services collectifs sont également fondés sur des protocoles : des protocoles d'information, qui renseignent sur la structure et l'état des ressources de la grille, et des protocoles de gestion, qui négocient l'accès aux ressources, à assurer de façon uniforme. Ces services comprennent :

  • la tenue de répertoires des ressources disponibles, mis à jour en permanence ;
  • le courtage des ressources (similaire au courtage de titres en bourse, mais concerne la négociation entre ceux qui veulent " acheter " des ressources et ceux qui veulent en " vendre ") ;
  • la surveillance et le diagnostic des problèmes pouvant se poser sur la grille ;
  • la recopie des données clés, en sorte de disposer de plusieurs exemplaires de celles-ci en des lieux différents, pour faciliter leur utilisation ;
  • des services liés aux règles d'adhésion à la grille, nécessaires pour y garder trace de ce à quoi chaque membre est autorisé et quand.

Dans tous les schémas, la couche située au niveau le plus élevé est la couche application - qui est tributaire de toutes les couches de niveau inférieur pour faire fonctionner la grille. Pour prendre un exemple très concret, considérez un utilisateur qui a besoin d'analyser des données contenues dans plusieurs fichiers indépendants. Il doit :

  • obtenir les certificats d'authentification nécessaires pour ouvrir les fichiers (protocoles de ressources et de connectabilité) ;
  • demander à un système d'information et à un catalogue des répliques de déterminer où des copies des fichiers à utiliser peuvent se trouver actuellement sur la grille, ainsi que l'endroit le plus commode où sont situées les ressources nécessaires pour effectuer l'analyse de données (services collectifs) ;
  • soumettre des demandes à la fabrique - les ordinateurs, systèmes de mémoire et réseaux appropriés - pour extraite les données, lancer les calculs et fournir les résultats (protocoles de ressources et de connectabilité) ;
  • suivre l'avancement des divers calculs et transferts de données - en prévenant l'utilisateur que l'analyse est achevée, et en détectant les situations d'anomalie et en intervenant dans ces cas (services collectifs).

Pour pouvoir accomplir tout ce qui précède, il est évident qu'une application qui a été programmée pour être exécutée sur un ordinateur personnel autonome devra être adaptée en sorte d'appeler tous les services appropriés et d'utiliser tous les protocoles adéquats. De même qu'une application autonome doit être " webifiée " pour pouvoir être exécutée sur un navigateur, la grille demande à son utilisateur de consacrer quelques efforts à " gridifier " ses applications. Tout se paie dans la vie, même sur la grille!

Toutefois, une fois l'application gridifiée, des milliers de personnes pourront l'utiliser et l'exécuter aisément sur la grille (bien sûr… d'accord… comme avec la plupart des logiciels, il y aura quelques bogues ça et là… ), en utilisant les couches intergiciel pour l'adapter d'une façon transparente pour l'utilisateur au changement de contexte au niveau fabrique.

upUnderlying hardware