Rééquilibrage de charge en-ligne bi-critère



Documents pareils
Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Annexe 6. Notions d ordonnancement.

Equilibrage de charge (Load

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

Métriques de performance pour les algorithmes et programmes parallèles

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Ordonnancement temps réel

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

4.2 Unités d enseignement du M1

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Ordonnancement robuste et décision dans l'incertain

«clustering» et «load balancing» avec Zope et ZEO

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

La surveillance réseau des Clouds privés

Contributions à l expérimentation sur les systèmes distribués de grande taille

Rapport d activité. Mathieu Souchaud Juin 2007

OPTIMISATION DE LA MAINTENANCE DES EQUIPEMENTS DE MANUTENTION DU TERMINAL A CONTENEURS DE BEJAIA (BMT)

Projet ViSaGe : implémentation de l administration et du monitoring de ViSaGe (Virtualisation du Stockage appliquée aux Grilles informatiques)

Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain?

Conception des systèmes répartis

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

Application de K-means à la définition du nombre de VM optimal dans un cloud

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

Hétérogénéité pour atteindre une consommation énergétique proportionnelle dans les clouds

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

High Performance by Exploiting Information Locality through Reverse Computing. Mouad Bahi

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

Comment gérer toutes mes tâches logicielles d automatisation dans un seul environnement?

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes

Windows serveur 2008 installer hyperv

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Aspects théoriques et algorithmiques du calcul réparti L agglomération

Livre blanc. La sécurité de nouvelle génération pour les datacenters virtualisés

Introduction à la théorie des files d'attente. Claude Chaudet

L art d ordonnancer. avec JobScheduler. François BAYART

Une proposition d extension de GML pour un modèle générique d intégration de données spatio-temporelles hétérogènes

Maîtrise énergétique des centres de données

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Résolvez vos problèmes d énergie dédiée à l informatique

Change the game with smart innovation

Projet Résilience. Synthèse du partenaire Paris 13. Christophe Cérin, Yanik Ngoko, Alain Takoudjou. Laboratoire d Informatique de Paris Nord

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Stage Ingénieur en développement logiciel/modélisation 3D

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24

Une application des algorithmes génétiques à l ordonnancement d atelier

VMWare Infrastructure 3

ORACLE 10g Découvrez les nouveautés. Jeudi 17 Mars Séminaire DELL/INTEL/ORACLE

4D v11 SQL Release 5 (11.5) ADDENDUM

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles

Mesure et modélisation de l énergie logicielle

Windows Server Chapitre 1: Découvrir Windows Server 2008

Prédiction des performances des opérations de sauvegarde/reprise sur cluster virtuel

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Défi Cloud Computing

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Etude comparative de différents motifs utilisés pour le lancé de rayon

Dimensionnement Introduction

Technologie SDS (Software-Defined Storage) de DataCore

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

Entraînement au concours ACM-ICPC

Mathieu Rivoalen. Etude d'approfondissement des réseaux RICM 5 Option Réseaux

Fiche Technique Windows Azure

WEB15 IBM Software for Business Process Management. un offre complète et modulaire. Alain DARMON consultant avant-vente BPM

Virtual Data Center d Interoute. Prenez la main sur votre Cloud.

Une méthode d apprentissage pour la composition de services web

Système de stockage IBM XIV Storage System Description technique

Vous êtes bien à la bonne présentation, c est juste que je trouvais que le titre de cette présentation étais un peu long,

!-.!#- $'( 1&) &) (,' &*- %,!

Prestations de conseil en SRM (Storage Ressource Management)

L apprentissage automatique

EMC PERSPECTIVE. Le redéploiement des applications SAP sur le stockage EMC et VMware améliore les résultats de Callaway Golf Company

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

Dossier Solution - Virtualisation CA arcserve Unified Data Protection

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

Circuit du médicament informatisé

Hypervision et pilotage temps réel des réseaux IP/MPLS

C-JDBC. Emmanuel Cecchet INRIA, Projet Sardes.

Biostatistiques Biologie- Vétérinaire FUNDP Eric Depiereux, Benoît DeHertogh, Grégoire Vincke

Cisco Unified Computing Migration and Transition Service (Migration et transition)

Mobile OGSI.NET: Grid Computing on Mobile Devices

Contrôle par commande prédictive d un procédé de cuisson sous infrarouge de peintures en poudre.

<Insert Picture Here> Solaris pour la base de donnés Oracle

SECURIDAY 2012 Pro Edition

DG-ADAJ: Une plateforme Desktop Grid

MATRICE DES FONCTIONNALITES

Modélisation aléatoire en fiabilité des logiciels

V3 - Une Appliance Conçue pour le VDI

Portage d applications sur le Cloud IaaS Portage d application

Introduction au Data-Mining

Transcription:

RenPar 18 / SympA 2008 / CFSE 6 Fribourg, Suisse, du 11 au 13 février 2008 Rééquilibrage de charge en-ligne bi-critère Matthieu Pérotin, Patrick Martineau & Carl Esswein Université François Rabelais, Labortoire d Informatique de Tours, 64 av J. Portalis, 37200 Tours - France matthieu.perotin@univ-tours.fr Résumé La recherche en informatique et ses applications demandent une puissance de calcul croissante. Dans cet article, une formalisation du besoin est proposée afin de répondre à cette demande en supprimant les procédures de soumission de jobs contraignantes et peu conviviales. De plus, on souhaite utiliser les ordinateurs déjà en place dans les universités au sein de salles de travaux pratiques de manière la plus simple possible pour les utilisateurs. Un modèle mathématique du problème est proposé afin d apporter une solution au problème d équilibrage de charge. La complexité du problème et une condition nécessaire pour qu un algorithme résolvant le problème soit un approximateur sont établies. Un simulateur est proposé et implémenté. Une nouvelle heurisitique est présentée et comparée avec des heurisitiques classiques de la littérature. Mots-clés : équilibrage de charge, ordonnancement en ligne, Grid, calcul haute performance 1. Introduction 1.1. Objectif L objectif est de produire une solution pour le calcul haute performance utilisant les centaines d ordinateurs qui équipent déjà les universités, par exemple au sein de salles de travaux pratiques. Ces ordinateurs sont souvent récents, interconnectés par un réseau rapide et peu utilisés : ils ne sont que marginalement utilisés durant la nuit, pendant les enseignements leur charge est souvent très basse. Cet article propose une solution permettant d utiliser cette puissance résiduelle en satisfaisant deux objectifs. Le premier est que les utilisateurs légitimes des ordinateurs, principalement les étudiants, ne doivent pas être pénalisés. Il ne serait pas acceptable qu un utilisateur voie son confort se dégrader. En effet la machine sur laquelle il travaille ne doit pas crouler subitement sous les tâches des autres utilisateurs. Le second objectif à atteindre est de produire un système utilisable facilement. On peut préciser cet objectif en trois points : 1. La procédure de soumission de tâches parallèles doit être aisée ; 2. On ne peut pas demander à l utilisateur d estimer la durée de ses travaux ; 3. On ne veut pas imposer un langage de programmation ou une librairie particulière : l utilisateur doit pouvoir utiliser le langage qu il préfère. 1.2. État de l art On s intéresse essentiellement au modèle de parallélisme de type distribution de processus (par opposition au parallélisme de type distribution de données tel Boinc ([7], [8])). Ce modèle contient des systèmes où des processus sont migrés d un ordinateur à un autre. L hypothèse sur laquelle cette méthode repose est la compatibilité binaire des programmes. Cela n est pas toujours possible, un exécutable ne fonctionnant correctement que pour un couple (matériel, système d exploitation) donné. Certains systèmes tels Condor [1] résolvent ce problème en imposant la mise à disposition d un exécutable spécifique pour chaque couple. ProActive [3] fonctionne au-dessus d une machine

virtuelle Java et résout ainsi le problème de façon plus élégante, mais il impose l utilisation d un langage donné. On s intéresse plus précisément aux Single System Image (SSI) qui migrent des processus en cours d exécution de façon transparente pour l utilisateur. OpenMosix [16] ou Kerrighed [2] implémentent de tels systèmes. L utilisateur a l illusion d être face à une machine unique multi-processeurs : ainsi il n a ni besoin d utiliser des bibliothèques spécifiques, ni besoin de changer ses habitudes de programmation. La granularité de tels procédés est généralement le processus, parfois le thread. On se propose de déployer une telle solution en résolvant le problème de l unicité du couple (matériel, système d exploitation) par l utilisation de la virtualisation. La virtualisation permet de lancer un système d exploitation dans un autre. Il est ainsi possible de faire tourner un environnement dédié au calcul parallèle sur presque n importe quel système avec un coût d administration réduit [5]. Avec une architecture virtualisée, un ordinateur fait tourner au-dessus d un système d exploitation un processus dans lequel un autre système d exploitation est exécuté. Des processus séquentiels classiques peuvent être exécutés dans le système d exploitation de base, tandis que l on peut déployer tous les outils nécessaires à l exécution de processus parallèles dans les machines virtuelles. Ces machines pouvant être mises en réseau, on peut y déployer un SSI malgré une contrainte d hétérogénéité de systèmes d exploitation et de matériels. Le coût d exécution dans une machine virtuelle ne cesse de baisser, et peut être très réduit si les processus font peu d appels systèmes. De nombreux modèles d équilibrage de charge ont été présentés dans la littérature ([9], [13], [18], [20]). Ils sont souvent très simples et supposent un usage exclusif des ordinateurs. [10] et [18] négligent les contraintes liées à l occupation mémoire et au modèle de réseau. De même tous les processus ne bénéficient pas d une migration. 1.3. Contribution Cet article présente le problème d équilibrage de charge. Des contraintes liées à l occupation mémoire, au modèle de réseau et à la métrique de charge on été prises en compte. De plus, des hypothèses fortes ont été faites : on ne peut pas estimer les temps d exécution. Un processus est susceptible d être créé sur n importe quel ordinateur, de façon imprévisible a priori. De même on ne peut pas prévoir la date d arrivée des processus. Les processus sont créés à l initiative des utilisateurs. Cela signifie que dans ce modèle, les processus n apparaissent pas dans une file globale que l on vide lorsque les processeurs sont inactifs. De plus, on considère, comme c est le cas sur un ordinateur classique, que l exécution des processus se fait de façon préemptive : les processus ne sont pas exécutés séquentiellement sur un processeur. Un simulateur est ici proposé. Il est flexible et permêt l exécution de nombreux cas de figure. Il est utilisé afin de comparer deux heurisitiques issues de la littérature. SIMPLE+ est une légère amélioration de l algorithme classiquement utilisé par OPENMOSIX. RUDOLPH est l algorithme proposé par [18] et RBT est une contribution de cet article. L organisation de l article reflète ces deux aspects. Dans une première section un modèle d étude sera donné et la complexité du problème établie. En outre, il sera montré que SIMPLE+ implémentée dans les solutions techniques existantes a une performance qui ne peut être garantie. Une seconde section présentera le simulateur implémenté avec SimGrid. La génération d instances sera abordée et des résultats expérimentaux permettront de comparer les heuristiques les unes aux autres. 2. Modélisation 2.1. Modèle Mathématique Un modèle d étude est ici proposé afin de répondre à la question d ordonnancement suivante : comment choisir quel processus migrer vers quelle machine? Soit M l ensemble des ordinateurs de l université. Soit m = M le nombre total d ordinateurs, et m j l ordinateur j, pour j = 1..m Chaque ordinateur m j est caractérisé par sa quantité de mémoire vive totale (mem(m j )), la vitesse de son processeur (speed(m j )) et son état (state(m j )) qui peut être libre ou occupé dépendamment de la 2

présence d un utilisateur physique travaillant sur la machine à un instant donné. { 0 si mj est libre state(m j ) = 1 sinon Le réseau est modélisé par une matrice carrée N de taille m, où N i,j est le débit réseau disponible entre les ordinateurs m i et m j. Cette valeur peut varier au cours du temps en fonction de la charge sur le réseau. Cette modélisation est une simplification de l architecture réelle : on ne considère que la connexion des ordinateurs les uns avec les autres, sans se préoccuper de l enchaînement de switchs et de routeurs. Soit P = {p i } i=1..p l ensemble des processus à l état activable sur M. i = 1..p, j = 1..m, soit { 1 if pi s P ij = execute sur m j 0 sinon Soit mu(p i ) la mémoire utilisée par p i La première fonction objectif est l équilibrage de charge : plus la charge sera équilibrée, plus vite les processus se finiront. La charge instantanée d un ordinateur m j, InstantLoad j est définie par : InstantLoad j = Cette définition classique est généralement bonne pour un ordinateur unique ou pour comparer la charge entre des ordinateurs homogènes. Cependant, elle est inappropriée pour comparer la charge d ordinateurs de puissance variable. Ainsi une autre métrique qui dépend de la vitesse des ordinateurs et de leur état est proposée. Soit load j = (1 + K state(m j )) InstantLoad j speed(m j ) la charge de l ordinateur m j, où K est une constante entière positive qui permet de spécifier la charge maximale acceptable sur un ordinateur sur lequel un utilisateur est connecté. Une seconde fonction objectif est le temps de communication réseau qui est à minimiser. Les migrations de processus peuvent être longues, et empêcher le gain de performance ([15] et [14]). Ainsi les migrations doivent être évitées, elles sont pourtant nécessaires pour équilibrer la charge. 2.2. Résolution du problème en-ligne Le problème auquel on s intéresse est en-ligne [11], car plusieurs paramètres sont acquis en ligne, en particulier l état des machines, l arrivée et la disparition des processus. On se propose donc de laisser la situation se déséquilibrer et de la rééquilibrer à intervalles réguliers. À un instant donné on considère l état global du système et on fait l hypothèse qu il n évoluera plus. Des décisions d ordonnancement sont alors prises en conséquence, en résolvant un problème d ordonnancement hors ligne. À l instant de décision suivant, soit l hypothèse s est avérée exacte, auquel cas il n y a rien à faire, soit elle s est avérée fausse et on réitère le processus. Ainsi on se retrouve face à la résolution d une suite de problèmes hors ligne plutôt qu à la résolution d un problème en ligne. À l instant de décision, on modélise les migrations grace à une variable binaire : i = 1..p, j = 1..m, { 1 if pi est migré vers m X ij = j 0 sinon On considère que si p i est initialement sur m j et n est pas migré, alors X ij = 1. Ce modèle est très proche du problème de rééquilibrage de charge défini par [6] : Définition 1 Le problème de rééquilibrage de charge [6] : Étant donnée une répartition de n tâches sur m processeurs, ainsi qu un entier positif k, déplacer au plus k tâches pour minimiser la charge maximale sur un processeur. Plus généralement, soit c i le coût de migration de la tâche i, on souhaite déplacer les tâches en ne dépensant pas plus qu un budget B donné. p i=1 P ij 3

Le modèle d Aggarwal ne considère que des processeurs uniformes, et la charge est définie comme étant la somme de la taille des procesus. Dans le modèle proposé dans cet article, les processus ont une taille constante au regard de la fonction de charge, conformément à la mesure de charge classique d UNIX. On se retrouve donc face un problème hors ligne dont les deux fonctions objectifs sont : Équilibrer la charge : min max j=1..m load j Minimiser le coût des migrations : min m m k=1 l=1 i=1 p N k,l P ik X il mu(p i ) Face à ce problème bi-critère, l approche ɛ-contrainte [19] est appropriée, et vient naturellement comme la quantité de processus que l on peut migrer entre deux instants de décision. Ainsi la seconde fonction objectif devient une nouvelle contrainte : m m k=1 l=1 i=1 p N k,l P ik X il mu(p i ) Const Seul l objectif d équilibrage de charge demeure. Le modèle proposé est NP-Difficile au sens fort. Une réduction de la variante décisionnelle à 3-Part est donnée dans [17]. 2.3. Algorithmes et taux de compétitivité Un algorithme trivial dont l idée n est pas très éloignée de celle de Rudolph et al ([18]) est appelé SIMPLE. Il est par exemple utilisé par OpenMosix. Cet algorithme est complètement distribué et un agent tourne sur chaque ordinateur. Cet agent prend des décisions de migration pour les processus s y trouvant. Il peut être écrit ainsi : Tant qu il existe un ordinateur moins chargé, lui envoyer un processus (quelle que soit la façon de choisir un processus). Il a été montré dans [17] que cet algorithme n est pas un approximateur du problème. On peut généraliser ce résultat pour montrer que tout algorithme n autorisant pas de dégradation de la valeur de la fonction objectif n est pas approximateur, et que cette condition est donc une condition nécessaire pour l obtention d un tel algorithme. 3. Méthodologie d évaluation Afin de comparer différentes heuristiques de résolution du problème LoadBalancing, des tests ont été réalisés dans le simulateur SimGrid ([4], [12]). 3.1. Génération d Instances Deux types de données sont à considérer afin de réaliser la simulation : les processus et les utilisateurs. Processus Les processus sont modélisés comme ayant deux paramètres : une durée et une occupation mémoire. Par souci de simplification, l occupation mémoire est considérée comme étant constante au cours du temps. On caractérise les processus plus en détail comme pouvant être courts (temps d exécution de l ordre de la seconde) ou longs (plusieurs dizaines de minutes), petits (quelques Mo) ou gros (plusieurs dizaines de Mo). L exécution des processus se fait de façon préemptive, comme c est le cas sur un système réel. Les Utilisateurs Le paramètre essentiel générateur d évènements est l utilisateur. On peut en considérer deux types : Utilisateur classique (type A) : il s agit d un utilisateur unique se connectant sur une machine afin d effectuer un travail ne demandant pas de calcul intensif. Il créé essentiellement des processus courts, et utilise une machine pendant environ 1h30. 4

Utilisateur intensif (type B) : il s agit d un utilisateur demandeur de puissance de calcul. Il lance essentiellement des processus longs, par dizaines et utilise un ordinateur durant la journée entière Pour pouvoir créer un processus sur une machine, il faut que la machine dispose d une mémoire libre au moins égale à la taille en mémoire du processus. Si ce n est pas le cas, le processus est refusé. 3.2. Algorithmes Trois méthodes d ordonnancement ont été considérées et implémentées dans le simulateur. RBT L idée de RBT est de calculer une borne inférieure en relaxant la contrainte de mémoire, puis d essayer de s en approcher le plus possible par une méthode round robin. On peut l écrire ainsi : Si je suis la machine la plus chargée Alors Calculer la solution du problème en relaxant la contrainte de mémoire Migrer autant de processus que nécessaire pour atteindre ma charge idéale en envoyant à tour de rôle aux machines sous-chargées en fonction de leur charge calculée. Rudolph L algorithme de [18] a été adapté pour convenir au contexte décrit. On peut écrire cette variante ainsi : Si je suis la machine la plus chargée Alors Soit i la machine à laquelle je peux envoyer le plus de processus afin d équilibrer nos charges Équilibrer ma charge avec i SIMPLE+ L algorithme SIMPLE+ ici proposé est une version améliorée de SIMPLE. Il est proposé afin d éviter les problèmes d oscillation que SIMPLE peut connaître : une tâche migrée vers une machine n ayant pas assez de mémoire vive pour l accueillir, est de nouveau migrée en retour sur la machine initiale. Afin de tenter d éviter ces situations, on propose l algorithme suivant : Si je suis la machine la plus chargée Alors Si La machine la moins chargée a suffisamment de mémoire pour accueillir mon plus petit processus Alors Envoyer mon plus petit processus à la machine la moins chargée Sinon S il existe une machine à même de recevoir mon plus petit processus, le lui envoyer RANDOM On considère un algorithme aléatoire, RANDOM, que l on peut décrire ainsi : si je suis la machine la plus chargée, alors envoyer un processus tiré au hasard à une machine tirée au hasard. NULL Enfin on se comparera au résultat de la simulation dans le cas où l on n effectue pas de rééquilibrage de charge. 3.3. Résultats Trois instances sont considérées. Une première instance, (A), est composée de six ordinateurs interconnectés par l intermédiaire d un switch. Quatre sont de puissance égale et disposent de 512 Mo de mémoire vive, deux sont deux fois plus rapides et disposent de deux fois plus de mémoire. La simulation s étend sur une période de 24 heures, au cours desquelles des utilisateurs se connectent sur les ordinateurs. Les créations de processus ont lieu exclusivement sur les ordinateurs les plus rapides et sur l un des autres. Les trois autres ordinateurs n ont pas d utilisateurs sur la période. Une deuxième instance, (B), est identique à l instance (A), avec l ajout de 6 nouveaux ordinateurs identiques aux 6 premiers. Des processus sont générés sur trois ordinateurs, les neufs autres n ont pas d utilisateurs durant la période. La troisième instance, (C), est composée de 12 ordinateurs et est obtenue en connectant deux instances (A) à un même switch. Pour comparer les résultats donnés par les différents algorithmes on utilise deux 5

indicateurs. Le premier est une traduction directe de la fonction objectif du problème, c est-à-dire la charge maximale. Afin de pouvoir comparer des instances différentes, on utilise l évolution au cours du temps de la fonction : δ(t) = max j=1..m load j,t min j=1..m load j,t max j=1..m load j,t Pour vérifier l adéquation du critère d équilibrage de charge avec la performance du système, on présente un deuxième indicateur. Il s agit du nombre de tâches acceptées par le système ainsi que le nombre de tâches qui ont pu être terminées par le système sur l intervalle de temps de 24 heures. Dans le modèle, une tâche est refusée si la ma chine ne dispose pas d une mémoire libre au moins égale à la taille en mémoire du processus. On présente le rapport de ces nombres avec le nombre de demandes de création, égal à la somme des nombres de tâches acceptées et refusées. L hypothèse que l on cherche à vérifier est que si la charge est correctement équilibrée alors le système travaille plus efficacement et est à même de réaliser plus de tâches dans le même intervalle de temps. On rappelle que le volume de communications réseau n est pas évalué. En effet, puisque l on utilise une méthode de résolution de type ɛ-contrainte, ce volume n est plus un critère : c est devenu une contrainte. Étant donné le caractère stochastique de la simulation, les résultats donnés sont des moyennes sur 10 lancements. NULL RANDOM SIMPLE+ RUDOLPH RBT δ(t) (A) 0,9 0,36 0,32 0,32 0,32 Acceptées (A) 45,88% 82,18% 85,39% 85,69% 85,11% Terminées (A) 41,02% 63,86% 71,94% 72,28% 74,20% δ(t) (B) 0,94 0,57 0,53 0,42 0,55 Acceptées (B) 40,37% 95,62% 95,31% 99,97% 97,07% Terminées (B) 38,07% 88,94% 89,31% 89,02% 90,62% δ(t) (C) 0,85 0,44 0,36 0,35 0,42 Acceptées (C) 29,45% 77,92% 75,76% 87,79% 78,13% Terminées (C) 26,72% 57,88% 57,37% 52,43% 60,75% TAB. 1 Résultats des simulations (Acceptées : taux de tâches non refusées pour manque de mémoire, Terminées : taux de tâches menées à terme sur la période de 24 heures.) 3.4. Analyse Les résultats obtenus confirment que le modèle proposé est pertinent. On remarque d une part que l utilisation d une règle simple et irréfléchie (RANDOM) produit des résultats meilleurs que ceux obtenus en ne faisant rien. Cela se caractérise par le fait que la valeur du critère est plus basse et que plus de tâches sont menées à terme. D autre part on constate que l utilisation d une règle simple et un peu plus réfléchie (SIMPLE+) produit des résultats meilleurs que ceux de RANDOM relativement au critère δ(t). Si RANDOM est en moyenne plutôt performant (en particulier dans l instance C), il connaît le plus grand écart type relatif à ses résultats. Il est donc le moins stable. On remarque par ailleurs que dans le cas (A) où peu de machines sont présentes, les performances des différents algorithmes sont très similaires. Cela s explique par le faible choix à faire vis-à-vis des migrations. L écart se creuse lorsque l on augmente les choix possibles. Bien que non pris en compte dans les critères, RUDOLPH est particulièrement efficace pour équilibrer la charge mémoire. Il possède ainsi le plus fort taux d acceptation : les machines chargées évacuent plus vite leurs processus, libérant de la place pour les suivants. La contrepartie est que les machines sont globalement plus chargées que lors de l exécution des autres heuristiques. À cause du modèle d exécution préemptif, les ordinateurs arrivent à finir moins de tâches sur 24 heures. Son taux de refus bas se corrèle directement avec une 6

valeur de δ(t) basse et sa stratégie de chercher à toujours migrer le plus gros volume. Quant à RBT, il entraîne le refus de plus de tâches, mais les machines sont ainsi moins chargées, et plus de processus sont menés à terme dans le délai imparti. Le nombre de tâches terminées est plus faible dans le cas C que dans les autres cas. D une part, le nombre de tâches menées à terme est moins bon que dans le cas B. Cela est dû au fait que les machines sont plus chargées. D autre part, les performances sont moins bonnes que dans le cas A. Cela s explique par le fait que les communications induites par le système est plus important. Ces communications incluent les messages de synchronisation, par lesquels chaque ordinateur transmet ses informations (charge, état, mémoire libre) aux autres ordinateurs. La valeur moyenne du critère δ(t) est moins bonne dans le cas B que dans le cas C. Cela est dû au fait que seuls trois ordinateurs génèrent de la charge, et les mécanismes d équilibrage mettent plus de temps à obtenir une situation équilibrée. D où un impact direct sur la valeur moyenne du critère. 4. Conclusion Un modèle d étude a été proposé. Un mécanisme d équilibrage de charge distribué et en-ligne a été exposé, puis implémenté au sein du simulateur SimGrid. Pour ce faire, l ensemble du processus a été décomposé en trois sous-ensembles : les ressources, les utilisateurs et leurs tâches. Des hypothèses fortes ont été effectuées : l impossibilité d estimer les temps d exécution, la prise en compte des contraintes de mémoire et l exécution parallèle des tâches sur un processeur donné. L apport de règles d ordonnancement heuristiques simples a été prouvé dans ce cadre. Les pistes d études sont nombreuses : outre l apport de nouvelles heuristiques, il convient maintenant de fixer un certain nombre de paramètres de façon expérimentale. En particulier la variable, K de la fonction objectif a une incidence directe sur le nombre de processus s exécutant sur un ordinateur où un utilisateur est connecté. La diffusion des informations de synchronisation a aussi un impact direct sur les performances globales du système. L utilisation de communications de type broadcast n est plus possible au delà d un nombre raisonnable d ordinateurs. D autres méthodes de diffusion sont à l étude. Par ailleurs, le modèle peut être étendu au cas où la mémoire des processus varie au cours du temps. Une autre relaxation d un cas pourtant bien réel a été faite et mérite d être étudiée : l hypothèse qu un processus s exécute aussi rapidement sur l ordinateur sur lequel il a été créé que sur un autre ordinateur du réseau (à la vitesse du processeur près). De nombreux cas réels peuvent mettre en défaut cette hypothèse, en particulier dans le traitement des appels systèmes. Nous travaillons actuellement sur la formalisation et la modélisation des appels systèmes émis par un processus afin de les inclure à notre simulation. D autres contraintes pertinentes sont considérées comme les contraintes de précédence et les communications inter-tâches. Parallèlement, le déploiement de la solution technique est en cours de planification. Bibliographie 1. Condor. http ://www.cs.wisc.edu/condor/. 2. Kerrighed. http ://www.kerrighed.org/. 3. Objectweb consortium proactive. http ://www-sop.inria.fr/oasis/proactive/. 4. Simgrid. http ://simgrid.gforge.inria.fr/. 5. Vmware. http ://www.vmware.com. 6. Aggarwal (G.), Motwani (R.) et Zhu (A.). The load rebalancing problem. Proc. ACM SPAA, 2003, 2003. 7. Anderson (D.P.). Boinc : A system for public-ressource computing and storage. 5th IEEE/ACM International Workshop on Grid Computing, 2004. 8. Anderson (D.P.), Cob (J.), Korpela (E.), Lebofsky et Werthimer. Seti at home : An experiment in public ressource computing. Communications of the ACM, vol. 45 No. 11, Nov 2002, pp. 56 61. 9. Berenbrink (Petra) et al. Randomized and adversarial load balancing. Proceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures, 1999, pp. 175 184. 7

10. Berenbrink (Petra), Friedetzky (Tom) et Goldberg (Leslie Ann). The natural work-stealing algorithm is stable. In : IEEE Symposium on Foundations of Computer Science, pp. 178 187. 11. Borodin (Allan) et El-Yaniv (Ran). Online Computation and Competitive Analysis. Cambridge University Press, 1998. 12. Casanova (Henri), Legrand (Arnaud) et Marchal (Loris). Scheduling distributed applications : the simgrid simulation framework. Proceedings of the third IEEE International Symposium on Cluster Computing and the Grid (CCGrid 03), 2003. 13. Casavant (T.L.) et Kuhl (J.G.). A taxonomy of scheduling in general-purpose distributed computing systems. IEEE Transactions on Software Engineering, 1988, pp. 141 154. 14. Downey (Allen B.) et Harchol-Balter (Mor). A note on The Limited Peroformance Benefits of Migrating Active Processes for Load Sharing. Rapport technique, Computer Science Division University of California Berkeley, 1995. 15. Eager (Derek L.), Lazowska (Edward D.) et Zahorjan (John). The limited performance benefits of migrating active processes for load sharing. SIGMETRICS, May 1988, pp. 662 675. 16. Hanquez (Vincent) et Bar (Moshe). Openmosix kernel patch website. http ://openmosix.sf.net. 17. Perotin (Matthieu), Martineau (Patrick) et Esswein (Carl). équilibrage de charge réaliste pour la grille. Rapport Interne - LI Tours, 2008. 18. Rudolph (Larry), Slivkin-Allalouf (Miriam) et Upfal (Eli). A simple load balancing scheme for task allocation in parallel machines. In : ACM Symposium on Parallel Algorithms and Architectures, pp. 237 245. 19. T kindt (V.) et Billaut (J.C). Multicriteria Scheduling. Springer Verlag, Berlin, 2002. 20. Xu (Chengzhong) et Lau (Francis C.). Load Balancing in Parallel Computers : Theory and Practice. Norwell, MA, USA, Kluwer Academic Publishers, 1997. 8