Sélection de pairs et allocation de tâches dans P2P-MPI

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

Download "Sélection de pairs et allocation de tâches dans P2P-MPI"

Transcription

1 Mémoire Master 2 IFA Université Louis-Pasteur Strasbourg Sélection pairs et allocation tâches P2P-MPI Ghazi Bouabene Master 2 IFA 2005/2006 boratoire : Image et Calcul Parallèle Scientique Stage encadré par Stéphane Genaud

2 2

3 Remerciements leur Je soutien remercie quotidien. tout d'abord mes frères, Anis et Karim ainsi que Victoria pour drant Un et grand son soutien merci à Stéphane candidatures Genaud pour ses thèses. qualités bienveilntes d'enca- une"spéciale Enn merci dédicace" à tous pour membres basket-team. l'icps pour leur acceuil chaleureux, avec 3

4 4

5 Table s matières 1 Introduction Modèreprésentationsapplicationsparallè Notreproblème Approchespourrésoudreleproblèmed'allocation OrdonnancementDAG AllocationSTG Cas s ressources homogènes et graphe d'application régulier Cas s. ressources homogènes et.. graphe.... d'application irrégulier Casressourceshétérogènesetgrapherégulier Casressourceshétérogènesetgrapheirrégulier Autresheuristiquesintéressantes P2P-MPI API Middleware Mécanismes découverte s pairs et allocation P2P-MPI Recherche noeuds pour exécuter une application P2P Illustrationduproblème MPI Conventionsreprésentationsgraphes Cadre Etuducomportementl'application Constructionstraces Découvertesliensfortsentretâches Objectif Algorithmegroupementstâches Complexitél'algorithme Exempgroupements Découvertesclustersmachines État l'art 11 3 Proposition d'une métho d'allocation 25

6 6 TABLE DES MATIÈRES Objectif Représentationsinterconnexionsshôtes Algorithmegroupementsprocesseurs Complexité l'algortihme groupement s processeurs Limites Algorithmed'allocation Complexité l'algorithme d'allocation s groupes tâches Conclusion auxclusters Notregrilletests Applicationstypes Résultats Applicationàbarrièressynchronisation Applicationtypemaître-escve Applicationtypediviandconquer Exemp Validation 51 5 Conclusion 59

7 Table s gures 2.1 GrapheSTG T 1 et T 2,Graphed'interactionentre T 1 et T 2.2 GrapheDAGrésultant ungraphettig Exempleclusterisation Arbreclusterisation Exempled'applicationmaitreescve Grille5processeurs ExempleavecuneapplicationenAnneau Exempleavecuneapplicationirrégulière Exempled'uncasdéfavorableclusterisation Exempledivisiongroupe réguritél'agglomération Matriced'adjacencestaches Allocationl'applicationàbarrières Matrice d'adjacence s taches l'application maître-escve applicationdiviandconquer

8 8 TABLE DES FIGURES

9 Chapitre 1 Introduction technologies L'évolution réseau constante ont fait s émerger architectures le concept s ordinateurs ainsi que celle s Grille il vient désormais possible fédérer ressources plusieurs calcul. machines En eet bureauand'atteindrescapacitéscalculrivalisantaveccelssupercalcuteurs l'intermédiaire ou encore d'un cel middleware(intergiciel) s clusters. Ces gril qui sont a pour souvent rôle d'orir construites s services par le transfert au niveau chiers, système le aux ncement utilisateurs tâches tels que à distance, découverte etc. s ressources, ware Dans développé ce cadre pendant on trouve thèse s projets M. Choopan originaux Rattanapoka tel P2P-MPI[10], sous un direction middle- dont M. Stéphane gestion est Genaud. totalement P2P-MPI distribuée permet selon un construire mo pair-à-pair. une grille Les calcul participantàgrilleonttousunstatutd'égalàégaletpeuventbénéciers pairs ressources Cependant,vulegrandnombredésàreleverand'obtenirunintergiciel disponib ainsi que mettre leurs à disposition. plète, grille le problème able, robuste d'une aux allocation erreurs optimale et orant s une tâches API sur programmation machines formant com- plus grille dicile n'a pas par encore l'hétérogénéité pu être traité. s ressources. D'autant plus En eet que ce problème machines est formant rendu une férents grille organismes P2P-MPI (utilisateurs sont géographiquement privés, universités, distribuées entreprises et sous l'autorité.. ). Cette grille dif- est d'interconnexion. donc formée machines à architectures diérentes avec diérents débits dicilel'allocationstâchesd'uneapplicationparallèleauxressourcesd'une Nous allons donc le cadre ce mémoire nous intéresser au problème grille sier hétérogène. diérentes Pour approches ce nous proposées allons un premier littérature temps pour étudier traiter et cs- problème. Nousproposeronsensuiteune métho d'allocation quenouspensons ce adaptéeàgrillep2p-mpi,quenousvalironsennparsexpérimentations sur lè. s applications types i.e s applications fréquentes calculs paral- 9

10 10 CHAPITRE 1. INTRODUCTION

