Accueil DexTER | EGPI | DSPBook | HPC | Logiciel libre

Grant - grille de calcul animée par fourmis artificielles

grant


Présentation

Grant est un projet de recherche Dexter mené en collaboration avec l'équipe FOVEA du laboratoire d'informatique de Polytech'Tours. Son but est de construire une grille de calcul à l'échelle mondiale. De nombreux système de partage de la puissance de calcul existe déjà comme BOINC initié par le fameux projet SETI@home. Comme ceux-ci, grant permet d'offrir un peu de son ordinateur aux autres mais ceci est accompli sans aucun gestionnaire de tâche centralisé auquel il faudrait s'abonner. De la même manière que pour les système de partage de fichier pair à pair, chaque noeud connecté au réseau grant peut prendre en charge des tâches soumises par les autres mais aussi confier à ses voisins ses propres tâche.

Le problème principal est la répartition de charge : trouver le meilleur ordinateur pour chaque tâche afin qu'elle se termine dans les meilleurs délais sans surcharger les machines volontairement mise à disposition. Les allocateurs classiques fonctionnent bien si tous les noeuds sont strictement identiques ou s'ils ont une parfaite connaissance de l'état de chaque noeud à tout moment. Un tel travail sera souvent centralisé sur un noeud de supervision dédiés à l'allocation des tâches aux unités disponibles.

En s'inspirant des stratégie de collecte de la nourriture par les sociétés de fourmis, il est possible de s'affranchir de ses besoins. Chaque soumission de travail est prise en charge par une fourmis virtuelle qui voyage sur la grille de noeud en noeud, jusqu'à ce qu'un d'entre eux accepte la tâche. Comme les véritables fourmis qui émettent des phéromones, la fourmi virtuelle laisse une trace sur le chemin qu'elle parcourt. Ainsi les voies qui mènent aux noeuds les plus puissant seront imprégnées et deviendrons plus attractives pour les fourmis suivantes.

Un réseau grant évolue d'un état initial aléatoire vers un état configuré et adaptatif sans aucun superviseur ni aucune relation hiérarchique entre les noeuds. La perte d'un noeud n'a aucun effet à l'échelle de la grille autre que la perte des tâches en cours d'exécution sur le noeud défaillant à l'instant de sa panne.

Pour plus d'information, consulter la fiche projet grant.

Téléchargement

Grant n'est pour le moment qu'un démonstrateur constitué d'un noyau de gestion de tâche sans aucune sécurisation. Il est prêt pour des expérimentation à grande échelle mais ne doit en aucun cas être installé sur des machines hébergeant des applications ou des données critique car aucun mécanisme n'empêche une tâche de faire ce qu'elle veut, c'est à dire n'importe quoi permis par un programme java standard. Par prudence il conviendra de lancer grant avec un profile utilisateur le plus limité possible, même dans un environnement de test.

Télécharger Grant :

Licence

grant est un logiciel libre, publié selon les termes de la licence GNU GPL version 2.0.

Avertissement : le choix volontaire de la licence GPL ne permet par défaut aucune integration d'un programme Java comme grant avec un autre logiciel non soumis à une licence compatible avec la licence GPL à l'intérieur de la même instance de machine virtuelle. Notre souhait n'est pas d'interdire totalement et strictement un tel usage mais nous souhaitons en être informé. Donc si une intégration de grant est envisagée avec du logiciel incompatible avec les dispositions de la licence GPL, merci de faire parvenir votre demande de licence spécifique :

Copyright (c) detexia 2009,  mis à jour le : dimanche 3 avril 2011, 13:22:06 (UTC+0200)