• Aucun résultat trouvé

1.4 Les services grille

1.4.2 Service d'ordonnancement de tâches

Les applications pour grille sont découpées en tâches indépendantes, de façon à paral- léliser les calculs pour exploiter au mieux toutes les ressources disponibles. Le service d'ordonnancement des tâches est chargé de sélectionner les ressources (n÷uds de calcul) de la grille, susceptibles de les exécuter. L'objectif principal de cet ordonnanceur est de trou- ver la meilleure conguration pour que le temps d'exécution d'une tâche soit minimal. Les principaux critères de sélection des ressources sont : le type et la vitesse des processeurs, la mémoire disponible, la taille de la mémoire virtuelle, l'emplacement géographique ainsi que la charge courante de la machine [Sch02]. Les outils de monitoring du GIS sont alors très sollicités pour connaître l'état des n÷uds de la grille au moment de l'ordonnancement. L'ordonnanceur tient également compte des droits d'accès dont dispose l'utilisateur qui s'adresse à lui. En eet, il se peut qu'il ne soit autorisé à accéder qu'à un sous-ensemble des ressources de la grille.

Pour pouvoir travailler, l'ordonnanceur a besoin de connaître certains détails relatifs aux tâches qu'il doit aecter à ces ressources. Pour cela, il existe des méthodes qui permettent de décrire les tâches ainsi que les ressources de la grille [RLS98]. Les détails pouvant ainsi caractériser une tâche sont nombreux :

• le système d'exploitation ou bien l'architecture de la machine sur laquelle la tâche doit s'exécuter ;

• la quantité de mémoire et l'espace disque nécessaire ; • la puissance de calcul requise ;

• la priorité de la tâche.

Avec toutes ces informations, l'ordonnanceur peut choisir une ou plusieurs ressources. Cer- tains systèmes pratiquent la réservation de ressource [FRS00]. Cette technique est notam- ment utilisée pour disposer d'une qualité de service de bout en bout [FRSW99], c'est-à-dire qu'un système avec réservation d'une partie des ressources, assure que l'ordonnancement d'autres tâches ne va pas interférer avec la qualité de service initiale attribuée à d'autres. Dans la plupart des intergiciels actuels, l'utilisateur doit lui-même gérer les données néces- saires à l'application qu'il souhaite exécuter sur la grille. Le plus souvent, la méthode utilisée est SCP1 ou bien FTP2 lorsqu'il s'agit de chier de petite taille, et GridFTP

1Secure Copy : protocole de transfert de chier sécurisé s'appuyant sur SSH. 2File Transfer Protocol : Protocole de transfert de chiers, non sécurisé.

[ABB+02] pour les chiers de plus grande taille. Une fois l'exécution de l'application ter-

minée, il appartient à l'utilisateur d'en récupérer les résultats par les mêmes méthodes que précédemment.

Parmi les ordonnanceurs les plus utilisés actuellement, on retrouve : Portable Batch System (PBS) [Hen95] qui est une solution pour les grappes fonctionnant sous Linux et les systèmes de calcul haute performance. Le projet Condor [TWML01] prévoit également de développer, déployer et évaluer les mécanismes et les diérentes politiques qui régis- sent le calcul haute performance en utilisant un environnement distribué tel que la grille. Condor dispose de son propre ordonnanceur de tâches. Il existe d'autres ordonnanceurs pour grille comme KB Metascheduler [Nab99] ou encore Silver [Sil]. KB Metascheduler utilise des techniques provenant du domaine de l'intelligence articielle (IA). L'IA a été choisie car le succès de ses techniques appliquées à des systèmes aussi complexes que la grille, a été prouvé par le passé. La recherche de nouveaux algorithmes plus performants est très active. Des simulations ont montré que dans le cas de l'ordonnancement d'un grand nombre de tâches présentant très peu de calcul, il est plus ecace de faire des envois groupés de tâches vers des ressources : cela permet de minimiser les coûts en communication et d'éviter que certaines ressources de calcul ne soient sous-utilisées [MLS+05]. D'autres

chercheurs ont comparé la grille à une grosse entreprise virtuelle, à laquelle l'ordonnance- ment de tâches et donc l'utilisation des ressources de l'entreprise, peut-être assimilée à des modèles économiques tels que la vente aux enchères [BSGA01]. Dans ce modèle particulier, l'acteur central est le commissaire-priseur qui démarre une enchère, les vendeurs sont les possesseurs des ressources et les acheteurs sont les ordonnanceurs de tâches qui doivent miser pour remporter l'enchère et ainsi exécuter la tâche sur la ressource du vendeur. L'or- donnanceur s'appuie sur les caractéristiques de la tâche pour enchérir : échéance, budget prêt à être investi pour résoudre le problème. Une autre stratégie consiste à attribuer une valeur privée à chaque ordonnanceur, ceux-ci peuvent ainsi enchérir jusqu'à atteindre cette valeur qui représente le maximum d'argent dont ils disposent pour acheter une ressource. Des stratégies au comportement plus aléatoire existent : chaque ordonnanceur fait une proposition sans connaître l'enchère des autres et c'est la plus haute qui gagne [Vic61].

Bien souvent, l'ordonnancement tel que nous venons de le présenter est insusant, car il n'est pas assez dynamique. De plus dans certaines congurations grille, il est très dif- cile de faire de la réservation de ressources. Par exemple les machines de bureau sont des ressources non dédiées à la grille, qui peuvent exécuter d'autres tâches (e.g bureautique). L'ordonnancement se doit d'être encore plus dynamique par ce qui s'appelle l'adaptabilité d'une tâche en cours d'exécution [ODDG03]. Lorsque le monitoring se rend compte qu'il y a un changement important dans l'état d'une ressource, il en informe un module, chargé de faire migrer une ou plusieurs tâches sur des ressources de calculs diérentes. Le module

1.4. Les services grille 17 doit alors sauvegarder le contexte d'exécution de chacune des tâches, pour pouvoir en- suite reprendre l'exécution là où elle s'était arrêtée. Les futurs ordonnanceurs intégreront cette dynamique pour permettre aux applications d'exploiter encore mieux l'environnement grille.