1.1 Introduction au probleme de la repartition de charge. Un programme parallele peut ^etre vu comme un ensemble de t^aches qui communiquent.

Dimension: px
Commencer à balayer dès la page:

Download "1.1 Introduction au probleme de la repartition de charge. Un programme parallele peut ^etre vu comme un ensemble de t^aches qui communiquent."

Transcription

1 Chapitre 1 Repartition de charge P. Bouvry (LMC-IMAG) J.M. Geib (LIFL) D. Trystram (LMC-IMAG) 1.1 Introduction au probleme de la repartition de charge Un programme parallele peut ^etre vu comme un ensemble de t^aches qui communiquent. Un des problemes principaux de l'implantation d'un algorithme sur une architecture de type MIMD a memoire distribuee est celui du contr^ole de la charge des nuds en termes de t^aches a y executer. Concevoir un algorithme parallele, c'est avant tout determiner un ordonnancement des t^aches. Cet ordonnancement peut s'eectuer a deux moments dierents : soit a la compilation (de maniere statique), soit lors de l'execution proprement dite (de maniere dynamique). Le temps global d'execution d'un algorithme parallele peut ^etre tres signicativement degrade par une mauvaise utilisation des ressources (reseau et capacite de calcul). La distribution des t^aches sur les nuds (task scheduling) s'interesse a ce probleme en mettant en place un processus permettant de decider du placement d'une t^ache avant son execution et/ou de la migration de celle-ci. Dierentes strategies existent concernant a la fois l'obtention des informations pertinentes pour la decision et la prise de decision elle-m^eme. Il serait agreable pour le programmeur de disposer d'outils automatiques (ou a defaut, d'aide a la programmation ecace) pour realiser la prise de decision. An d'assurer l'avenir industriel de ce type de machines, le developpement de tels outils s'avere indispensable. L'objet de ce cours est de presenter les principales methodes d'allocation de charge dans le cadre statique et de regulation de charge dans le cadre dynamique. Il est base sur une abondante bibliographie Organisation du chapitre Ce chapitre est consacre a la description de methodes d'allocation et de regulation de charge. Nous envisageons successivement les placements statique et dynamique. Dans le cas du placement statique, une serie d'informations doit ^etre disponible avant l'execution du programme an de pouvoir guider la repartition des t^aches parmi les 1