11 Chapitre 2 État l'art L'allocation menttraitélittérature,ceciétantcertainementdûàl'aspect tâches sur un ensemble ressources est un problème rge- NP-complet du cher problème. une allocation En eet optimale plusieures heuristiques diérents cas ont problématiques. été développées an d'appro- possible Le problème tâches (processus) le cadre d'une ce mémoire application est MPI d'allouer sur un le plus ensemble ecacement cesseurs formant une grille calcul. Les applications MPI sont du type SPMD pro- (Single méro du Process processus Multiple est exécuté. Data-stream) Le numéro où un d'un même processus co paramétré MPI est appelé par le son nu- rang.lesprocessusd'uneapplicationmpidémarrentenmêmetempsetpeuvent communiquerparenvoimessage,etceàtoutmomentpendantleurexécution. Le l'application. but recherche Nous allons d'une voir allocation ce chapitre est minimiser une énumération le temps s d'exécution principa techniques Une taxonomie développées s qui travaux s'approchent déjà eectués notre problème. permettra déterminer une ligne directrice pour notre le domaine travail recherche. l'allocation 2.1 Modè représentation s applications parallè d'allocation On trouve prenant en littérature entrée ux principalement modè diérents ux catégories représentation méthos applications parallè. Ces modè représentation sont: s Les DAG : cence Graph), Un est DAG un graphe (Direct Acyclic Graph), aussi appelé TPG (Task Pre- G = (N, E) où N représentant s tâches. Une tâche est une suite est calcul un ensemble i.e une séquence noeuds d'instructions ne contenant aucune primitive communication. Chaque noeud n i N est pondéré par complexité calcul w(n i ) sente. tâche qu'il repré- E est l'ensemble s arcs représentant s dépendances données (ou 11

12 12 CHAPITRE 2. ÉTAT DE L'ART communications) entre tâches. Une communication entre ux tâches n i et n estnotée: j e i,j : n i n j Chaquearc e i,j estpondéréparlevolumedonnéestransférées n i vers n Les communications, suivant le modèle DAG, ne peuvent être eectuées j. qu'au début et à n s tâches. En eet un arc e 1,2 partant d'un noeud n 1 versunautre n 2 signieterminaison n 1 avantlecommencement n Lesarcsrepésententainsiunecontrainteprécénce(dépendancetemporelle) 2. entretâches.[23],[14],[20] Les STG : Graph)estungraphe Un STG(Static Task Graph), aussi appelé TIG(Task Interaction G = (N, s tâches. Chaque noeud E)oùNestunensemblenoeudsreprésentant n i est pondéré par complexité calcul w(n i ) tâche qu'il représente. E tions inter-tâches sans donner est d'indication l'ensemble s temporelle arcs représentant sur ces communications. s communica- Pour ux noeuds n i et n j, un arc noté e i,j joignant n i à n plusieurescommunicationsentre j représente une ou n i et n j. e i,j estpondéréparlevolumetotalsdonnéestransféréesentre n i et n ux sens. j type A diérence n-début, du i.e DAG une communication communications n'induisent pas une dépendance n 1 à n terminaison 2 n'oblige pas à attendre n 1 pourcommencer n doncpasspéciéescemodèlegraphe:uxtâchesliéesparunarc 2.Lesdépendancestemporelnesont un STGestdoncadéquatpourapplicationsparallètypeSPMD,oùl'ona STG peuvent être exécutées simultanément. Le modèle représentation une tâche unique qui démarre simultanément [15]. sur plusieurs processeurs.[5],[9], 2.2 Notre problème Toutd'abord,itimportantcrierdiérenceentre ordonnancement et allocation. L'ordonnacement est recherche où et quand tâche en vue d'améliorer un critère performance, comme durée exécuter d'exécution une totale pcementstâchessurprocesseursquimaximiseuncritèreperformance l'application par exemple. L'allocation se limite quant à elle trouver le (doncle où ser parallélisation uniquement).danslecadrecemémoirenouscherchonsàoptimi- peuvent démarrer simultanément d'une application et communiquer MPI. Les tâches tout au d'une long telle application tion. Comme il n'y a pas dépendances temporel entre tâches, leur exécu- travail d'optimisation se résume donc trouver le meilleur pcement s tâches notre sur du problème processeurs. d'allocation On a donc ux aaire cas à gure un problème se présentent: d'allocation. Dans le cadre Le nombre processeurs est inférieur au nombre tâches Danscecasonretombeleproblèmel'ordonnancementcarondoit

13 2.3. APPROCHES POUR RÉSOUDRE LE PROBLÈME D'ALLOCATION13 prendre s tâches, en notamment compte pour facteurs éviter temps s situations et précénce blocage. lors Par l'allocation le cas où l'on n'assigne qu'une tâche par processeur, s tâches exemple occupenttousprocesseurspeuventresterindénémentenattented'une qui communicationpartd'unetâchenonallouée(etquinepourrajamais l'être). Le nombre processeurs est supérieur au nombre tâches cas est le plus probable le contexte ce mémoire puisqu'on dispose Ce Le d'une problème grille calcul l'allocation ayant un est grand donc nombre un cas particulier processeurs. celui l'ordonnancement, mais meure cependant NP-Complet[13]. (sous-problème) prochechoisiececaspourobtenirsallocationssatisfaisantesenuntemps L'ap- polynomial suivante, cssier est d'utiliser et détailler s méthos quelques heuristiques. heuristiques Nous d'allocations. allons, section 2.3 Approches pour résoudre le problème d'allocation Ordonnancement DAG nancer Beaucoup tâches d'heuristiques d'un DAG ont été manière développées presque optimale, littérature [4], [21], pour [7], ordon- Cette gran variété solutions, ne peut malheureusement pas être directementadoptéenotrecas,oùl'onalloueprocessusd'uneapplicationmpi. [12]. En cénce eet, puisqu'el tâches d'une commencent application toutes MPI en n'ont même pas temps. retion De ce stricte fait el sont pré- modélisées Une solution un possible STG. fomerlegraphestgenungraphedag.cecipeutêtreréaliséenpartitionnant pour pouvoir proter ces méthos serait trans- chaquetâche(noeud)dustgensesphasescalculcomprisesentreuxprimitives à leurs début communications. et n et donc On une obtient représentation ainsi s sous-tâches l'application inter-dépendantes modèle DAG. Prenons par exemple ux tâches conforme au T 1 et T graphestgfig représentées le La tâche T 1 se décompose en trois phases calcul brut (ne contenant pas communications):a 1, A 2 et A 3. T 2 sedécompose en B 1 et B détailléesuxtâchesestmontréefig L'exécution modéliséelestgentre En considérant phases calcul brut, on peut transformer l'intéraction T 1 et T précénceentre 2 enundagreprésentantscontraintes A 1, A 2, A 3, B 1 et B cette solution est loin d'être pratique 2 car:.lafig.2.2donnecedag. Cependant elle donne s graphes très gran taille ment complexité l'allocation, et donc le :cequiaugmentegran- calculer. temps nécessaire à

14 14 CHAPITRE 2. ÉTAT DE L'ART T T1 B1 B A1 A2 A3 T2 T1 Fig. 2.1GrapheSTG T 1 et T 2,Graphed'interactionentre T 1 et T 2 10 A1 10 B A2 15 B A3 Fig. 2.2 Graphe DAG résultant elle introduit une forte contrainte cohérence s'assurer que sous-tâches d'un même processus MPI soient : en eet pcées on doit lemêmeprocesseuranmaintenircohérencesdonnéesetduprogramme. sur vuespourlemodèledag. Ceci inhibe granment le fonctionnement s heuristiques pré Allocation STG quant Les à techniques el moins et nombreuses heuristiques concernant littérature. l'ordonnacement d'un STG sont El peuvent être cssiées selon ux critères principaux: La nature s ressources cib : Par exemple le cas d'un unique cluster qui peuvent avec s être machines soit homogènes; intiques; ou et liens hétérogènes sieures architectures machines le et cas s d'une connexions grappe inter-cluster cluster avec à débits plu- variab. Le graphe modélisant l'application : à dire pouvant être construit en répétant qui itérativement peut être soit un régulier; sous-graphe c'est qu'on appelle motif ses noeuds. ; ou irrégulier, avec s connexions arbitraires entre Latabuivanteindiquecssicationsméthosd'allocationsquel'on

15 2.3. APPROCHES POUR RÉSOUDRE LE PROBLÈME D'ALLOCATION15 va décrire. graphe régulier ressources OREGAMI[17] homogènes ressources PROPHET[24] hétérogènes graphe irrégulier TTIG[22] Bowen, Ghafoor[6] Cas s ressources homogènes et graphe d'application régulier GAMI, Dans[17]auteursdénissentunoutild'allocationtâchesnomméOREtectures allouant parallè. s applications parallè à passage messages sur s archi- structurel'applicationparallèleainsiquearchitecturescib. OREGAMI traite le problème l'allocation en exploitant s régurités Lesauteurssebasentsurl'hypothèsequebeaucoupd'applicationsparallèsont caractérisées tème parallèle par cible s est motifs régulière communication c'est-à-dire formée réguliers. processeurs L'architecture homogènes du sys- connectés L'allocation par une OREGAMI topologie est réseau faite en régulière trois étapes: (hypercube, mesh, Bruijn). contraction s tâches en un graphe plus petit, le cas où le nombre tâches du dépasse graphe celui s processeurs, l'aectation cesseurs et le s clusters tâches contractées à s pro- routage minimiser contentions. s messages à travers le réseau d'interconnexion an Cas s ressources homogènes et graphe d'application irrégulier risation"quiconsisteàregrouperplusieursnoeudsd'ungraphetâchesan Certainesapprochescecasguresebasentsurleprincipe"cluste- s aecter graphes à une tâches même plus ressource. simp Ce (et procédé donc plus clusterisation réguliers). Par permet exemple d'obtenir [11]auteurssepcentlecadred'ununiqueclustermachinesavecs processeurs sur ce système et interconnexions ont un graphe irrégulier. homogènes. Les Les auteurs applications dénissent qu'ils une parallélisent au modèle graphe STG, sous le nom TTIG (Temporal Task Interaction extension Graph) calcul s permettant tâches, mais préciser en plus non un gré seulement concurrence poids en entre communication el. Ils développent et on Task une depenncies) stratégie d'allocation qui tire avantage nommée MATE ce modèle (Mapping en évaluant Algorithm l'utilité based regroupement ux tâches. du modèle TTIG [22] le modèle STG à Les savoir noeuds qu'ils représentent ce modèle ont tâches même pondérées signication par leur que complexité en calcul. Un arc d'un graphe TTIG dirigé d'un noeud T i vers T représentelevolumetotalscommunicationseectuées j T i vers T cité du modèle TTIG rési le fait qu'il associe un paramètre additionnel j.laspéci-

16 16 CHAPITRE 2. ÉTAT DE L'ART aux arcs, qui correspond au gré parallélisme. Pour ux tâches T i et T j adjacentes,i.eliéesparunarc e i,j alnt T i vers T j,legréparallélisme passociéàe i,j est: p = T c p T cj où T cp T j. correspondautempspendantlequel T i et T j s'exécutentenparallèle. T cj L'appeltion estletempsd'exécutiontoal Temporal possible modéliser une retion TIG dérive précénce ce nouveau paramètre le TTIG. car En il vient retion eet T i précètotalement T parallélismeassociéàl'arcalnt j semodéliselettigparungré T i à T j égalà0. Fig. 2.3ungrapheTTIG algorithme MATE [11] temps d'exécution l'application L'objectif en utilisant cet algorithme le modèle est TTIG minimiser déni précémment.l'idéeprincipaleest"clusteriser"tâchesfortementdépendantes le c'est-à-dire tâches à exécuter en associer leur associant au même une processeur. priorité. MATE Cette liste construit est dynamique une liste s recalculée a chaque aectation d'une tâche à un processeur. i.e est L'algorithme dit initial si aucune commence contrainte par dénir communication liste s noeuds ne l'empêche initiaux. Un démarrer noeud à au une début même l'application. distance en arcs On introduit s noeuds alors initiaux une notion sont dits niveau. du même Les niveau. noeuds Pour chaque noeud t i on calcule son niveau N(T i ) minimale en nombre d'arcs d'un noeud initial quelconque. correspondant Dans le à graphe sa distance Fig.2.3, T 1 est seule tâche initiale et on a valeurs N(T 1 ) = 0, N(T 2 ) =