2 2 CHAPITRE 1. R EPARTITION DE CHARGE processeurs. Apres avoir deni le probleme et donne les principales hypotheses de travail, nous donnons les principales representations des programmes paralleles. Puis nous discutons rapidement les dierents criteres utilises et nalement nous presentons les principales methodes en insistant sur leurs qualites et defauts. Dans le cas du placement dynamique, les strategies doivent disposer d'informations en provenance des dierents nuds - informations dites de charges locales - pour ensuite prendre des decisions de localisations des t^aches. Le choix d'une localisation peut ^etre entrepris a l'occasion du lancement delat^ache, ou encore a tout moment en se basant sur des possibilites de migration des t^aches. Apres avoir introduit les dierents elements permettant la mesure d'une charge locale, cette partie decrit les dierentes strategies de distribution dynamique des t^aches par une analyse des strategies de collecte des informations locales et une analyse des strategies de prise de decision. Dans une conclusion/discussion, on examinera les caracteristiques des architectures distribuees et paralleles sous le point de vue de la distribution dynamique de la charge Statique versus dynamique Les strategies statiques utilisent des approches multiples pour calculer a priori, c'est- a-dire avant l'execution, une distribution optimale (ou au moins, ecace) des t^aches parmi les dierents processeurs. Elles se fondent essentiellement sur une connaissance prealable de dierents parametres associes aux t^aches { comme les co^uts de calcul et de communication { et n'utilisent pas ces m^emes informations en provenance directe de l'execution. Une bonne modelisation et analyse statique ne permettent d'obtenir une bonne solution qu'a condition de disposer de ces informations prealables (ce qui n'est pas toujours possible) et que le systeme soit assez stable pour que la non utilisation de l'etat dynamique du systeme reste une demarche realiste. De ce fait, les approches statiques ne sont pas toujours applicables aux systemes distribues, a la prise en compte de recongurations et de pannes, et aux applications creant dynamiquement de nombreuses t^aches ou chemins de communication telles les applications de type Divide and Conquer ou les applications a base d'objets ou d'acteurs. A l'inverse, les strategies purement dynamiques ne demandent aucun prealable a l'execution. Les decisions qu'elles sont amenees a prendre n'utilisent que des informations obtenues "en temps reel" au cours de l'execution. Elles sont donc particulierement adaptees aux architectures distribuees a grain moyen, avec possibilites de recongurations dynamiques, et aux applications qui viennent d'^etre citees. Elles s'utilisent avantageusement lorsque le systeme permet la migration de t^aches, ce qui ore plus de libertes au processus de distribution. 1.2 Placement statique Classication Devant la diversite des methodes possibles d'allocation et regulation de la charge, Casavant et Kuhl ont propose une classication tres complete des dierentes methodes dans le cadre de machines paralleles a memoire distribuee [CK88]. Ces methodes peuvent ^etre envisagees comme la description des interactions entre des ressources, des consommateurs et une politique d'attribution de ces ressources aux consommateurs.

3 1.2. PLACEMENT STATIQUE 3 Les buts recherches sont principalement l'ecacite et la performance. Dans le premier cas, le but est de satisfaire les consommateurs en utilisant peu de ressources, dans le second, il s'agit plut^ot d'obtenir le maximum de satisfaction. Ces deux criteres sont (evidemment) contradictoires. La classication proposee distingue principalement cinq caracteristiques : { Strategies statiques ou dynamique, selon que l'allocation des t^aches s'eectue une fois pour toutes avant l'execution ou est regulee pendant l'execution, { Equilibrage de la charge, { Strategies deterministes ou probabilistes, {Politiques denitives ou revisables, {Politiques d'adjudication (avec automomie de decision aux consommateurs) Representation des programmes Graphes de precedence Un algorithme peut ^etre commodement represente par un graphe oriente, constitue de l'ensemble de t^aches elementaires (sommets) reliees par des contraintes de precedence (arcs) [CD73]. Chaque t^ache est caracterisee par son temps d'execution et chaque arc par un co^ut de communication qui modelise la quantite d'informations aechanger entre les dierentes t^aches. La gure 1.1 montre une telle representation pour le calcul d'une expression arithmetique simple. Elle est communement appelee graphe de precedence. Fig. 1.1-:Exemple de graphe de Precedence z = ax +by main() { int a=5; int x=6; OutWord(Chan[0],a*x); } main() { int b=5; int y=2; OutWord(Chan[0],b*y); } main() { int z; z=inword(chan[0])+inword(chan[1]); }

4 4 CHAPITRE 1. R EPARTITION DE CHARGE Les algorithmes reguliers tels que ceux de l'algebre lineaire s'expriment naturellement sous forme de graphe de precedence aboutissant a une implementation ecace sur reseau de processeurs. Cette demarche tend a dicter une methodologie de programmation visant a construire des graphes de precedence. Il existe une litterature de plus en plus abondante sur la resolution des problemes de placement vus du c^ote de l'ordonnancement, c'est-a-dire en prenant en compte des dependances et des communications. Ces travaux sont souvent theoriques (architecture idealisee, temps d'execution constants des t^aches, communications en temps constant, etc.) et peu de realisations pratiques sont proposees, excepte [ERL90]. Graphes des t^aches #define nbre_travaux 23 #define nbre_esclave 3 extern int donne_travail(); main() /* source du ma^tre */ { int s,busy,esclave=0; int nt=nbre_travaux; while (esclave++<nbre_esclave) if (nt!=0) {OutWord(Chan[esclave],donne_travail());nt--;busy++;}; while (busy) { esclave=altblck(&chan[0],nbre_esclave); s+=inword(chan[esclave]);busy--; if (nt) { OutWord(Chan[esclave],donne_travail());nt--;busy++;}; }; } Ma^tre extern int travail(int t); main() /* source des esclaves */ { int t; while (1==1) { t=inword(chan[0]); OutWord(Chan[0],travail(t)); }; } Esclaves Fig : Exemple de graphe de t^aches Il existe une autre maniere de modeliser un algorithme en ignorant les relations de precedence entre les t^aches, une ar^ete modelise alors simplement une communication

5 1.2. PLACEMENT STATIQUE 5 sans se soucier de son sens. Cela revient en quelque sorte a ignorer le parallelisme relatif des t^aches. Nous appellerons cette representation graphe de t^aches. C'est ce modele qui sert de base a la plupart des algorithmes de placement. Dans le cadre statique, nous representons donc un programme comme un graphe de t^aches dont les nuds sont des t^aches et les ar^etes des canaux de communication entre ces t^aches. A ces nuds et ar^etes sontassocies des nombres representant respectivement des co^uts de calcul et de communication. La gure 1.2 montre l'exemple d'une telle representation pour un calcul maitre/esclave. Cas dynamique Le modele du graphe de precedence n'est pas general, car tous les algorithmes ne s'y reduisent pas. Certains algorithmes possedent une partie completement dynamique. C'est-a-dire que la generation des t^aches va dependre, entre autres, des donnees en entree. De plus, on peut envisager des outils de regulation de charge (dynamique) qui vontrepartir, lors de l'execution du programme, les charges de calcul parmi les dierents processeurs. La notion de t^ache est modiee, une t^ache est simplement vue comme une partie de la memoire Denition du probleme du placement statique Nous nous interessons dans ce paragraphe aux placements statiques, c'est-a-dire realises avant l'execution du programme parallele. Cette solution n'est envisageable que lorsque l'on connait a l'avance assez precisemment le schema d'execution de son programme ce qui est le cas dans de nombreux problemes de calcul numerique par exemple. Un placement est une application (notee alloc) qui a une t^ache associe un processeur. 8t 2 T 9p 2 P alloc(t)=p ou T est l'ensemble des t^aches a placer et P l'ensemble des processeurs. La recherche d'un placement se fait sur l'ensemble PL de tous les placements possibles. Si jp j le nombre de processeurs et jt j le nombre de t^aches, alors il existe jp j jt j placement possibles, ce qui rend trop co^uteux l'exploration de toutes les possibilites de placement (ce probleme est connu comme etant NP dicile [GJ79]). Dans la plupart des cas, toutes les t^aches communicantes n'ont pas ete placees sur des processeurs voisins. Certaines communications vont necessiter un routage. Dans le cas jt j > jp j (le plus frequent en pratique), une solution possible consiste a eectuer une phase preliminaire de regroupement et a travailler alors avec jp j groupes de t^aches. Dans le cadre de la duplication, on peut associer plusieurs processeurs a une m^eme t^ache. Selon les algorithmes consideres, on prend ou non en compte la duplication Criteres de placement Notons calc(t i ) la dure d'une t^ache t i et comm(t i t j ) la duree de la communication de la t^ache t i vers la t^ache t j. Un placement est caracterise par une fonction de co^ut qui permet de mesurer sa qualite. Elle appara^t explicitement dans tous les algorithmes de placement basees sur les techniques d'optimisation. Par contre, dans certains algorithmes heuristiques, elle est

6 6 CHAPITRE 1. R EPARTITION DE CHARGE implicite. Il existe de nombreux choix pour cette fonction de co^ut, nous nous proposons dans la suite de passer en revue celles qui nous paraissent les plus pertinantes. Le plus objectif des co^uts est le temps total d'execution du programme qui, sur une machine parallele, correspond au temps d'execution du processeur qui termine le dernier. Le calcul du temps d'execution sur un processeur depend du modele d'architecture choisi. En particulier, certains processeurs ont la possibilite d'eectuer ou non des calculs pendant qu'ils communiquent (on parle dans ce cas de recouvrement des calculs et des communications). D'autre part, des communications peuvent ou non ^etre faites simultanement sur un processeur. Nous considerons ici un modele sans recouvrement entre calculs et communications et a communications non simultanees. Le co^ut de l'execution de la t^ache t i pour le placement alloc est calcule delafacon suivante : calc(t i )+ X tjjalloc(t j)6=alloc(t j) comm(t i t j ) Autrement dit, lorsqu'une t^ache t i est placee sur le processeur alloc(t i ), le co^ut d'execution sur celui-ci est augmente duco^ut de calcul de la t^ache et du co^ut de ses communications avec les t^aches placees sur les autres processeurs (on ne compte evidemment pas les communications entre deux t^aches placees sur le m^eme processeur). Le co^ut cumule sur un processeur p k donne est egal a la somme de tous les co^uts partiels des t^aches allouees sur ce processeur. t alloc (p k )= X tijalloc(ti)=pk 2 4 calc(ti )+ X tjjalloc(tj)6=alloc(ti) comm(t i t j ) Le co^ut du placement alloc complet est le maximum des co^uts d'execution de tous les processeurs, c'est-a-dire : C alloc = max pk2p (t alloc (p k )) Le co^ut du meilleur placement est donc : C = min alloc2pl (C alloc ) Evidemment, ce critere n'est pas exact. En particulier, comme nous l'avons deja souligne, l'approximation obtenue en negligeant les precedences peut conduire a des comportements paradoxaux. Notons que l'on peut facilement modier cette fonction si l'on desire tenir compte par exemple du recouvrement calculs/communications (a ce moment la, la somme dans le calcul de devient un calcul de maximum) ou encore des communications simultanees (il sut alors de ponderer le terme des communications par le degre moyen du graphe de precedence). De plus, il est possible de distinguer les processeurs entre eux dans le cas d'une architecture heterogene, etc. Remarquons qu'un autre critere est frequemment utilise:l'equilibrage de la charge. Le but est alors de minimiser l'ecart des charges des processeurs a la moyenne. C'est- a-dire : 3 5

7 1.2. PLACEMENT STATIQUE 7 X Pp C alloc = t alloc(p k ) t l2p alloc(p l ) ; jp j pk 2P Si la charge de calcul est bien equirepartie, ce critere est grosso modo le m^eme que le precedent. On trouve dans la litterature de nombreuses autres possibilites de fonctions de co^ut (le lecteur intesse pourra se reporter par exemple a [NT93] pour une etude plus exhaustive) Les dierentes solutions Le probleme du placement de t^aches dans sa generaliteetant NP-dicile, il n'existe pas (sauf pour quelques cas simples) d'algorithme placant au mieux, en temps polyn^omial, un graphe de t^aches sur un reseau de processeurs [Bok81]. On a donc le choix entre deux grandes alternatives : chercher l'optimal en risquant l'explosion combinatoire ou bien, se contenter d'un placement approche, trouve en un temps raisonnable. De tres nombreuses strategies de placement de t^aches ont ete proposees dans la litterature, comme en temoigne la large bibliographie donnee dans ce rapport. Les resolutions possibles peuvent ^etre envisagees de dierentes manieres. Ainsi, on distingue : Les algorithmes exacts dont le principe repose sur une exploration de toutes les solutions possibles. Cette approche conduit donc a la solution optimale, mais est tres co^uteuse en pratique et inemployable pour des exemples trop grands. Les algorithmes heuristiques qui conduisent a une solution approchee, eux-m^emes se divisent en deux categories. D'une part, les algorithmes gloutons qui permettent de construire une solution de proche en proche en partant d'une solution initiale partielle que l'on complete et d'autre part, les algorithmes iteratifs qui partent d'une solution complete que l'on ameliore par transformations elementaires. Enn les heuristiques obtenues comme generalisations d'algorithmes exacts qui partent d'algorithmes qui ne sont applicables a la base que dans des cas restreints et qui en relaxant certaines contraintes fournissent des solutions sous-optimales mais valables Algorithmes exacts Dans cette classe, on trouve les algorithmes qui enumerent tous (ou presque tous) les cas pour selectionner le meilleur placement. Nous pouvons representer sous forme d'arbre la construction de toutes les solutions possibles (soit tout l'ensemble PL) en partant de la conguration ou aucune t^ache n'est placee (la racine) vers l'ensemble des t^aches placees (les feuilles). Dierentes explorations de cet arbre sont possibles : { En profondeur d'abord, on construit le plus rapidement possible une solution [Pea90]. {Endeveloppant le nud ayant la plus petite valeur, etant donnee la fonction de co^ut et les t^aches deja placees (meilleur d'abord) [Sin87] [ST85]. {En developpant le nud ayant le plus grand espoir d'^etre a la base d'une solution optimale en tenant compte des t^aches dejaplacees et en utilisant une heuristique sous-estimant les t^aches restant a placer (A*) [HNR68]. Une bonne heuristique doit pouvoir fournir une sous-estimation aussi proche que possible de la fonction

8 8 CHAPITRE 1. R EPARTITION DE CHARGE de co^ut et doit ^etre aussi simple a calculer que possible. Dans la majorite des cas, ces objectifs sont contradictoires, c'est pourquoi, le choix d'une heuristique peut se montrer tres dicile. Comme exemple d'heuristique, on peut essayer d'eectuer un placement glouton, dont on conna^trait une borne (telle que la borne de 4/3 du LPTF (Largest Processing Time First) [Lee91] dans le cas de t^aches independantes), sur les t^aches qui restent a placer. Ces algorithmes fournissent une solution optimale au probleme du placement, mais ont une complexite exponentielle dans le pire cas. Il est cependant possible d'arr^eter la recherche lorsque l'on a trouve une solution qui nous para^t satisfaisante. Ces algorithmes, assez co^uteux, devraient ^etre utilises dans le cas d'applications destinees a ^etre installees une fois pour toutes et qui possedent un petit nombre de t^aches. Il existe d'autres methodes d'enumeration de l'ensemble des solutions et de recherche de l'optimal. On peut, par exemple, decouper le probleme en sous-problemes et envisager une recherche par Branch&Bound [PS82]. Certains algorithmes optimaux existent dans des cas restreints : { Lo [Lo88] a propose un algorithme base sur un couplage maximal (donc polyn^omial) et minimisant le co^ut de communication entre t^aches a condition de respecter les contraintes suivantes : que le nombre de t^aches soit inferieur a deux fois le nombre de processeurs et qu'il y ait au plus deux t^aches placees par processeur. Cet algorithme fournit un placement optimal si les t^aches sont de durees identiques et si les contraintes sontrespectees. L'article propose aussi une adaptation de cet algorithme permettant le traitement (non optimal) du cas plus general sans contraintes mais toujours pour des t^aches de m^emes durees. {De tres nombreux travaux ont ete developpes dans le domaine du plongement de graphes et peuvent^etre employes pour le placement. Un plongement est une application qui associe une ar^ete du graphe de t^aches a un chemin dans le graphe cible (ici, le reseau de processeurs) [dr94]. Il existe quelques heuristiques generales, mais la plupart des resultats concernent le passage entre topologies determinees (par exemple, une grille (representant une matrice) dans un hypercube de processeurs, ou encore un arbre binaire representant une expression algebrique dans un anneau ou un tore de processeurs, etc.). Un article de synthese reprend les resultats connus [MS90]. Usuellement, on considere deux criteres : la dilatation qui est le maximum des longueurs des plus longs chemins et la congestion qui est le nombre maximum de chemins passant par une ar^ete donnee. { D'autres algorithmes sont envisageables dans quantite de cas restreints. Par exemple si les t^aches sont independantes et de co^ut unitaire, on sait que le bin-packing est optimal, etc Algorithmes gloutons Certaines methodes permettent de trouver un placement grossier rapidement, c'est le cas des algorithmes gloutons. Le principe consiste a construire de proche en proche le

9 1.2. PLACEMENT STATIQUE 9 placement. Ainsi, l'allocation de la q-ieme t^ache a un processeur se fait sous un certain critere a partir du placement partiel realise sur les (q-1) premieres. Il est clair que l'algorithme glouton est dependant duchoix arbitraire de la premiere t^ache. Leur principal inconvenient est qu'il est toujours possible de trouver une instance qui les mette en defaut. On trouve dans cette categorie les algorithmes proposes par [ABPV89] [Lee91] [Paz89], par exemple, LPTF (largest processing time rst), pour lequel on connait une borne theorique dans le pire des cas [Lee91], dont le seul critere est l'equilibrage de charge. Benhamamouch et Plateau [BP89] decrivent un systeme base egalement sur un equilibrage de charge dans le cas ou les communications sont negligeables et modi- ent le critere si elles deviennent importantes. Le principal avantage des algorithmes gloutons est leur co^ut tres avantageux. A titre d'exemple, l'idee de l'algorithme glouton amical est de placer au fur et a mesure les t^aches qui necessitent le minimum de routage. On part d'une t^ache arbitraire et l'on choisit la t^ache qui communique le plus avec les t^aches deja placees (en cas d'egalite, on choisit par exemple la t^ache dont le co^ut de communication est minimal). Une fois la t^ache determinee,on choisit le processeur d'accueil en minimisant une fonction de co^ut partielle. De nombreux autres algorithmes de placement de type glouton reposent sur le critere d'equilibrage de la charge. Les algorithmes gloutons sont en general peu co^uteux, mais en contrepartie, ils ne sont pas tres performants. En eet, le choix arbitraire des premieres t^aches a placer conditionne l'algorithme complet : il n'y a aucune remise en cause des solutions intermediaires. De plus, vers la n de l'algorithme, les choix de placement deviennent de plus en plus limites, ce qui fait chuter les performances Algorithmes iteratifs Tous les algorithmes iteratifs [HK72] et[paz89] partent d'une solution initiale complete (pas forcement tres bonne) que l'on cherche iterativement a ameliorer. Cette solution initiale peut, par exemple, ^etre obtenue par un algorithme glouton. Ces algorithmes sont bases sur une fonction de co^ut. Dans la plupart des solutions existantes, on procede par permutations de t^aches en ne retenant que celles qui ameliorent la fonction de co^ut. Notons que des perturbations aleatoires sont necessaires dans la plupart des algorithmes an d'eviter les minima locaux. Recuit simule Cette technique est la plus ancienne et de nombreux articles rapportentdesresultats et des comparaisons avec d'autres algorithmes [Ber89] [BM88] [HB88] [Paz89]. L'idee de la methode du recuit simule provient de l'observation de phenomenes physiques. Elle est basee sur une analogie avec la physique statistique : lorsque l'on souhaite obtenir un metal ayant la structure la plus reguliere possible, on utilise la technique dite du recuit. On chaue le metal et l'on reduit doucement sa temperature de telle sorte qu'il reste en equilibre tout en refroidissant. Arrive a une temperature susamment basse, il demeure dans un etat d'equilibre correspondant a l'energie minimale.

10 10 CHAPITRE 1. R EPARTITION DE CHARGE A haute temperature, il y a beaucoup d'agitation thermique ce qui peut localement augmenter l'energie du systeme. Ce phenomene se produit avec une certaine probabilite qui diminue avec la temperature. Cela correspond mathematiquement a s'autoriser de sortir d'un minimum local de la fonction que l'on cherche a optimiser. Souvent, l'utilisation dans le cadre du probleme du placement de cette approche est presentee de maniere intuitive. Il est dicile de la justier theoriquement par une simple analogie, et surtout de trouver une signication concrete aux parametres tels que la temperature... Nous avons choisi une interpretation plus proche du probleme a resoudre. Le placement peut ^etre vu comme un probleme d'optimisation d'une certaine fonction de co^ut. Partant d'un placement initial complet, on va chercher a l'ameliorer par un critere local tel que l'echange de paires de t^aches par l'exemple. On accepte un echange si le placement est ameliore dans le cas general et sous une certaine probabilite qui decro^t lors du deroulement de l'algorithme, on s'autorise a choisir un placement plus mauvais. Ceci peut avoir pour eet de sortir d'un minimum local de "l'energie" (fonction a optimiser). Les placements generes sont en moyenne assez bons mais d'apres la litterature et notre experience propre, certains inconvenients en limitent l'usage : { temps de calcul eleve, devenant vite disqualiant pour un nombre important de t^aches. { base sur une succession d'etapes de modications aleatoires du placement, son comportement est imprevisible. Chaque execution donne un placement dierent pour un m^eme probleme et il peut fournir de mauvais resultats de temps en temps [Ber89]. { Cet algorithme depend d'un certain nombre de parametres (temperature de depart et d'arrivee, vitesse de refroidissement etc..) qui sont diciles a ajuster et dependent en fait du placement a eectuer. Toutes ces remarques nous amenenta considerer le recuit comme co^uteux, peu able et d'emploi malaise. Neanmoins, si l'on est pr^et aaronter toutes ces dicultes, le recuit simule donne en general de tres bons resultats. L'experience acquise et les recherches eectuees depuis de nombreuses annees permettentd'inferer de bonnes valeurs ou regles pour les dierents parametres. La theorie nous fournit, par exemple, une demonstration de convergence asymptotique si la decroissance de temperature suit certains criteres [MRS86]. De m^eme l'algorithme de Metropolis se base sur les statistiques pour donner des criteres relatifs a la temperature initiale et a l'acceptation de la solution. L'algorithme de Bokhari L'algorithme de Bokhari [Bok81] utilise une fonction de co^ut (la cardinalite) qui compte le nombre d'ar^etes du graphe des t^aches correctement placees sur le graphe des processeurs. On peut l'adapter avec une fonction de co^ut plus realiste prenant en compte tous les parametres (calcul, communication). Plus precisement, l'amelioration du placement s'eectue par echanges iteratifs de paires de t^aches. Le test d'arr^et est base sur le principe qu'aucune amelioration n'a ete obtenue pendant un nombre arbitraire

11 1.2. PLACEMENT STATIQUE 11 de tentatives successives. Notons que cet algorithme est d'emploi peu aise car il repose sur l'hypothese restrictive que le nombre de t^aches est egal au nombre de processeurs. Pazat [Paz89] etudie une extension a un nombre de t^aches superieur par repliage du graphe de t^aches. A notre sens, cette hypothese n'est pas limitative car il sut de considerer directement que l'on peut placer plusieurs t^aches par processeurs. Les algorithmes genetiques Les algorithmes genetiques [MGSK87][TB91]sont bases sur une analogie avec l'evolution des especes. Ils partent d'une population initiale a partir de laquelle ils eectuent des croisements pour engendrer de nouvelles congurations. Ils gardent les meilleures des populations resultantes pour eectuer d'autres croisements. An d'eviter les minima locaux, de temps a autre, les especes sont soumises a des mutations. Comme pour le recuit, bien que l'analogie puisse para^tre assez supercielle, cette technique conduit parfois a de bons resultats comme par exemple dans le cas ou le graphe de t^aches n'est pas tres dierent de la topologie physique (par exemple dans le cas d'elements nis dans une grille). Ces algorithmes sont de m^eme assez diciles a mettre en uvre. La recherche tabu La recherche tabu [GL92] est une methode iterative qui recherche, a partir d'une solution initiale, la meilleure solution que l'on peut atteindre a l'aide d'un ensemble donne de transformations (relations de voisinage). An d'eviter de boucler (de revenir sur une solution deja exploree), on construit une liste tabu des derniers mouvements eectues et on interdit toute tentative de marche arriere. Les recherches tabu sont en general plus dicile a mettre en uvre que les recuits simules, mais constituent actuellement les algorithmes iteratifs donnant les meilleurs resultats entre autres dans les problemes de type job-shop[len93]. Dans la recherche tabu, l'experience acquise et la connaissance du probleme permettent de xer de bonnes valeurs aux dierents parametres. Les relations de voisinage vont decouler de l'etude du probleme, tandis que la taille de la liste tabu sera soit xee arbitrairement soit issue de l'experimentation (on xe tout d'abord une petite taille que l'on augmente jusqu'au moment ou le tabu permet d'eviter tous les cycles). Les enregistrements eectues dans la liste tabu ne sont pas toujours complets : on peut tomber sur une situation que la liste tabu considere comme connue alors qu'elle ne l'est pas... Dans ce cas, la mise en uvre de ce qu'on appelle un critere d'aspiration s'impose. Un exemple simple consiste a regarder si la nouvelle situation ameliore la fonction objective par rapport a la situation precedemment rencontree. Si oui, le voisin est accepte, si non, on considere qu'il s'agit bien d'une situation deja rencontree et on n'accepte pas le voisin. D'autres fonctions d'intensication ou de diversication de la recherche peuvent aussi ^etre utilisees suivant le comportement de l'algorithme.

12 12 CHAPITRE 1. R EPARTITION DE CHARGE Algorithmes exacts generalises De nombreux algorithmes exacts existent dansdescastres restreints et sont utilises de maniere sous-optimale en les generalisant en relaxant certaines contraintes. Dans cet ordre d'idees, citons : { Pellegrini et Roman [PR93] ont developpe une heuristique de type divide and conquer qui eectue un placement par bi-partition recursive du graphe de t^aches, sous-tendue par une bipartition recursive du graphe de processeurs. Ceci est a rapprocher des solutions par coupes minimales de graphes bi-partis[lo84] [Sto77]. { Certains derives d'algorithmes d'exploration d'arbres de recherche peuvent couper certaines branches de l'arbre de recherche de maniere heuristique et arbitraire an de trouver un solution approchee en un temps acceptable. { Certains resultats issus de la theorie du plongement peuvent ^etre utilises sur des topologies qui s'approchent de celle conseillee. {etc Autres solutions et conclusion Le grand nombre de solutions que nous venons de presenter montre qu'il n'y a pas de solution universelle au probleme du placement de t^aches. L'approche la plus prudente est de developper une boite a outils de methodes de placement, reglable par l'utilisateur au cas par cas. En particulier, il est possible de considerer des strategies intermediaires entre les dierentes solutions que nous avons proposees, par exemple, a mi-chemin entre les heuristiques glouton et un Branch&Bound. On peut voir cette approche mixte comme un algorithme heuristique dont certains choix peuvent ^etre remis en cause et un certain nombre de placements sont alors systematiquement passes en revue. On peut aussi l'envisager comme un Branch&Bound dont le nombre de combinaisons est tres fortement limite par une strategie de choix des branches visitees. Les strategies mixtes sont tres prometteuses. En eet, idealement, la remise en cause de certains choix permet d'eviter l'existence de cas pathogenes qui sont propres aux algorithmes ou des decisions arbitraires ont ete prises. Inversement, la limitation de l'explosion combinatoire donne a cet algorithme un temps de reponse acceptable par rapport a n'importe quel Branch& Bound simple. Kasahara et Nahira [KN84] presentent des experimentations avec un nombre de t^aches de l'ordre de 200. Malheureusement, il n'existe a notre connaissance aucune etude approfondie de ce type d'algorithmes. Une autre solution envisagee serait d'eectuer un premier placement avec un algorithme glouton et ensuite de l'ameliorer localement la ou se situent certains problemes, par exemple, on pourrait decouvrir, suite a une analyse eectuee apres une execution par des outils de monitoring qu'un lien de communication entre deux processeurs est surcharge et essayer de remedier a cela en tenant compte d'une fonction de co^ut (equilibrage de charge totale). Il existe des prototypes de tels outils [BT94] qui constitue deja une ouverture vers des approches dynamiques.

13 1.3. DISTRIBUTION DYNAMIQUE DE CHARGE Distribution dynamique de charge Les strategies de regulation de charge tendent toutes : { soit a eviter qu'un nud ne soit inactif alors que des t^aches restent en attente sur d'autres nuds (strategies de partage de charge - load sharing), { soit, de maniere plus forte, a ce que le nombre de t^aches par nud soit equilibre pour l'ensemble du systeme (strategies d'equilibrage de charge - load balancing). Il est en eet assez intuitif de penser que le systeme est utilise au mieux lorsque chaque ressource a la m^eme charge de travail Mesure de la charge locale des nuds Il y a globalement deux manieres de quantier la charge locale d'un nud. La premiere mesure la charge par le calcul d'une valeur de charge, la deuxieme utilise des seuils denissant des etats de charge du nud (comme par exemple les trois etats faiblement, moyennement et fortement charge des strategies dites a double seuil). Cette deuxieme solution, plus simple, donne souvent de bons resultats. Elle est de plus facilement utilisable lorsque l'architecture est heterogene (nuds de dierentes natures), c'est-a dire lorsqu'il est dicile d'etablir une metrique unique valable pour tous les nuds. La mesure de la charge est le plus souvent une mesure systeme de l'ensemble des t^aches actives et en attente sur un nud (c'est a dire la longueur de la queue CPU). Il a ete mesure que plus cet ensemble est important, plus le temps de reponse d'une t^ache sera grand. Ce qui montre qu'il s'agit d'un bon indicateur. Comme il s'agit en fait d'estimer la charge dans un futur proche (pour le moment reel ou seront prises les decisions), une mesure ponctuelle peut ne pas ^etre satisfaisante. En eet, entre le moment de la mesure et le moment de la decision, la valeur mesuree peut fortement changer a cause par exemple de nombreux debuts ou terminaisons de t^aches. Pour cette raison, une valeur moyenne de la longueur de la queue CPU sur un intervalle de temps donne - et parfois dynamiquement adapte - est souventavantageusement utilisee. Elle permet d'eviter une trop grand instabilite des indicateurs de charges et donc les (re)distributions inutiles. Lorsque l'activite d'une t^ache peut ^etre mesuree par le nombre de messages qu'elle doit traiter (cas des serveurs des systemes distribues, ou encore celui des objets), le nombre de messages en attente de traitement sur un nud peut ^etre utilise comme un indicateur de la charge dans un futur proche. L'age des t^aches en cours au moment de la mesure est pris en consideration par certains systemes. Cela se fonde sur l'hypothese que les t^aches actives depuis longtemps le resteront encore longtemps tandis que les t^aches jeunes ne sont pas promises a une longue activite! La charge induite par une t^ache agee dans un futur proche sera donc plus importante que par une t^ache jeune. Cette hypothese est statistiquement veriee dans les systemes distribues d'usage general. Le taux d'occupation memoire d'un nud est aussi un element d'information sur sa charge. Il n'est pas interessant d'utiliser cet indicateur de facon continue, car le temps de reponse d'une t^ache n'est pas dependant du taux d'occupation de la memoire. Mais

14 14 CHAPITRE 1. R EPARTITION DE CHARGE il peut ^etre utilise bien evidemment pour eviter de distribuer de nouvelles t^aches a des nuds qui n'ont pas de place pour les recevoir. La connaissance prealable de certaines caracteristiques des t^aches peut aussi intervenir dans le calcul de la charge. Il est en eet interessant desavoir si une t^ache entre dans la categorie de celles qui font beaucoup de calcul - et donc qui chargent beaucoup les nuds ou elles se trouvent, ou plut^ot dans celle des t^aches qui font beaucoup de communications - et qui donc sont souvent en attente. Les etudes dans ce domaine sont embryonnaires. Le dosage possible des indicateurs de charge selon ces categories n'est pas encore connu Le processus de distribution dynamique des t^aches Le processus de distribution dynamique des t^aches sur les dierents nuds d'une architecture decentralisee est un processus compose de deux etapes bien distinctes: une etape d'evaluation de l'etat du systeme et une etape de prise de decision (g.1.3). La premiere etape consiste en l'obtention de l'etat de charge des nuds et en une estimation d'un etat global ou partiel du systeme. Cette etape peut ^etre absente si les nuds decident uniquement en fonction d'un etat local. La deuxieme etape consiste a choisir un nud pour executer une t^ache, le plus souvent en fonction de l'etat estime a l'etape precedente. Pour chacune des deux etapes, dierentes strategies onteteetudiees. Bien que la deuxieme etape semble ^etre a priori liee a la premiere etape par une relation de dependance causale - on decide en fonction d'un etat estime -, les deux etapes peuvent ^etre etudiees independamment. L'espace des strategies possibles est alors le produit cartesien de l'ensemble des strategies d'estimation par l'espace des strategies de decision. Dans une premiere partie, on trouvera une analyse des dierentes strategies d'estimation de charge. Dans une deuxieme partie, on trouvera une analyse des dierentes strategies de prise de decision. Regulation Dynamique de la Charge Estimation Decisions Collecte des charges locales Calcul de l'etat global Transfert? Localisation? Fig : Processus de regulation dynamique de la charge Le processus d'estimation de la charge d'un systeme decentralise en prevision de decisions de distribution des t^aches doit d'abord obtenir les informations pertinentes en provenance des dierents nuds de l'architecture. Pour cela la strategie doit d'abord reposer sur un executif permettant d'echanger des informations entre les nuds. Le

15 1.3. DISTRIBUTION DYNAMIQUE DE CHARGE 15 plus souvent cela se fera par une possibilite d'echanges de messages entre nuds. Le processus est donc la aussi en deux etapes: collecte d'informations puis estimation. L'etape de collecte est ici la plus cruciale, l'etape d'estimation se reduisant le plus souvent, une fois les informations collectees, soit a simplement les passer au processus de decision, soit a eectuer un calcul - qui peut ^etre parfois complexe - des dierents indicateurs de la charge. L'etape de collecte d'informations Lorsqu'il s'agit de prendre une decision concernant la localisation d'une t^ache, il est necessaire de disposer d'un etat de charge des nuds potentiellement concernes par la t^ache a executer. L'architecture etant decentralisee, cet etat n'est pas disponible directement mais doit ^etre calcule apres avoir collecte lesetats locaux des nuds. Cette collecte est un processus qu'il ne faut pas negliger aussi bien en co^ut de communication (combien de messages vont ^etre echanges avant de pouvoir faire l'estimation?) que dans le degre de conance que l'on pourra avoir dans l'estimation (les informations collectees sont-elles encore pertinentes au moment ou l'estimation est faite?). Les meilleures strategies de distribution dynamique des t^aches sont le plus souvent celles qui utilisent la meilleure strategie de collecte d'informations: Des collectes trop frequentes surchargent le systeme de communication, des collectes trop espacees donnent des estimations peu ables. Les strategies de collecte des informations de charge dierent en les points suivants: { Collecte centralisee versus collecte decentralisee { Collecte par dissemination volontaire ou collecte a la demande Dit d'une autre maniere, il s'agit de repondre aux deux questions suivantes: {Vers qui les nuds envoient-ils leurs etats? { Quand les nuds envoient-ils leurs etats? 1. Collecte centralisee versus collecte decentralisee: Puisque chaque nud doit d'une certaine maniere fournir son etat local de charge au processus d'estimation global, la premiere question qui se pose est: vers qui chaque nud envoie-t-il son etat? Une strategie centralisee de collecte des charges utilise une entite unique vers laquelle toutes les informations locales de charge vont^etre dirigees. Cette entite centralisee sera donc la seule responsable de la distribution des t^aches sur l'architecture et aura donc un r^ole extr^emement sensible dans le processus global de distribution. Cette entite sera le plus souvent un nud particulier dedie a cette t^ache. Cette solution a l'avantage d'un faible sur-co^ut puisque les nuds dedies aux t^aches de l'application ne sont en rien penalises par ce travail. Elle est aussi relativement simple a implanter. Les inconvenients sont par contre ceux de toutes les solutions centralisees, c'est a dire 1) goulot d'etranglement sur ce nud et donc temps de reponse qui risque de devenir important si le nombre de nuds devient grand et 2) probleme d'eventuelles pannes de ce nud interrompant tous les autres (non tolerance aux pannes). Il est ici possible de dupliquer plusieurs fois ce nud pour accepter un nombre limite de pannes.

16 16 CHAPITRE 1. R EPARTITION DE CHARGE Dans une strategie decentralisee de collecte des charges, tous les nuds obtiennent toute l'information sur l'etat des autres nuds, et donc chaque nud est capable de faire une estimation globale du systeme. Cette solution permet un tolerance relative aux pannes de certains nuds, mais, bien qu'apparemment independante du nombre de nuds (extensibilite de la strategie) elle peut avoir une limitation severe lorsque le nombre de nuds devient grand. Deux cas peuvent se presenter: 1) le co^ut de la dissemination de l'information de charge de chaque nud vers tous les autres nuds devient trop penalisant vis a vis de l'amelioration que l'on espere obtenir par ce processus, 2) le systeme ne peut plus assurer une diusion assez rapide de l'information et les nuds n'ont plus une estimation assez precise d'un etat global pour que le processus vaille la peine d'^etre mis en place. Les strategies purement decentralisees ne sont donc exploitables que pour des architectures a grain moyen (nombre de nuds non excessif et t^aches de grain moyen). On remarquera que des solutions hardware peuvent fournir une amelioration en fournissant un dispositif rapide de diusion (voir par exemple les machines munies d'un un anneau rapide de diusion qui permet a chaque nud de disposer rapidement de toute l'information). Les strategies de collectes d'informations sont donc le plus souvent hybrides: Une maniere generale d'implanter une solution hybride est de denir dierents niveaux de regroupement des nuds (methode hierarchique) et d'utiliser des strategies dierentes dans les dierents niveaux (g.1.4): En considerant par exemple des regroupements logiques des nuds en fonction de consideration de voisinage, il est envisageable de choisir une strategie decentralisee entre les regroupements et une strategie centralisee a l'interieur des regroupements. Dans chaque regroupement, un nud est responsable de la collecte des etats de charge des nuds du groupe (centralisation), tous ces nuds particuliers maintenant aussi une estimation des charges de tous les groupes (decentralisation). Ces strategies hierarchiques peuvent ^etre bien adaptees a des architectures particulieres - pyramidales par exemple. Decentralise Centralise Fig : Strategie hybride et hierarchique Pour toutes ces strategies, chaque nud doit savoir vers qui envoyer son etat.

17 1.3. DISTRIBUTION DYNAMIQUE DE CHARGE 17 Plusieurs cas se presentent: Dans les strategies centralisees, chaque nud envoie son etat vers le ou les nuds qui centralisent les etats. Ces destinataires peuvent cependant changer dynamiquement - en particulier pour prendre en compte les pannes ou les recongurations. Dans les strategies decentralisees, deux cas se presentent: { Strategies avec diusion: Chaque nud envoie son etat a tous les autres nuds ou a tous les nuds de son groupe (cas hybride). Cette solution permet a chaque nud d'avoir une information globale de charge particulierement a jour. Mais si les diusions sont frequentes, le systeme de communication sera vite surcharge. { Strategies sans diusion ou a diusion restreinte: Les strategies decentralisees sans diusion se basent sur l'idee que chaque nud ne va envoyer son etat qu'a un nombre limite d'autres nuds, par exemple ses voisins et que cela creera des vagues de messages permettant a chaque nud de mettre a jour son etat global au passage de ces vagues. Les dierentes solutions utilisees sont: { utilisation des voisinages: un nud envoie son etat global a ses voisins, ceux-ci mettent a jour leur propre etat global et renvoient le message a leurs voisins respectifs. Cette solution peut, comme la diusion, generer un nombre important de messages. { utilisation d'un jeton circulant: Un jeton contenant l'etat global estime circule entre les nuds. Lorsqu'un nud le recoit, ce nud met a jour son propre etat global, modie la valeur de son etat local dans le jeton, et renvoie le jeton a son successeur dans la cha^ne de circulation du jeton. La vitesse de circulation du message et son itineraire sont ici des parametres importants, qui doivent ^etre le plus souvent adaptes dynamiquement en fonction de l'etat. On peut utiliser plusieurs messages circulant, par exemple a dierents niveaux d'un partitionnement hierarchique. { utilisation des communication entre t^aches: la solution est ici d'utiliser les communications entre t^aches de l'application pour y placer les informations de charge. Cela ne donne aucun sur-co^ut en nombre de messages. Un inconvenient est que l'on n'est pas s^ur de disposer d'une information globale able lorsque deux morceaux de l'application ne communiquent que tres rarement. Dans ce cas, on utilisera de temps en temps, une diusion generale de l'etat du systeme. 2. Collecte par dissemination volontaire ou a la demande La question qui se pose ici est de savoir a quel moment les nuds emettent leurs informations de charges. Des strategies s'opposent: celles qui privilegient l'autonomie des nuds, ceux-ci vont envoyer leur etat sur la base d'une decision locale d'envoi, et celles qui privilegient le r^ole des collecteurs, les nuds ne faisant que repondre a des demandes. Dans une strategie volontaire, les nuds envoient leur information de charge en fonction d'une decision locale. Ces envois peuvent se faire, soit a chaque modication de l'etat, soit au passage dans des etats particuliers (faiblement charge ou

18 18 CHAPITRE 1. R EPARTITION DE CHARGE fortementcharge par exemple), soit encore a intervalles de temps reguliers (envois periodiques). La frequence moyenne d'emission de l'etat est ici un parametre important puisqu'il regle le nombre de messages dans le systeme de communication. Elle peut ^etre dynamiquement adaptee en fonction de l'estimation de l'etat global et des variations de celui-ci. Il est en eet important que les nuds n'envoient pas d'informations inutiles, lorsque par exemple l'etat ne change pas ou encore lorsqu'il n'y a pas de decision de placement a prendre. Dans une strategie a la demande, les nuds envoient l'information lorsqu'elle leur est demandee. Ce n'est donc plus une decision locale. L'avantage est donc que seules les informations utiles au processus de distribution circulent sur le reseau. L'inconvenient est que chaque obtention d'information demande deux messages (un pour la demande, un pour la reponse), et que donc, outre le co^ut en nombre de messages, ce protocole question- reponse entraine un delai non negligeable qui peut rendre obsoletes les informations obtenues. Ici aussi les demandes peuvent ^etre emises periodiquement par le ou les collecteurs, ou aperiodiquement a l'occurrence d'un evenement particulier - par exemple lorsqu'une t^ache doit ^etre lancee. Des solutions intermediaires peuvent ^etre mises en place combinant les strategies volontaires et a la demande. On combine souvent de la maniere suivante (voir la g.1.5): Les nuds fortement charges font des envois volontaires indiquant la trop forte charge - ce qui les sort temporairement du processus de distribution, et les nuds faiblement charges font des demandes - ce qui les favorise dans le processus de distribution. Forte Charge Le nud signale une charge trop importante Le nud demande de nouvelles t^aches Moyenne Faible t Fig : Strategies a double seuil Les strategies decentralisees sans diusion peuvent ici ^etre classees dans des strategies intermediaires. Celle du jeton circulant, par exemple, est a la fois involontaire, puisque le nud doit attendre l'arrivee du jeton, et volontaire, puisque le nud peut decider du moment du renvoi du jeton. L'autonomie du nud est

19 1.3. DISTRIBUTION DYNAMIQUE DE CHARGE 19 donc ici limitee a la duree de retention du jeton. Il peut par exemple decider de le conserver plus longtemps s'il ne detecte pas de variation importante de la charge entre deux passages du jeton, mais il s'expose alors a ne pas avoir un etat tres correct du systeme. La strategie peut ne pas ^etre facile a regler. L'etape de prise de decision Lorsqu'on dispose d'une estimation de l'etat du systeme, que celui-ci laisse appara^tre un probleme de charge et/ou que de nouvelles t^aches doivent ^etre lancees, le processus de decision intervient. Globalement deux decisions doivent ^etre prises: une decision de transfert (oui ou non y-a-t-il un probleme de distribution de charge?) et une decision de localisation (ou placer les t^aches qui doivent ^etre transferees?). Les deux decisions ne sont pas toujours a prendre ou ne sont pas toujours a distinguer. On prendra ici une classication autre: {Decision centralisee versus decision decentralisee {Decision a initiative de l'envoyeur versus decision a initiative du receveur On examinera a part les strategies de localisation en aveugle qui ne se servent pas des informations de charges globales. De m^eme on citera a part des strategies particulieres qualiees de cooperatives. 1. Decision centralisee versus decision decentralisee. La question qui se pose est ici de determiner qui prend les decisions de localisations. Comme les decisions necessitent l'estimation de la charge du systeme, on retrouve les deux grandes categories de cette premiere etape: les strategies centralisees et decentralisees. Une strategie centralisee de decision utilise une ressource unique pour executer l'algorithme de choix d'une localisation. Il s'agit le plus souvent d'un processeur dedie qui a pour unique charge de trouver les bons nuds pour les t^aches. Cette strategie est a mettre en relation avec la strategie centralisee de collecte des informations de charge, le m^eme processeur estimant la charge et decidant des localisations. Cette solution ne penalise pas les processeurs de calcul, mais a les inconvenients deja cites d'une solution centralisee. Dans les strategies decentralisees, chaque nud est capable d'estimer une charge globale ou partielle et peut donc prendre des decisions de localisation de t^aches. Les strategies existantes sont pour la plupart des strategies a seuil. Lorsque la charge locale evolue - soit vers le bas vers un etat faiblement charge, soit vers le haut vers un etat fortement charge, le nud peut ^etre amene a prendre des decisions. Il s'agit de trouver soit un nud acceptable (rst t) soit le meilleur nud (best t) utilisable pour la localisation d'une ou de plusieurs t^aches. Les elements de decision sont par exemples un choix parmi les nuds les moins charges, ou parmi les nuds qui ont le moins de travail en attente, ou encore parmi les nuds ayant repondus le plus favorablement a des demandes, etc... Lorsque plusieurs nuds sont acceptables, un choix aleatoire sera utilise.

20 20 CHAPITRE 1. R EPARTITION DE CHARGE 2. Decision a initiative de l'envoyeur d'une t^ache versus decision a initiative du receveur de la t^ache Dans les strategies a l'initiative de l'envoyeur, un nud qui a des t^aches a placer cherche des nuds moins charges que lui pour les y placer. Dans les strategies a initiative du receveur, les nuds faiblement charges cherchent les nuds fortement charges pour leur demander des t^aches. Les strategies a initiative de l'envoyeur sont le plus souvent utilisees car elle ne necessitent pas obligatoirement un mecanisme de migration de t^aches. La distribution peut ne se faire qu'au lancement des t^aches. Les strategies a initiative du receveur se fondent quant a elles sur la possibilite de pouvoir prendre une t^ache a un autre nud. D'autre part, les strategies utilisant le receveur sont diciles a regler car lorsque la charge globale devient petite, les nuds faiblement charges deviennent nombreux et inondent le systeme de demandes de travail. Ce qui n'est pas la cas lorsque la charge globale est grande. Dans ce cas, ce sont les strategies utilisant l'envoyeur qui perdent de leurs performances car elles perdent du temps a chercher sans succes des nuds faiblement charges. La presence simultanee des deux strategies est envisageable. De telles strategies symetriques permettent de tirer avantage des deux strategies dissymetriques precedentes en s'adaptant a la charge. Elles entrainent globalement une plus rapide distribution equitable des t^aches en toute situation. Elles peuvent neanmoins donner des systemes instables dans lesquels les t^aches font des aller-retours inutiles entre nuds. Les seuils utilises peuvent ^etre ici dynamiquement adaptes pour eviter cette instabilite. 3. Decisions en aveugle Les strategies de distribution des t^aches les plus faciles a mettre en oeuvre sont celles qui n'utilisent pas d'etat global du systeme. Le choix d'un nud pour une t^ache se fait sans collecte d'informations. Dans une version centralisee, un processus unique place les t^aches de maniere aleatoire ou de maniere cyclique sur les dierents nuds de l'architecture. Dans une version decentralisee, chaque nud, a l'occasion d'une creation d'une nouvelle t^ache ou lorsqu'il devient trop charge, place les t^aches concernees la aussi de maniere aleatoire ou cyclique sur d'autres nuds. Une variante amelioree permet aux nuds receveurs de refuser la t^ache qui sera alors soit executee localement chez l'envoyeur (refus de transfert) soit envoyee sur un autre nud. Une memorisation des refus permet au nud de faire une sorte d'apprentissage et donc d'eviter par la suite le transfert vers les nuds ayant precedemment refuses. Les strategies aveugles donnent de bons resultats lorsque le temps d'execution des t^aches est petit. En eet dans ce cas, le sur-co^ut d'un processus complexe de decision n'est pas masque par les temps de calcul des t^aches. D'autre part, le choix d'une strategie aveugle semble interessant pour des applications particulieres, le plus souvent regulieres: lorsque par exemple le calcul est forme d'un grand nombre de t^aches identiques et concurrentes, une strategie cyclique est intuitivement adaptee car elle realise simplement un equilibrage de charge. Une troisieme utilisation possible des strategies en aveugle est celui des systemes satures: lorsque tous les nuds ont un grand nombre de t^aches a executer, il ne sert

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1 CHAPTER 1 Ordonnancement 1.1. Étude de cas Ordonnancement de tâches avec contraintes de précédences 1.1.1. Exemple : construction d'une maison. Exercice. On veut construire une maison, ce qui consiste

Plus en détail

1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j ))

1.5 0.5 -0.5 -1.5 0 20 40 60 80 100 120. (VM(t i ),Q(t i+j ),VM(t i+j )) La logique oue dans les PME/PMI Application au dosage de l'eau dans les bétons P.Y. Glorennec INSA de Rennes/IRISA glorenne@irisa.fr C. Hérault Hydrostop christophe@hydrostop.fr V. Hulin Hydrostop vincent@hydrostop.fr

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, 94235 Cachan Cedex. Resume

Introduction a l'algorithmique des objets partages. Robert Cori. Antoine Petit. Lifac, ENS Cachan, 94235 Cachan Cedex. Resume Introduction a l'algorithmique des objets partages Bernadette Charron{Bost Robert Cori Lix, Ecole Polytechnique, 91128 Palaiseau Cedex, France, charron@lix.polytechnique.fr cori@lix.polytechnique.fr Antoine

Plus en détail

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

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Loris MARCHAL Laboratoire de l Informatique du Parallélisme Équipe Graal Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes Thèse réalisée sous la direction

Plus en détail

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes.

Introduction. I Étude rapide du réseau - Apprentissage. II Application à la reconnaissance des notes. Introduction L'objectif de mon TIPE est la reconnaissance de sons ou de notes de musique à l'aide d'un réseau de neurones. Ce réseau doit être capable d'apprendre à distinguer les exemples présentés puis

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R

2. RAPPEL DES TECHNIQUES DE CALCUL DANS R 2. RAPPEL DES TECHNIQUES DE CALCUL DANS R Dans la mesure où les résultats de ce chapitre devraient normalement être bien connus, il n'est rappelé que les formules les plus intéressantes; les justications

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

chapitre 4 Nombres de Catalan

chapitre 4 Nombres de Catalan chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C

Plus en détail

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

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes. Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes. Meriem Meddeber 1 et Belabbas Yagoubi 2 1 Université de Mascara, Faculté des sciences, Département des

Plus en détail

CHAPITRE VIII : Les circuits avec résistances ohmiques

CHAPITRE VIII : Les circuits avec résistances ohmiques CHAPITRE VIII : Les circuits avec résistances ohmiques VIII. 1 Ce chapitre porte sur les courants et les différences de potentiel dans les circuits. VIII.1 : Les résistances en série et en parallèle On

Plus en détail

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008) Examen optimisation Centrale Marseille (28) et SupGalilee (28) Olivier Latte, Jean-Michel Innocent, Isabelle Terrasse, Emmanuel Audusse, Francois Cuvelier duree 4 h Tout resultat enonce dans le texte peut

Plus en détail

Annexe 6. Notions d ordonnancement.

Annexe 6. Notions d ordonnancement. Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET Glossaire La terminologie propre au projet, ainsi que les abréviations et sigles utilisés sont définis dans le Glossaire. Approbation Décision formelle, donnée

Plus en détail

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

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Conception d'un réseau de transport d'électricité

Conception d'un réseau de transport d'électricité La Fédération Française des Jeux Mathématiques et la Société de Calcul Mathématique SA avec l'appui de Réseau de Transport d'electricité Conception d'un réseau de transport d'électricité Auteurs : Florian

Plus en détail

L apprentissage automatique

L apprentissage automatique L apprentissage automatique L apprentissage automatique L'apprentissage automatique fait référence au développement, à l analyse et à l implémentation de méthodes qui permettent à une machine d évoluer

Plus en détail

Cours de Master Recherche

Cours de Master Recherche Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction

Plus en détail

Chapitre 10. Architectures des systèmes de gestion de bases de données

Chapitre 10. Architectures des systèmes de gestion de bases de données Chapitre 10 Architectures des systèmes de gestion de bases de données Introduction Les technologies des dernières années ont amené la notion d environnement distribué (dispersions des données). Pour reliér

Plus en détail

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES

RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES RÉSOLUTION DE SYSTÈMES À DEUX INCONNUES Sommaire 1 Méthodes de résolution... 3 1.1. Méthode de Substitution... 3 1.2. Méthode des combinaisons linéaires... 6 La rubrique d'aide qui suit s'attardera aux

Plus en détail

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation

Structure logique. Active Directory. Forêts Arborescences Domaines Unités d'organisation Active Directory Structure logique Service d'annuaire Base d'annuaire distribuée des ressources réseau : comptes utilisateurs, groupes, ordinateurs, imprimantes, dossiers partagés,... Administration centralisée

Plus en détail

SEP 2B juin 20. Guide méthodologique de calcul du coût d une prestation

SEP 2B juin 20. Guide méthodologique de calcul du coût d une prestation SEP 2B juin 20 12 Guide méthodologique de calcul du coût d une Sommaire Préambule 3 Objectif et démarche 3 1 Les objectifs de la connaissance des coûts 4 2 Définir et identifier une 5 Calculer le coût

Plus en détail

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

Systemes d'exploitation des ordinateurs

Systemes d'exploitation des ordinateurs ! " #$ % $ &' ( $ plan_ch6_m1 Systemes d'exploitation des ordinateurs Conception de Systèmes de Gestion de la Mémoire Centrale Objectifs 1. Conception de systèmes paginés 2. Conception des systèmes segmentés

Plus en détail

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE P. Baudet, C. Azzaro-Pantel, S. Domenech et L. Pibouleau Laboratoire de Génie Chimique - URA 192 du

Plus en détail

APPLICATION DU SCN A L'EVALUATION DES REVENUS NON DECLARES DES MENAGES

APPLICATION DU SCN A L'EVALUATION DES REVENUS NON DECLARES DES MENAGES 4 mars 1996 FRANCAIS Original : RUSSE COMMISSION DE STATISTIQUE et COMMISSION ECONOMIQUE POUR L'EUROPE CONFERENCE DES STATISTICIENS EUROPEENS OFFICE STATISTIQUE DES COMMUNAUTES EUROPEENNES (EUROSTAT) ORGANISATION

Plus en détail

Interne Forces Faiblesses Externe Opportunités Menaces

Interne Forces Faiblesses Externe Opportunités Menaces L ANALYSE SWOT 1 Pourquoi utiliser cet outil en évaluation? L'analyse SWOT (Strengths Weaknesses Opportunities Threats) ou AFOM (Atouts Faibses Opportunités Menaces) est un outil d'analyse stratégique.

Plus en détail

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non

Plus en détail

modélisation solide et dessin technique

modélisation solide et dessin technique CHAPITRE 1 modélisation solide et dessin technique Les sciences graphiques regroupent un ensemble de techniques graphiques utilisées quotidiennement par les ingénieurs pour exprimer des idées, concevoir

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

ORACLE TUNING PACK 11G

ORACLE TUNING PACK 11G ORACLE TUNING PACK 11G PRINCIPALES CARACTÉRISTIQUES : Conseiller d'optimisation SQL (SQL Tuning Advisor) Mode automatique du conseiller d'optimisation SQL Profils SQL Conseiller d'accès SQL (SQL Access

Plus en détail

Date : 18.11.2013 Tangram en carré page

Date : 18.11.2013 Tangram en carré page Date : 18.11.2013 Tangram en carré page Titre : Tangram en carré Numéro de la dernière page : 14 Degrés : 1 e 4 e du Collège Durée : 90 minutes Résumé : Le jeu de Tangram (appelé en chinois les sept planches

Plus en détail

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e

Plus en détail

Année : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM Rahma NAKARA Philippe NGUYEN

Année : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM Rahma NAKARA Philippe NGUYEN Projet de Fin d'étude Rapport de gestion de projet Recherche de méthode d'estimation de volume de production à risque Équipe 5e me Année : Team-War Jaafar AMRANI-MESBAHI Fabien GARCIA Abdelali NAIT BELKACEM

Plus en détail

BANQUES DE DONNÉES PÉDAGOGIQUES

BANQUES DE DONNÉES PÉDAGOGIQUES 223 Daniel BURET, Jean-Claude BLANCHARD. HISTORIQUE L'EPI a entrepris en 1989 de créer des bases d'énoncés mathématiques destinées aux enseignants pour la production de documents et accompagnées d'un outil

Plus en détail

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation

Plus en détail

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique

Sur un ordinateur exécutant Windows 2000 Server Ayant une adresse IP statique Le DNS DNS = Domain Name Service Sert à résoudre les noms d ordinateur en adresse IP. Contention de dénomination pour les domaines Windows 2000 (nommage des domaines W2K) Localisation des composants physiques

Plus en détail

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

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris 12 20 Mars 2003 Problèmes d ordonnancement dans les systèmes de production Michel Gourgand Université Blaise Pascal Clermont Ferrand LIMOS CNRS UMR 6158 1 Le LIMOS Laboratoire d Informatique, de Modélisation et d Optimisation

Plus en détail

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

Contributions à l expérimentation sur les systèmes distribués de grande taille Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Aider à la décision. - La matrice d Eisenhower - Le diagramme de Pareto - Les arbres d objectifs - Le diagramme d affinités - La méthode Philips 6.

Aider à la décision. - La matrice d Eisenhower - Le diagramme de Pareto - Les arbres d objectifs - Le diagramme d affinités - La méthode Philips 6. Guide méthodologique du travail en commun Aider à la décision > Hiérarchiser les priorités > Choisir les bonnes solutions > Hiérarchiser les priorités - La matrice d Eisenhower - Le diagramme de Pareto

Plus en détail

CONFÉRENCE EUROPÉENNE DES MINISTRES DES TRANSPORTS EUROPEAN CONFERENCE OF MINISTERS OF TRANSPORT

CONFÉRENCE EUROPÉENNE DES MINISTRES DES TRANSPORTS EUROPEAN CONFERENCE OF MINISTERS OF TRANSPORT CONFÉRENCE EUROPÉENNE DES MINISTRES DES TRANSPORTS EUROPEAN CONFERENCE OF MINISTERS OF TRANSPORT DÉCLARATION DE PRINCIPES CONCERNANT L'ERGONOMIE ET LA SÉCURITÉ DES SYSTÈMES D'INFORMATION EMBARQUÉS Introduction

Plus en détail

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés. portnox Livre blanc réseau Janvier 2008 Access Layers portnox pour un contrôle amélioré des accès access layers Copyright 2008 Access Layers. Tous droits réservés. Table des matières Introduction 2 Contrôle

Plus en détail

METHODOLOGIE GENERALE DE LA RECHERCHE EPIDEMIOLOGIQUE : LES ENQUETES EPIDEMIOLOGIQUES

METHODOLOGIE GENERALE DE LA RECHERCHE EPIDEMIOLOGIQUE : LES ENQUETES EPIDEMIOLOGIQUES Enseignement du Deuxième Cycle des Etudes Médicales Faculté de Médecine de Toulouse Purpan et Toulouse Rangueil Module I «Apprentissage de l exercice médical» Coordonnateurs Pr Alain Grand Pr Daniel Rougé

Plus en détail

OPTIMISATION À UNE VARIABLE

OPTIMISATION À UNE VARIABLE OPTIMISATION À UNE VARIABLE Sommaire 1. Optimum locaux d'une fonction... 1 1.1. Maximum local... 1 1.2. Minimum local... 1 1.3. Points stationnaires et points critiques... 2 1.4. Recherche d'un optimum

Plus en détail

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA)

La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) La conversion de données : Convertisseur Analogique Numérique (CAN) Convertisseur Numérique Analogique (CNA) I. L'intérêt de la conversion de données, problèmes et définitions associés. I.1. Définitions:

Plus en détail

Architecture des ordinateurs. Environnement Windows : sauvegarde

Architecture des ordinateurs. Environnement Windows : sauvegarde Architecture des ordinateurs Environnement Windows : sauvegarde 1/14 Table des matières 1.Introduction...3 a)objectifs...3 b)critères de choix...3 c)stratégies de sauvegarde...3 2.La source...4 a)sauvegarde

Plus en détail

La contrefaçon par équivalence en France

La contrefaçon par équivalence en France BREVETS La contrefaçon par équivalence en France I. Introduction Si l'on considère une revendication de brevet qui remplit les conditions de validité au regard de l'art antérieur, le cas de contrefaçon

Plus en détail

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples 45 Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples Les espaces vectoriels considérés sont réels, non réduits au vecteur nul et

Plus en détail

Conduite et Gestion de Projet - Cahier des charges

Conduite et Gestion de Projet - Cahier des charges Conduite et Gestion de Projet - Cahier des charges 1 Introduction Sophie Toulouse LIPN - Université Paris 13 +33.1.49.40.40.73 99 av. Jean-Baptiste Clément toulouse@lipn.univ-paris13.fr 93430 Villetaneuse

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas

Plus en détail

Partie 7 : Gestion de la mémoire

Partie 7 : Gestion de la mémoire INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases

Plus en détail

NC 35 Norme comptable relative aux états financiers consolidés

NC 35 Norme comptable relative aux états financiers consolidés NC 35 Norme comptable relative aux états financiers consolidés Champ d'application 1. La présente norme doit être appliquée à la préparation et à la présentation des états financiers consolidés d'un groupe

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Méthodes de développement

Méthodes de développement 1 / 9 Méthodes de développement Méthodes agiles 1 - Introduction... 2 2 -Le manifeste agile et les méthodes agiles... 2 2.1 Le manifeste agile... 2 2.2 Les méthodes agiles... 3 3 - Caractéristiques communes

Plus en détail

E.I.S : Un outil performant pour I'analyse du risque en Assurance

E.I.S : Un outil performant pour I'analyse du risque en Assurance E.I.S : Un outil performant pour I'analyse du risque en Assurance Fabienne Hassan - Pascale Robin - Guy Valdois - Groupama Central Assurance France 1 - GROUPAMA ASSURANCE 1-1 Positionnement de l'entreprise

Plus en détail

ORACLE DIAGNOSTIC PACK 11G

ORACLE DIAGNOSTIC PACK 11G ORACLE DIAGNOSTIC PACK 11G PRINCIPALES CARACTÉRISTIQUES : Surveillance automatique des diagnostics (ADDM Automatic Database Diagnostic Monitor) Référentiel automatique de la charge (AWR Automatic Workload

Plus en détail

Développement rural 2007-2013. Document d orientation

Développement rural 2007-2013. Document d orientation Développement rural 2007-2013 MANUEL RELATIF AU CADRE COMMUN DE SUIVI ET D EVALUATION Document d orientation Septembre 2006 Direction générale de l agriculture et du développement rural TABLE DES MATIÈRES

Plus en détail

Optimisation Combinatoire et Colonies de Fourmis Nicolas Monmarche April 21, 1999 Sommaire Inspiration biologiques Ant Colony Optimization Applications TSP QAP Flow Shop Problemes dynamiques 1 Historique

Plus en détail

Fiche de l'awt Intégration des applications

Fiche de l'awt Intégration des applications Fiche de l'awt Intégration des applications Aujourd'hui, plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une

Plus en détail

Séance 4. Gestion de la capacité. Gestion des opérations et de la logistique 4-530-03

Séance 4. Gestion de la capacité. Gestion des opérations et de la logistique 4-530-03 Gestion des opérations et de la logistique Séance 4 4-530-03 Gestion de la capacité Points importants présentés au dernier cours Les principaux types d aménagement Étude du travail et l amélioration des

Plus en détail

Fiche méthodologique Rédiger un cahier des charges

Fiche méthodologique Rédiger un cahier des charges Fiche méthodologique Rédiger un cahier des charges Plan de la fiche : 1 : Présentation de la fiche 2 : Introduction : les grands principes 3 : Contenu, 1 : positionnement et objectifs du projet 4 : Contenu,

Plus en détail

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

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

NOTIONS DE RESEAUX INFORMATIQUES

NOTIONS DE RESEAUX INFORMATIQUES NOTIONS DE RESEAUX INFORMATIQUES GENERALITES Définition d'un réseau Un réseau informatique est un ensemble d'équipements reliés entre eux afin de partager des données, des ressources et d'échanger des

Plus en détail

1. Vocabulaire : Introduction au tableau élémentaire

1. Vocabulaire : Introduction au tableau élémentaire L1-S1 Lire et caractériser l'information géographique - Le traitement statistique univarié Statistique : le terme statistique désigne à la fois : 1) l'ensemble des données numériques concernant une catégorie

Plus en détail

GLOBAL SUPPLY CHAIN MANAGEMENT & STRATEGIE LOGISTIQUE

GLOBAL SUPPLY CHAIN MANAGEMENT & STRATEGIE LOGISTIQUE GLOBAL SUPPLY CHAIN MANAGEMENT & STRATEGIE LOGISTIQUE La logistique représentait traditionnellement l activité allant de la mise à disposition des produits finis par l usine ou le négociant jusqu à la

Plus en détail

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS

COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS 1 sur 9 COMMENT MAITRISER LA GESTION DES APPROVISIONNEMENTS ET DES STOCKS DE MEDICAMENTS (L'article intégral est paru dans Gestions Hospitalières n 357 de juin-juillet 1996) Pour plus d'informations concernant

Plus en détail

LA QUALITE DU LOGICIEL

LA QUALITE DU LOGICIEL LA QUALITE DU LOGICIEL I INTRODUCTION L'information est aujourd'hui une ressource stratégique pour la plupart des entreprises, dans lesquelles de très nombreuses activités reposent sur l'exploitation d'applications

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Avantages de l'archivage des e-mails

Avantages de l'archivage des e-mails Avantages de l'archivage des e-mails En plus d'être l'un des plus importants moyens de communication actuels, l'e-mail est aussi l'une des sources d'information les plus complètes et précieuses. Or, les

Plus en détail

Conception de réseaux de télécommunications : optimisation et expérimentations

Conception de réseaux de télécommunications : optimisation et expérimentations Conception de réseaux de télécommunications : optimisation et expérimentations Jean-François Lalande Directeurs de thèse: Jean-Claude Bermond - Michel Syska Université de Nice-Sophia Antipolis Mascotte,

Plus en détail

Examen technique des technologies de mise en cache

Examen technique des technologies de mise en cache technologies de mise en cache LIVRE BLANC Au cours des 10 dernières années, l'utilisation d'applications facilitant les processus métier a considérablement évolué. Ce qui était un plus avantageux fait

Plus en détail

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280 FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION

Plus en détail

Analyse de la bande passante

Analyse de la bande passante Analyse de la bande passante 1 Objectif... 1 2 Rappels techniques... 2 2.1 Définition de la bande passante... 2 2.2 Flux ascendants et descandants... 2 2.3 Architecture... 2 2.4 Bande passante et volumétrie...

Plus en détail

Journal officiel de l'union européenne

Journal officiel de l'union européenne 20.5.2014 L 148/29 RÈGLEMENT DÉLÉGUÉ (UE) N o 528/2014 DE LA COMMISSION du 12 mars 2014 complétant le règlement (UE) n o 575/2013 du Parlement européen et du Conseil en ce qui concerne les normes techniques

Plus en détail

Orientations sur la solvabilité du groupe

Orientations sur la solvabilité du groupe EIOPA-BoS-14/181 FR Orientations sur la solvabilité du groupe EIOPA Westhafen Tower, Westhafenplatz 1-60327 Frankfurt Germany - Tel. + 49 69-951119-20; Fax. + 49 69-951119-19; email: info@eiopa.europa.eu

Plus en détail

Fonctions de plusieurs variables

Fonctions de plusieurs variables Module : Analyse 03 Chapitre 00 : Fonctions de plusieurs variables Généralités et Rappels des notions topologiques dans : Qu est- ce que?: Mathématiquement, n étant un entier non nul, on définit comme

Plus en détail

Couples de variables aléatoires discrètes

Couples de variables aléatoires discrètes Couples de variables aléatoires discrètes ECE Lycée Carnot mai Dans ce dernier chapitre de probabilités de l'année, nous allons introduire l'étude de couples de variables aléatoires, c'est-à-dire l'étude

Plus en détail

Systèmes de transport public guidés urbains de personnes

Systèmes de transport public guidés urbains de personnes service technique des Remontées mécaniques et des Transports guidés Systèmes de transport public guidés urbains de personnes Principe «GAME» (Globalement Au Moins Équivalent) Méthodologie de démonstration

Plus en détail

6. Les différents types de démonstrations

6. Les différents types de démonstrations LES DIFFÉRENTS TYPES DE DÉMONSTRATIONS 33 6. Les différents types de démonstrations 6.1. Un peu de logique En mathématiques, une démonstration est un raisonnement qui permet, à partir de certains axiomes,

Plus en détail

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2. Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2. Techniques de correction pour les options barrières 25 janvier 2007 Exercice à rendre individuellement lors

Plus en détail

Cryptographie. Master de cryptographie Architectures PKI. 23 mars 2015. Université Rennes 1

Cryptographie. Master de cryptographie Architectures PKI. 23 mars 2015. Université Rennes 1 Cryptographie Master de cryptographie Architectures PKI 23 mars 2015 Université Rennes 1 Master Crypto (2014-2015) Cryptographie 23 mars 2015 1 / 17 Cadre Principe de Kercho : "La sécurité d'un système

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Modélisation multi-agents - Agents réactifs

Modélisation multi-agents - Agents réactifs Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - julien.saunier@ifsttar.fr Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf

Plus en détail

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30 Plan du Travail Chapitre 1: Internet et le Web : Définitions et historique Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015

Plus en détail

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET 1 Tianxiao LIU Licence Professionnelle Réseaux & Sécurité Université de Cergy-Pontoise http://depinfo.u-cergy.fr/~tliu/lpg.php PLAN Objectif et

Plus en détail