17 2.3. APPROCHES POUR RÉSOUDRE LE PROBLÈME D'ALLOCATION17 1, N(T 3 ) = 1, N(T 4 ) = 1 et N(T 5 ) = noeuds selon un ordre croissant s niveaux. 2. L'algorithme L'idée principale considère est d'évaluer ensuite dépendancestâchesduniveauactuel(tâchesencoursd'allocation)aveccel s fortementdépendanted'unetâchedéjàallouéealorselleestgroupéeaveccelle-ci niveaux précénts(tâches déjà allouées). Si une tâche du niveau actuel est i.e au aectée paramètre au même grès processeur. parallèlisme Cette évaluation entre tâches dépendance indiqué se le fait graphe grâce TTIG.L'algorithmeévaluele gain àassocierunetâche T aumêmeprocesseurqu'unetâche i encoursd'allocation T j déjàallouéeetadjacente à 1 T l'algorithme calcule valeurs suivantes: i.pource temps d'exécution si agrégés :qu'onnote t nécessaire pour exécuter tâche a.c'estletempsminimum T i sur le même processeur que T tempsestdonnéparformule: j. Ce t a = T ci + T cj + T aj où T ci et T cj sonttempscalculrespectifs T i et T j. T au temps accumulé aj correspond T mêmeprocesseur.cetempsaccumulésertaéviterd'aectertroptâches j dû à l'aectation d'autres tâches adjacentes au à un même processeur. temps d'exécution si disjoints : qu'on note t cution minimal s ux tâches lorsque d. C'est le temps d'exé- T i diérentcelui est aectée à un processeur T j.cetempsestégalà t d = T com + T ci + T cj T par où T com correspond au temps communication entre T i et T j, T le temps durant lequel par est T i et T grâce au gré parallélisme j indiqué s'exécutent en le graphe parallèle, TTIG. ce temps obtenu legainestalorscalculécommesuit: gain = t d t a Une valeur positive du gain indique une forte dépendance T i avec T j. T i estdoncaectéeaumêmeprocesseurque T j.silegainestnégatif, T i estalors aectée au processeur le moins chargé Cas ressources hétérogènes et graphe régulier Dans [24] auteurs proposent une pteforme d'allocation tâches sur une grappe clusters s informations sur l'application (groupement et plusieurs ressources. clusters Un modèle distants), coût guidée tenant par compte utilisant du ce calcul modèle ainsi coût que s sont communications aussi proposées. y est proposé. Des heuristiques 1 ux tâches sont dites adjacentes si elle sont reliées par un arc

18 18 CHAPITRE 2. ÉTAT DE L'ART Le modèle côut : l'interconnexionsprocesseurs,topologiescommunications,taille Le coût s communications intra-cluster dépend s communication. messages échangés Les auteurs ainsi expriment que du nombre s coûts processeurs pour s topologies participants communication à Unidimensionnelle régulièrement : trouvées fréquente applications problèmes parallè: basés sur gril et matrices. Les processeurs échangent calcul s scientique avec leurs ux voisins(nord et sud) messages Anneau:Chaqueprocesseurreçoitsonvoisingaucheetenvoitaudroit. Arbre: comme souvent réduction. utilisée applications ayant s opérations globa Cecoûtestalorsexprimécommesuit: T comm [C i, τ](mtaille, p) = (c 1 p) + (p mtaille)/c 2 où C i est le cluster sur lequel tâches sont pcées, τ communication l'application, est topologie mtaille d'octets) transmis en un cycle d'itération est l'exécution, taille messages (nombre p processeurs sélectionnés communiquants, est le nombre c 1 est tence du réseau, c ban passante. 2 est cluster. Il se La peut communication que toutes entre tâches diérents ne puissent clusters pas entraîne être pcées une pénalité sur un même tage.ilfautdoncconsidérerenplus,fonctioncoûtcommunication, rou- un coût routage. T routage [C i, C j ](mtaille) = r 1 + r 2 mtaille où r 1 est une pénalité tence, et r 2 une pénalité par octet routé C i vers C suit: j. Une fonction coût total communication est alors dénie comme T commtotal [C i, τ] = T comm [C i, τ] + k T routage [C i, C j ] où kestlenombremessagesroutésparcycle.cettefonctiondépenddonc topologie communication τ formu pour trois topologies citées précémment: l'application, auteurs donnent T comm [1 D] = max i T comm[ci,1 D] T comm [Anneau] = sum i T comm [C i, Anneau] T comm [Arbre] = T comm [C racine, Arbre] + max i feuil T [C i, Arbre] Pour topologie 1 Donc le coût communication D, tous est processeurs limité par le communiquent cluster le plus simultanément. cas lent. Pour le l envoient Anneau, processeurs reçoivent d'abord leur voisin gauche puis Arbre,feuilcommuniquentmanièresimultanéeentreelpuisenvoient au droit. Le coût communication est donc additif. Pour topologie

19 2.3. APPROCHES POUR RÉSOUDRE LE PROBLÈME D'ALLOCATION19 àleurnoeudpère.lecoûtcommunicationpourcettetopologieestdoncdéni manière récursive. Unefonctioncoûtcalcutaussidéniecommesuit: T cal = ctaille coutarchi nbp DU/p où nbp DU du domaine est le données, nombre par exemple PDU (Primitive 4 octets) Data manipulés Unit : durant plus petit phase morceau calcul, ctaille est quantité calcul exécuté sur un PDU, coutarchi coût d'exécution spécique à l'architecture du processeur. est un Le coût d'exécution total l'application est alors nalement donné par T exe = nbcyc (T cal + T comm ) où nbcyc est le nombre cyc d'itération l'exécution. Les heuristiques : H2 qui cherchent s allocations Les auteurs minimisant proposent le ensuite coût exprimé ux heursistiques, ci-ssus. H1 et Heuristique avec s capacités H1 : Cette communication heuristique se intiques pce entre le cadre ressources. d'un système cettehypothèse,ils'agitbaserrecherchesurpuissancecalculs Dans clusters. processeurs. Les On clusters commence sont donc par cssés explorer selon le meilleur puissance cluster. cumulée On attribue leurs à disponib chaque tâche et s'il un reste processeur s tâches disponible. à pcer, S'il on n'y explore a plus le cluster processeurs le cssement, et ainsi suite. suivant HeuristiqueH2: Cette communication heuristique se du pce système sont un cadre hétérogènes. plus général, Un simple où cssement capacités s routageversunclusterpuissantpeutêtretroppénalisantparrapportàun clusters selon puissance n'est alors plus approprié car le coût routageversunclustercertesmoinspuissantmaisnécessitantstemps communicationinférieurs.l'heuristiqueh2estbaséesurvaleur T dénieprécémment,quitientcompteàfoisstempscalculets exe temps d'exploration communication. s clusters. Tout En procédant d'abord, on toujours établit un nouveau l'ordre s cssement établi par H1, on cherche, pour chaque cluster pris individuellement, clusters permettant d'obtenir une valeur celui T que si un cluster ne dispose que d'un nombre exe minimale. inférieur On peut ressources remarquer rapport au nombre tâches à pcer, certaines ces tâches sont, lors par attente cette sur phase certaines d'évaluation ressources clusters rrière uniquement, s premières considérées tâches déjà comme pcées. en Lesclusterssontensuitecsséssuivantvaleurminimale T On explore chaque cluster l'ordre du cssement en exécutant exe obtenue. phases: ux

20 20 CHAPITRE 2. ÉTAT DE L'ART Phase1:OnemploiemêmestratégiequeH1.Onsélectionnetous sélectionné. processeurs disponib et on attribue une tâche à chaque processeur Phase 2 : On essaie réduire composante T comm T sommes le cas d'un pcement interclusters(toutes exe tâches. Si n'ont nous pas explorés pu être celui pcées qui engendre sur le même le plus cluster), temps on considère communication parmi clusters T On enlève une s tâches pcées sur un processeur sélectionné comm et on. pce communication sur le cluster global en diminue cours d'exploration, et tant qu'il ceci existe tant s que processeurs le temps disponib sélectionné s sur processeurs le cluster en diminuant cours d'exploration. le temps A communication ce sta, nous avons appartenantàunclustermoinsbiencssé.cesontdoncsprocesseurs mais peut calcul.ils'agitdoncconsidérerconguration,parmicelobtenues être moins puissants, engendrant ainsi une hausse du temps avant et après minimisation composante T d'obtenir un temps d'exécution minimal. comm, qui permet Cas ressources hétérogènes et graphe irrégulier qui Dans prend [6] en entrée auteurs le graphe proposent s une tâches métho ainsi que clusterisation celui s processeurs. hiérarchique tâches fortement communiquantes sont groupées ainsi que processeurs Les pologiquement proches an d'obtenir s graphes plus simp. L'algorithme to- clusterisation génère ainsi ux arbres, un pour processeurs et un pour tâches, qu'il cherche ensuite à combiner. Algorithme clusterisation hiérarchique : tionprésentél'articleestutilisépourlegraphed'applicationainsiquepour L'algorithme clusterisa- legraphedusystèmeparallèle.itunevariationsalgorithmesclusterisation par agglomération comme clusters et qu'on où groupe l'on part pour d'un former ensemble plus tâches grands que clusters. l'on considère l'algortihmeestungraphe L'entrée G = (V, F )où V un ensemble d'arcs. Un ensemble estunensemblenoeudsetf E Une notion contient poids associés aux arcs F. d'anité d'unarcreliantuxnoeudsestgrandplusleuranitéestgran.l'algorithme est utilisée pour le groupement s noeuds. Plus le poids fonctionne noeuds avec en eectuant plus gran plusieurs anité sont passes groupés intermédiaires. s clusters. Durant une La passe passe termine cluster lorsque peut ne tous contenir noeuds qu'un ont seul été noeud(noeud ajoutés à un isolé cluster. i.e ne Il communiquant est à noter qu'un avec autres). pas pivot.cenoeustceluiadjacentàl'arcleplusrge(auplusgrandpoids)du La première étape d'une passe intermédiaire est sélectionner un noeud graphe. départage Puisqu'il d'abord y a au selon: minimum ux noeuds remplissant cette condition, on le plus grand nombre d'arcs rejoignant le noeud.

21 2.3. APPROCHES POUR RÉSOUDRE LE PROBLÈME D'ALLOCATION21 Laprochaineétapepasseestalorssélectionnervoisinsnonclusterisés lepluspetitindicenoeud. seuitalorsutilisépoursélectionnercandidatsàl'inclusionuncluster. du pivot. Ceux-ci sont ordonnés par anité décroissante. Un paramètre Ce un cluster paramètre aient a approximativement pour rôle permettre mêmes que l'ensemble poids. Si s le poids arcs contenus associé à liant un voisin du pivot au pivot peut être considéré simiire (selon le paramètre l'arc au cluster. seuil) Par à ceux exemple liant prenons membres le cas du s cluster noeuds au P, pivot, A, ce voisin est ajouté B et C 2.4où gure P estlenoeudpivotet Aet B onétégroupésavec P. C ajoutéauclustercarlepoidssonlienaveclepivotestassezsembbleàceux peutaussiêtre s est aussi liens compris considéré comme le cluster. pivot. Une Donc fois si qu'un noeud est ajouté au cluster, il C ses voisins non clusterisés pour une inclusion est probable ajouté au au cluster groupe courant. on considère n passe groupes noeuds à forte anité (clusters) sont intiés A et un représentant. nouveau graphe On applique est construit ensuite en une rempcant uxième chaque passe sur cluster ce nouveau par un noeud graphe. le L'algorithme seul noeud. clusterisation s'arrête lorsque le graphe ne contient plus qu'un B 147 C 145 P 150 A Cluster Fig. 2.4 Exemple clusterisation arbre Cette retraçant clusterisation clusterisation est dite hiérarchique au l s passes. car elle Dans permet l'exemple construire gure un 2.5,premièrepassel'algorithmevaintieruxclusters,l'uncomprenant noeuds a, b, c et d, et l'autre comprenant e et f. Appelons ces clusters g et h un graphe respectivement. contenant La ux uxième noeuds passe l'algorithme prend alors en entrée g et h passe précénte. Ces ux noeuds représentants sont regroupés et clusters l'algorithme intiés clusterisation termine. Algorithme d'allocation : prennentréeunarbrerésultantclusterisationdugraphesprocesseurs L'algorithme d'allocation proposé l'article

22 22 CHAPITRE 2. ÉTAT DE L'ART e 2 c 15 b Passe 2 i 10 f d a 14 Passe 1 h g Graphe à clusteriser Etat initial f e d c b a Arbre résultant Fig. 2.5 Arbre clusterisation ainsi ciées qu'un à chaque arbre feuille résultant clusterisation du graphe s processus. Asso- k processeur donc), on trouve l'arbre valeurs clusterisation s processeurs (à chaque L k et U charge travail minimum et maximum souhaitée k dénissant pour machine. respectivement Ces valeurs sont répercutées en valeurs m i et M i, aux noeuds non feuil(clusters) R que: i tels m i = L k et M i = U k oùksontfeuildusous-arbreenracinéen R i contrainte On dénit aussi charge une valeur travail minimum: viotion Vi correspondant à viotion V i = m i c i m i où c i est charge travail courante sur R i. Avec cette valeur viotion ux ensemb peuvent être dénis: S v = {V i V i > 0}et S a = {V i V i 0} L'ensemble S contrainte v charge contient minimum. tous Lorsque processeurs n'ayant pas encore remplit leur S v est ordonné par V première machine l'ordre est celle qui est plus loin i sa décroissants, travail minimum, c'est donc à elle qu'on doit aecter du travail en priorité. charge Une fois passel'ensemble qu'une machine remplit sa contrainte charge travail minimum, elle S ayant atteint leur charge a.cetensembleappelé travail minimum et auxiliaire,regroupemachines maximum. qui sont encore en ssous L'algorithme récursif d'allocation est appelé avec paramètres (r, R) où r estunnoeudl'arbresprocessuset Runnoeudl'arbresprocesseurs.

23 2.3. APPROCHES POUR RÉSOUDRE LE PROBLÈME D'ALLOCATION23 Pourl'appelinitial (r, R) vérie faisabilité sontracinessuxarbres.acestal'algorithme entrechargetravailminimumetmaximumtousprocesseursalorsil solution. Si le nombre processus n'est pas compris n'y a pas solution. L'algorithme vérie ensuite si le noeud R processeursestunefeuille(doncunemachine).danscecastousls l'arbre rsont s assignés l'algorithme au processeur récursif R. d'allocation. Cette uxième vérication est condtition d'arrêt L'algorithmeboucletantquels r tionned'abordleclusterprocesseurs n'ontpastousétéalloués.ilsélec- R m,ls Ravecplusgranvaleur V Il i sélectionne i.e le cluster ensuite processeurs le plus loin sa charge travail minimum. r m : le ls r alloue au cluster séléctionné précémment ayant le en plus réitérant grand l'algorithme nombre ls avec qu'il paramètres(r m, R m ) Autres heuristiques intéressantes du fait D'autres qu'elle méthos aient un but ne rentrent très restreint pas mais néanmoins cssication intéressant. décrite Dans[19] ci-ssus, par coût exemple en communication auteurs d'une proposent application une métho parallèle. dont La démarche le but est consiste réduire à faire le correspondre communications au inter-tâches. mieux le graphe An d'interconnexion pouvoir estimer s le processeurs coût en communication à celui s principaux: généré par une allocation possible, auteurs dénissent trois problèmes Déterminer le besoin en communication l'application parallèle : Pour pouvoir déterminer exactement talement l'application en mesurant volumes ce besoin, données il faut échangés exécuter entre to- tâches. dant l'exécution Cependant l'application auteurs font et appel ne souhaitent à leur métho pas gaspiller d'allocation toute pen- exécution pour extraire le graphe communications. Ils se basent une une assomption régurité le graphe communication s applications sur pour une durée parallè. retivement Ils surveillent petite donc par rapport le comportement à son temps l'application total an détecter s motifs réguliers et prédire le besoin d'exécution communication. total en Déterminer ressources réseau disponib sur le système information est représentée sous forme d'une table distance où Cette coût est associé à chaque communication possible entre processeurs du un système. Dénir un sélection allocations Cecritèreestévaluéàpartirsuxtabdistancesentrestâcheset processeurs. cation l'application. La métho Ce consiste coût est à évalué minimiser comme le coût suit: total en communi- N N C = c ij.d mim j i=1 j=1

INTRODUCTION AUX PROBLEMES COMBINATOIRES "DIFFICILES" : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE

INTRODUCTION AUX PROBLEMES COMBINATOIRES DIFFICILES : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE Leçon 10 INTRODUCTION AUX PROBLEMES COMBINATOIRES "DIFFICILES" : LE PROBLEME DU VOYAGEUR DE COMMERCE ET LE PROBLEME DE COLORATION D'UN GRAPHE Dans cette leçon, nous présentons deux problèmes très célèbres,

Plus en détail

Equilibre de charge. Equilibre de charge statique Equilibre de charge dynamique

Equilibre de charge. Equilibre de charge statique Equilibre de charge dynamique Equilibre de charge Equilibre de charge statique Equilibre de charge dynamique Approches centralisées Approches distribuées Approches semi-distribuées Jaillet Info53 - L3 Informatique - 2006 1 Equilibre

Plus en détail

Gestion d'un entrepôt

Gestion d'un entrepôt Gestion d'un entrepôt Épreuve pratique d'algorithmique et de programmation Concours commun des écoles normales supérieures Durée de l'épreuve: 3 heures 30 minutes Juin/Juillet 2010 ATTENTION! N oubliez

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

Rapport de stage. Simulation d'algorithmes auto-stabilisants

Rapport de stage. Simulation d'algorithmes auto-stabilisants Université Joseph Fourier Département Licence Sciences & Technologies Rapport de stage Simulation d'algorithmes auto-stabilisants DIAKITE Moussa Laboratoire d'accueil : Verimag Directeur du laboratoire

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

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi

ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES. Cours Administration des Bases de données M Salhi ARCHITECTURES DES SYSTÈME DE BASE DE DONNÉES Cours Administration des Bases de données M Salhi Architectures des Système de base de données Systèmes centralisés et client-serveur Server System Architectures

Plus en détail

1 Exercice 1 Question de cours (4 points)

1 Exercice 1 Question de cours (4 points) Info32B Systèmes d'exploitation année 2013-2014 Examen (1ère session) 16 décembre 2014 N. Sabouret L'épreuve dure 2h30. Tous les documents sont autorisés. Les exercices sont indépendants. 1 Exercice 1

Plus en détail

Méthodes d optimisation pour un problème de co-voiturage couplé aux transports en commun

Méthodes d optimisation pour un problème de co-voiturage couplé aux transports en commun Méthodes d optimisation pour un problème de co-voiturage couplé aux transports en commun Aziz Amnay Encadrant : Nadia Brauner Responsable Ensimag : Florence MARANINCHI Grenoble, le 16 mai 2012 Table des

Plus en détail

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

Consultation publique sur la portabilité des numéros

Consultation publique sur la portabilité des numéros Consultation publique sur la portabilité des numéros Table des matières 1 Préambule 2 2 Cadre réglementaire 2 3 Dénitions 4 4 Système de portabilité des numéros 4 4.1 Modes de routage.................................

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

Modélisation conceptuelle des Systèmes Distribués

Modélisation conceptuelle des Systèmes Distribués Modélisation conceptuelle des Systèmes Distribués Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Systèmes

Plus en détail

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard

IFT630 Processus concurrents et parallélisme. Projet final Rapport. Présenté à Gabriel Girard IFT630 Processus concurrents et parallélisme Projet final Rapport Présenté à Gabriel Girard par Alexandre Tremblay (06 805 200) Pierre-François Laquerre (05 729 544) 15 avril 2008 Introduction Après plusieurs

Plus en détail

Factorisation des matrices creuses

Factorisation des matrices creuses Chapitre 5 Factorisation des matrices creuses 5.1 Matrices creuses La plupart des codes de simulation numérique en mécanique des fluides ou des structures et en électromagnétisme utilisent des discrétisations

Plus en détail

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6

Gestion de données à large échelle. Anne Doucet LIP6 Université Paris 6 Gestion de données à large échelle Anne Doucet LIP6 Université Paris 6 1 Plan Contexte Les réseaux P2P Non structurés Structurés Hybrides Localisation efficace et Interrogation complète et exacte des données.

Plus en détail

Introduction aux Systèmes Distribués. Introduction générale

Introduction aux Systèmes Distribués. Introduction générale Introduction aux Systèmes Distribués Licence Informatique 3 ème année Introduction générale Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan

Plus en détail

Introduction aux Systèmes Distribués. Gestion du temps & état global dans un système distribué

Introduction aux Systèmes Distribués. Gestion du temps & état global dans un système distribué Introduction aux Systèmes Distribués Licence Informatique 3 ème année Gestion du temps & état global dans un système distribué Eric Cariou Université de Pau et des Pays de l'adour Département Informatique

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

ORDONNANCEMENT DE L'UNITE DE TRAITEMENT

ORDONNANCEMENT DE L'UNITE DE TRAITEMENT ORDONNANCEMENT DE L'UNITE DE TRAITEMENT 1. OBJECTIFS... 2 2. ASSIGNATIONS ET DIAGRAMMES DE GANTT... 2 3. ALGORITHMES SANS RÉQUISITION... 4 3.1. ORDONNANCEMENT DANS L'ORDRE D'ARRIVÉE (FIFO)... 4 3.2. PLUS

Plus en détail

Algorithmique Distribuée Introduction et Contexte

Algorithmique Distribuée Introduction et Contexte Algorithmique Distribuée Introduction et Contexte Laurent PHILIPPE Master 2 Informatique UFR des Sciences et Techniques 2013/2014 Laurent PHILIPPE Chapitre 1: Introduction et Contexte 1 / 67 Introduction

Plus en détail

TD 2 Exercice 1. Un bûcheron a 100 hectares de bois de feuillus. Couper un hectare de bois et laisser la zone se régénérer naturellement coûte 10 kf par hectares, et rapporte 50 kf. Alternativement, couper

Plus en détail

IVRG Image and Visual Representation Group

IVRG Image and Visual Representation Group IVRG Image and Visual Representation Group Projet en Digital Photography Responsable : Patrick Vandewalle Sylvain PASINI Bertrand GRANDGEORGE le 2 juin 2003 Table des matières Table des matières 2 1. Introduction

Plus en détail

Examen final LOG3000 Hiver 2014

Examen final LOG3000 Hiver 2014 Examen final LOG3000 Hiver 2014 Lundi le 28 avril 2014. Durée : 13h30 à 16h00 (total 2h30). Local : A-532. Total des points : 20. Pondération de l'examen dans la note finale : 40%. Sans documentation.

Plus en détail

Critère de terminaison sous-terme

Critère de terminaison sous-terme 2 ème année du MPRI Projet Université Paris VII Chantal Keller Critère de terminaison sous-terme Récriture Professeurs: Évelyne Contejean Xavier Urbain 9 janvier 2009 1 Introduction 1.1 Présentation Ce

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

M2 TIIR (2013-2014) Bilel Derbel

M2 TIIR (2013-2014) Bilel Derbel M2 TIIR (2013-2014) Bilel Derbel Notre but est de concevoir une application générique sur grid5000 qui permet de déployer des calculs parallèles de façon transparente Plus précisément, nous nous plaçons

Plus en détail

UNIVERSITE SAAD DAHLAB DE BLIDA

UNIVERSITE SAAD DAHLAB DE BLIDA Chapitre 5 :. Introduction aux méthodes par séparation et évaluation Les méthodes arborescentes ( Branch and Bound Methods ) sont des méthodes exactes d'optimisation qui pratiquent une énumération intelligente

Plus en détail

Guide pour la conception d'une application en C

Guide pour la conception d'une application en C Guide pour la conception d'une application en C Ph. Preux DESS IMST, ULCO Novembre 1999 1 Principes généraux Une application informatique, dès qu'elle dépasse une centaine de lignes de code, doit impérativement

Plus en détail

Calcul rapide des puissances

Calcul rapide des puissances Calcul rapide des puissances Par Mathtous Il s'agit de puissances à exposant entier naturel (avec la convention a 0 = 1, et a 1 = a). Si on applique la dénition pour calculer a n, on calcule de proche

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

Taux d'évolution, cours de Terminale STG

Taux d'évolution, cours de Terminale STG Taux d'évolution, cours de Terminale STG F.Gaudon 7 novembre 2007 Table des matières Évolutions 2 2 Évolutions successives 3 2. Taux global............................ 3 2.2 Taux moyen............................

Plus en détail

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls.

est diagonale si tous ses coefficients en dehors de la diagonale sont nuls. Diagonalisation des matrices http://www.math-info.univ-paris5.fr/~ycart/mc2/node2.html Sous-sections Matrices diagonales Valeurs propres et vecteurs propres Polynôme caractéristique Exemples Illustration

Plus en détail

Optimisation de cache d'instructions par analyse statique

Optimisation de cache d'instructions par analyse statique Ecole Normale Supérieure de Lyon Rapport de stage de Licence Optimisation de cache d'instructions par analyse statique Pascal Vanier pascal.vanier@ens-lyon.fr sous la direction de Benoit Boissinot benoit.boissinot@ens-lyon.fr

Plus en détail

Algorithmique des graphes quelques notes de cours. Ioan Todinca, avec le concours de Julien Tesson

Algorithmique des graphes quelques notes de cours. Ioan Todinca, avec le concours de Julien Tesson Algorithmique des graphes quelques notes de cours Ioan Todinca, avec le concours de Julien Tesson 29 avril 2008 2 Table des matières I Algorithmes de base 5 1 Généralités 7 1.1 Dénitions et notations...............................

Plus en détail

Recherche de chemins optimaux dans les graphes François-Régis Chaumartin. Fiche technique... 2. 1 - Introduction... 2

Recherche de chemins optimaux dans les graphes François-Régis Chaumartin. Fiche technique... 2. 1 - Introduction... 2 1 Recherche de chemins optimaux dans les graphes François-Régis Chaumartin Fiche technique... 2 1 - Introduction... 2 1.1 Les graphes: quelques définitions... 2 1.2 Un exemple... 2 2 - Représentation des

Plus en détail

Algorithmes d'allocation de ressources pour réseaux virtuels

Algorithmes d'allocation de ressources pour réseaux virtuels MINISTÈRE DE L'ÉDUCATION NATIONALE, DE L'ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE ****** Institut National des Sciences Appliquées TOULOUSE Département de Génie Électrique et Informatique Projet de fin

Plus en détail

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2

Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101. Travail pratique #2 Université Laval Faculté des sciences et de génie Département d'informatique et de génie logiciel IFT-3101 Danny Dubé Hiver 2014 Version : 11 avril Questions Travail pratique #2 Traduction orientée-syntaxe

Plus en détail

Placement de centres logistiques

Placement de centres logistiques Master 1 - Spécialité Androide Année 2014/2015 Module RP Résolution de Problèmes Projet Placement de centres logistiques On considère dans ce projet la résolution du problème de placement de centres logistiques

Plus en détail

Nom: INF5171 Programmation concurrente et parallèle Examen nal (Automne 2012) Code permanent: 1 2 3 4 5 Total /10 /10 /10 /10 /10 /50 XXX XXX XXX

Nom: INF5171 Programmation concurrente et parallèle Examen nal (Automne 2012) Code permanent: 1 2 3 4 5 Total /10 /10 /10 /10 /10 /50 XXX XXX XXX Examen nal 1 INF5171 Programmation concurrente et parallèle Examen nal (Automne 2012) Durée: 13h30 16h30 Documentation : Documentation personnelle (papier) autorisée. Nom: Code permanent: 1 2 3 4 5 Total

Plus en détail

Programmation parallèle CPU / GPU

Programmation parallèle CPU / GPU Pré-rapport de stage de Master 2 Professionnel Mention Informatique Spécalité Systèmes et Applications Répartis Parcours Systèmes répartis embarqués ou temps-réel Programmation parallèle CPU / GPU Auteur

Plus en détail

Processus de décision répartis

Processus de décision répartis Processus de décision répartis Florent Matignon Renato Matuzaki Honda Miguel Robles 30 mars 2010 Table des matières I Introduction 2 Système réparti 2 II L'état global 2 1 Introduction 2 1.1 La problématique.........................................

Plus en détail

Comment communiquer efficacement des informations entre les systèmes et/ou les humains?

Comment communiquer efficacement des informations entre les systèmes et/ou les humains? Sciences et Technologies de l Industrie et du Développement Durable Réseaux et internet CI0 : transmission de l'information cours Tle STI2D TRANS Comment communiquer efficacement des informations entre

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

REPRÉSENTATION DES NOMBRES EN MACHINE

REPRÉSENTATION DES NOMBRES EN MACHINE Info 2 REPRÉSENTATION DES NOMBRES EN MACHINE Problématique Dans la mémoire d'un ordinateur, les données sont représentées sous forme de séquences de 0 et de 1. Par conséquent, toute information mémorisée

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

BE de programmation MPI-1 par envois de messages bloquants

BE de programmation MPI-1 par envois de messages bloquants BE-MPI-1envois de messages bloquants Page 1 of 3 01/03/2010 Calcul parallèle et distribué, et Grilles de calculs Cours de 3ème année SI à Supélec BE de programmation MPI-1 par envois de messages bloquants

Plus en détail

Programmation récursive

Programmation récursive Année 2004-2005 F. Lévy IUT De Villetaneuse Dép t informatique Cours d'algorithmique 2 éme Année Cours 8 Programmation récursive 1. Qu'est-ce que la programmation récursive Définition : la programmation

Plus en détail

Eléments d'architecture réseau Internet

Eléments d'architecture réseau Internet Page 1 sur 15 Eléments d'architecture réseau Internet Internet : Réseau mondial d'inter-connexion de réseaux. INTRODUCTION INFRASTRUCTURE MATERIELLE Sous-réseau Interconnexion de sous-réseaux INFRASTRUCTURE

Plus en détail

Modélisation des réseaux : Le modèle OSI et ses dérivés

Modélisation des réseaux : Le modèle OSI et ses dérivés Chapitre 1 1 Modélisation des réseaux : Le modèle OSI et ses dérivés Le modèle OSI de l ISO 2 Le modèle d'interconnexion des Systèmes Ouverts (Open Systems Interconnection) a été proposé par l'iso (International

Plus en détail

Programmation de robots

Programmation de robots Programmation de robots 1 Le robot Le but de ces séances d'initiation est de vous apprendre les bases de la programmation du robot en quelques heures. Pour arriver au plus vite au c ur du sujet, nous avons

Plus en détail

Les réseaux cellulaires

Les réseaux cellulaires Les réseaux cellulaires Introduction Master 2 Professionnel STIC-Informatique Module RMHD 1 Introduction Les réseaux cellulaires sont les réseaux dont l'évolution a probablement été la plus spectaculaire

Plus en détail

Polycop 1 : Généralité sur les réseaux informatiques Présenté par : Mr RIAHLA Med Amine

Polycop 1 : Généralité sur les réseaux informatiques Présenté par : Mr RIAHLA Med Amine Université de BOUMERDES UMBB Département de physique/infotronique IT/S5/Réseaux informatiques Polycop 1 : Généralité sur les réseaux informatiques Présenté par : Mr RIAHLA Med Amine Réaliser par Mr RIAHLA

Plus en détail

La hiérarchie du système DNS

La hiérarchie du système DNS LA RÉSOLUTION DE NOMS 1. PRÉSENTATION DU SYSTÈME DNS 1.1 INTRODUCTION À LA RÉSOLUTION DE NOMS Pour pouvoir communiquer, chaque machine présente sur un réseau doit avoir un identifiant unique. Avec le protocole

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Processus et gestion de processus

Processus et gestion de processus Processus et gestion de processus et gestion de processus Processus Définition Modélisation Descripteur État Création Destruction Allocation de ressources UNIX Processus UNIX - Modèle Création Terminaison

Plus en détail

Introduction à l'algorithmique Distribuée. Exclusion mutuelle

Introduction à l'algorithmique Distribuée. Exclusion mutuelle Introduction à l'algorithmique Distribuée Exclusion mutuelle Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion mutuelle distribuée Exclusion

Plus en détail

Modélisation et résolution du problème de transport de gaz: application au réseau principal français

Modélisation et résolution du problème de transport de gaz: application au réseau principal français Modélisation et résolution du problème de transport de gaz: application au réseau principal français Présentation des travaux de thèse GDF SUEZ - INPT - ENSIACET - LGC EMN 24 mars 2011 Le gaz en Europe

Plus en détail

Le client/serveur repose sur une communication d égal à égal entre les applications.

Le client/serveur repose sur une communication d égal à égal entre les applications. Table des matières LES PRINCIPES DE BASE... 1 Présentation distribuée-revamping...2 Présentation distante...3 Traitements distribués...3 données distantes-rd...4 données distribuées-rda distribué...4 L'ARCHITECTURE

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Algorithmique IN102 TD 3

Algorithmique IN102 TD 3 Algorithmique IN10 TD 16 décembre 005 Exercice 1 Clairement, il existe des arbres de hauteur h à h + 1 éléments : il sut pour cela que leurs n uds internes aient au plus un ls non vide. On a alors un arbre

Plus en détail

Tableau d'enregistrements

Tableau d'enregistrements Tableau d'enregistrements Regrouper plusieurs enregistrements dans un tableau est parfaitement possible! Exemple : représenter les données concernant 50 personnes algorithme monalgorithme // déclaration

Plus en détail

Algorithmique distribuée. Exclusion mutuelle

Algorithmique distribuée. Exclusion mutuelle Algorithmique distribuée Exclusion mutuelle Eric Cariou Master Technologies de l'internet 1 ère année Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Exclusion

Plus en détail

Préparation à réaliser avant le début du TP

Préparation à réaliser avant le début du TP Préparation à réaliser avant le début du TP Soit une suite de points p 0,p 1,... p n du plan (n>=3). On cherche à approximer l'ensemble de ces points par une droite. Écrivez le système d'équations (sur

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

Représentation et approximation de fonctions booléennes : Application à la génération de requêtes

Représentation et approximation de fonctions booléennes : Application à la génération de requêtes INSTITUT DE RECHERCHE EN INFORMATIQUE DE NANTES Représentation et approximation de fonctions booléennes : Application à la génération de requêtes LEBLET Jimmy encadré par QUAFAFOU Mohamed Institut de Recherche

Plus en détail

Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul

Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul Services et protocoles pour l'exécution fiable d'applications distribuées dans les grilles de calcul Thomas Ropars Équipe-projet PARIS 1 Les applications de calcul scientifique Objectifs : Simuler des

Plus en détail

Haute disponibilité et répartition de charge avec Sympa

Haute disponibilité et répartition de charge avec Sympa Haute disponibilité et répartition de charge avec Sympa David Verdin RENATER c/o Centre de Ressources Informatiques 263 Avenue du General Leclerc CS 74205 Campus de Beaulieu 35042 Rennes CEDEX Serge Aumont

Plus en détail

FileMaker Pro 14. Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14

FileMaker Pro 14. Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14 FileMaker Pro 14 Utilisation d'une Connexion Bureau à distance avec FileMaker Pro 14 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054

Plus en détail

L INFORMATION GEOGRAPHIQUE

L INFORMATION GEOGRAPHIQUE Champs sur Marne ENSG/CERSIG Le 19-nove.-02 L INFORMATION GEOGRAPHIQUE Archivage Le Système d information géographique rassemble de l information afin de permettre son utilisation dans des applications

Plus en détail

Codage des données en machine.

Codage des données en machine. Codage des données en machine. 1 Entiers naturels Changements de base Codage en machine 2 Entiers relatifs : codage en complément à 2 Dénition Addition et calcul de l'opposé en complément à 2 3 Représentation

Plus en détail

Stratégie de groupe dans Active Directory

Stratégie de groupe dans Active Directory Stratégie de groupe dans Active Directory 16 novembre 2012 Dans ce document vous trouverez des informations fondamentales sur les fonctionnements de Active Directory, et de ses fonctionnalités, peut être

Plus en détail

Complément C7 Infodauphine.com

Complément C7 Infodauphine.com Complément C7 Infodauphine.com Pourquoi se soucier des performances? L'utilisateur n'aime pas attendre Le timing peut-être critique Trading VBA est un outil de productivité La notion de temps d'exécution

Plus en détail

Introduction à la programmation en variables entières Cours 3

Introduction à la programmation en variables entières Cours 3 Introduction à la programmation en variables entières Cours 3 F. Clautiaux francois.clautiaux@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 272 Sommaire Notion d heuristique Les algorithmes gloutons

Plus en détail

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET

Projet OpNet. Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET Projet OpNet Spécialité Réseaux 2003/2004 Yannick GRENZINGER Loic JAQUEMET 1Présentation...3 1.1Le besoin de mobilité...3 1.2Le protocole IP Mobile...4 1.3Opnet...5 1.4Le projet...6 2La réalisation du

Plus en détail

Load Balancing. Table des matières. Gatien, Julien, Rémi, Vincent. 2 mars 2009. 1 Le projet 2. 2 L'équilibrage de charge 2.

Load Balancing. Table des matières. Gatien, Julien, Rémi, Vincent. 2 mars 2009. 1 Le projet 2. 2 L'équilibrage de charge 2. Load Balancing Gatien, Julien, Rémi, Vincent 2 mars 2009 Table des matières 1 Le projet 2 2 L'équilibrage de charge 2 3 Algorithmes 2 4 État de l'art 3 4.1 LVS..........................................

Plus en détail

ARCHITECTURE des SYSTEMES INFORMATIQUES

ARCHITECTURE des SYSTEMES INFORMATIQUES ARCHITECTURE des SYSTEMES INFORMATIQUES 1 Cours B4 Processus... Architecture des Systèmes 2 Historique Architecture d'un Ordinateur / d'un processeur Objectif et rôle d'un Système d'exploitation Notions

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1 Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation

Plus en détail

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

Evaluation des performances de programmes parallèles haut niveau à base de squelettes Evaluation des performances de programmes parallèles haut niveau à base de squelettes Enhancing the Performance Predictability of Grid Applications with Patterns and Process Algebras A. Benoit, M. Cole,

Plus en détail

Contribution à la mise en service d'une ferme de serveurs connectée à une grille de calcul pour la physique des hautes énergies

Contribution à la mise en service d'une ferme de serveurs connectée à une grille de calcul pour la physique des hautes énergies Contribution à la mise en service d'une ferme de serveurs connectée à une grille de calcul pour la physique des hautes énergies Charlier Fabrice 2è licence en informatique Année Académique 2005-2006 Plan

Plus en détail

UPJV - Amiens Licence Professionnelle SILDA Algorithmique Exercices

UPJV - Amiens Licence Professionnelle SILDA Algorithmique Exercices UPJV - Amiens Licence Professionnelle SILDA Algorithmique Exercices Gilles Dequen 1 Échauements Exercice 1 Premier algorithme Écrire un algorithme qui eectue la saisie d'un entier, ache son carré puis

Plus en détail

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada Huitième partie Processus communicants CSP/Ada Systèmes concurrents 2 / 44 Synchronisation Désignation, alternatives Architecture d'une application parallèle Plan 1 Processus communicants Synchronisation

Plus en détail

Fonctionnement du serveur Z39.50

Fonctionnement du serveur Z39.50 Fonctionnement du serveur Z39.50 Table des matières 1 Configuration du serveur...2 1.1 Comportement du serveur...2 1.2 Configuration de la traduction z39.50 -> base de données...2 1.3 Configuration du

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Introduction à la notion de système d'exploitation

Introduction à la notion de système d'exploitation Page 1 sur 9 1. Sommaire 1. Sommaire... 2 2. Description du système... 3 2.1. Rôles du système... 3 2.2. Composantes du système... 4 2.3. Systèmes multitâches... 4 2.4. Systèmes multi-processeurs... 4

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

Quels usages des données massives pour les statistiques publiques? Enjeux, méthodes et perspectives

Quels usages des données massives pour les statistiques publiques? Enjeux, méthodes et perspectives Quels usages des données massives pour les statistiques publiques? Enjeux, méthodes et perspectives Stéphanie Combes et Pauline Givord (DMCSI) INSEE-DMSCI 02/04/2015 Plan Qu'est-ce que le Big Data? Les

Plus en détail

Cours admin 200x serveur : DNS et Netbios

Cours admin 200x serveur : DNS et Netbios LE SERVICE DNS Voici l'adresse d'un site très complet sur le sujet (et d'autres): http://www.frameip.com/dns 1- Introduction : Nom Netbios et DNS Résolution de Noms et Résolution inverse Chaque composant

Plus en détail

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données

Plan de cette partie. Implantation des SGBD relationnels. Définition et fonctionnalités. Index. Coûts pour retrouver des données Implantation des SGBD relationnels Université de Nice Sophia-Antipolis Version 3.4 25//06 Richard Grin Plan de cette partie Nous allons étudier (très rapidement!) quelques éléments de solutions utilisés

Plus en détail

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname Département d'informatique Architecture des réseaux TP2 - Conguration réseau et commandes utiles L'objectif de ce TP est d'une part de vous présenter la conguration réseau d'une machine dans l'environnement

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

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas

Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas Arbres ordonnés, binaires, tassés, FAP, tri par FAP, tas, tri par tas 1. Arbres ordonnés 1.1. Arbres ordonnés (Arbres O) On considère des arbres dont les nœuds sont étiquetés sur un ensemble muni d'un

Plus en détail

Les types somme. 1 Préparation du TP. 2 Interface du module Carte. Algorithmes et Programmation Impérative 2. 2.1 Les types de donnees

Les types somme. 1 Préparation du TP. 2 Interface du module Carte. Algorithmes et Programmation Impérative 2. 2.1 Les types de donnees Univ. Lille1 - Licence Informatique 2ème année 2014-15 Algorithmes et Programmation Impérative 2 Les types somme 1 Préparation du TP Dans le prochain TP, vous allez réaliser un programme de jeu de poker

Plus en détail

La Solution Crypto et les accès distants

La Solution Crypto et les accès distants La Solution Crypto et les accès distants Introduction L'objectif de ce document est de présenter les possibilités d'accès distants à La Solution Crypto. Cette étude s'appuie sur l'exemple d'un groupement

Plus en détail

LE PROBLEME DU FLOT MAXIMAL

LE PROBLEME DU FLOT MAXIMAL LE PROBLEME DU FLOT MAXIMAL I Exemple d introduction Deux châteaux d'eau alimentent 3 villes à travers un réseau de canalisations au sein duquel se trouvent également des stations de pompage. Les châteaux

Plus en détail

Projet Système Distribué : Implémentation d'un serveur générateur de certicats. BEUQUE Eric, CORNEVAUX Sébastien, MOUTENET Cyril 13 janvier 2009

Projet Système Distribué : Implémentation d'un serveur générateur de certicats. BEUQUE Eric, CORNEVAUX Sébastien, MOUTENET Cyril 13 janvier 2009 Projet Système Distribué : Implémentation d'un serveur générateur de certicats BEUQUE Eric, CORNEVAUX Sébastien, MOUTENET Cyril 13 janvier 2009 1 Table des matières 1 Sujet 3 2 Analyse 4 3 Création clé

Plus en détail

UE 503 L3 MIAGE. TD6 : Adressage IP. A. Belaïd

UE 503 L3 MIAGE. TD6 : Adressage IP. A. Belaïd UE 503 L3 MIAGE TD6 : Adressage IP A. Belaïd abelaid@loria.fr http://www.loria.fr/~abelaid/ Année Universitaire 2011/2012 Adressage IP Objectifs Si l on veut interconnecter des réseaux, on ne peut pas

Plus en détail

Exploration informée

Exploration informée Exploration informée Jerôme Champavère jerome.champavere @ lifl.fr http://www.grappa.univ-lille3.fr/~champavere/?page=enseignement Stratégies d'exploration informée Exploration «meilleur d'abord» Best-first

Plus en détail

Arbres binaires Version prof Version prof

Arbres binaires Version prof Version prof Arbres binaires Version prof Version prof types /* déclaration du type t_element */ t_arbrebinaire = t_noeudbinaire t_noeudbinaire = enregistrement t_element cle t_arbrebinaire fg, fd n enregistrement

Plus en détail

Raisonner le Web Sémantique avec des graphes : Application à un cas industriel

Raisonner le Web Sémantique avec des graphes : Application à un cas industriel Raisonner le Web Sémantique avec des graphes : Application à un cas industriel Olivier Carloni LIRMM, Université de Montpellier II, 161, rue Ada, F-34392 Montpellier cedex - France carloni@lirmm.fr Mondeca,

Plus en détail