Placement Dynamique de Tâches dans une Grille de Calcul

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

Download "Placement Dynamique de Tâches dans une Grille de Calcul"

Transcription

1 Faculté des sciences Département d informatique Placement Dynamique de Tâches dans une Grille de Calcul THESE Présentée et soutenue publiquement le 13 Juin 2012 pour l obtention du Titre de Doctorat en Sciences (Spécialité informatique) par Meddeber Meriem Composition du jury Beldjilali Bouziane Professeur Université d Oran Président Yagoubi Belabbas Maître de conférences A- Université d Oran Directeur de Thèse Goncalves Gilles Professeur Université de l Artois Béthune France Examinateur Benmohamed Professeur Université Mentouri de Examinateur Mohamed Constantine Chikhi Salim Professeur Université Mentouri de Examinateur Constantine Kechar Bouabdellah Maître de conférences A- Université d Oran Examinateur Année universitaire 2011/2012

2 Remerciements Je remercie en premier lieu Mr Yagoubi Bellabas, mon directeur de thèse, pour la confiance qu il m a témoignée. Il a su apporter un regard critique sur mes travaux et se montrer disponible pour m écouter et me conseiller. Encadrant idéal, il a su guider mes travaux tout en me laissant une grande autonomie. J ai notamment acquis auprès de lui la rigueur scientifique qui faisait défaut dans mes présentations ainsi que mes rédactions. Mes respects et mes remerciements à mon jury. Je tiens à remercier Monsieur Bouziane Beldjilali, Professeur à la Faculté des Sciences de l Université d Oran, pour m avoir fait l immense honneur de présider le jury de ma soutenance. Je remercie également Monsieur Bouabdellah Kechar, Maitre de conférences classe A à la Faculté des Sciences de l Université d Oran, Monsieur Gilles Goncalves, Professeur à l Université de l Artois Béthune France, Monsieur Mohamed Benmohamed, Professeur à l Université Mentouri de Constantine et Monsieur Salim Chikhi, Professeur à l Université Mentouri de Constantine pour avoir bien voulu consacrer une part de leurs temps à examiner et à évaluer cette thèse. Je tiens à remercier tout particulièrement Mr Ghalem Belalem pour sa disponibilité et ses nombreux conseils. Je remercie également tous mes collègues de l université de Mascara ainsi que mes amis de l université d Oran. Mon travail n aurait pas été ce qu il est sans le travail de, Walid Kadri, Dougani Benthabet, Douaibia Nouredinne, Derrar Fatima Zohra, Cherif Kada, Benkhalfallah Meriem, Zerdeb Abdelkader, Reguieg Nacera, Ghourbal Zoubida, Moumeni Fatima Zohra, Zahaf Khadidja, Azzaz Asma, Tati Nacera que j ai eu le plaisir d encadrer et la joie de connaître. J exprime ma gratitude à toutes les personnes qui ont contribué de prés ou de loin à la réalisation de ce travail. Pour finir, je remercie mes parents et mes sœurs, si précieux, si présents quand il faut. Merci pour votre sagesse, vos attentions répétées, votre patience, votre confiance et toutes vos valeurs. i

3 A ceux qui m ont encouragé et soutenu Mon père, ma mère Mes soeurs Hayat, Wahiba, Chaimaa et Ikram Mon Mari A toute ma famille... ii

4 Résumé Un environnement de grille de calcul implique la coopération et le partage des ressources appartenant à des machines distribuées. Les utilisateurs peuvent envoyer leurs tâches sur des ressources de calcul distantes au lieu de les exécuter localement. Par conséquent, le placement des tâches est un problème important dans un environnement de grille. En raison de l hétérogénéité des ressources, le placement d une application est une tâche complexe et un chalenge dans le système de grille. Dans une grille de calcul, le temps d exécution d une tâche dépend de la machine sur laquelle elle est affectée et des contraintes de précédences représentées par un graphe acyclique dirigé. Bien que le problème de placement des tâches est NP-complet même quand il s agit de tâches indépendantes, il devient beaucoup plus complexe lorsque les tâches sont dépendantes. Dans cette thèse, nous proposons une stratégie de placement hybride dans les grilles de calcul, qui intègre les technologies de placement statiques et dynamiques. Notre objectif principal est d arriver à un placement de tâches qui pourraient atteindre un temps de réponse minimum et à réduire le coût de transfert induit par le transfert des tâches tout en respectant les contraintes de dépendance. Mots-clés: Tâches Dépendantes ; Grille de calcul ; placement des tâches ; graphe acyclique dirigé ; modèle de grille ; Gridsim. Abstract A grid computing environment involves cooperation and sharing resources among distributed machines. Users may dispatch their tasks to remote computing resources instead of just computing locally. Hence, task assignment is an important issue in a grid environment. Due to heterogeneity of resources, assigning an application is significantly complicated and challenging task in grid system. In a grid computing, task execution time is dependent on the machine to which it is assigned and task precedence constraints represented by a directed acyclic graph. Although the problem of tasks assignment is NPcomplete even when the tasks are independent, it becomes much more complex when the tasks have dependencies. In this thesis, we propose a hybrid assignment strategy in Grids which integrated static and dynamic assignment technologies. Our main objective is to arrive at task assignment that could achieve minimum response time and to reduce the transfer cost inducing by the tasks transfer respecting the dependency constraints. Keywords: Dependent Tasks ; Grid computing ; Tasks Assignment ; directed acyclic graph ; Grid model ; Gridsim. iii

5 Table des matières Table des figures Liste des tableaux viii Introduction générale 1 1 Contexte Problématique et motivations Contribution Organisation du manuscrit Chapitre 1 Des Systèmes Distribués aux Grilles de Calcul Introduction Les Systèmes Distribués Bref aperçu sur les systèmes distribués Caractéristiques d un système distribué Problématiques Les Grilles de calcul Définition Types de Grilles Objectifs des Grilles de calcul Les concepts de base d une Grille Différentes topologies de Grilles Défis des Grille de calcul Rapports de Grilles de calcul avec d autres technologies L évolution vers le Cloud Computing Conclusion iv

6 Chapitre 2 Aperçu sur le Placement de Tâches Introduction Classification des applications parallèles Catégories d applications parallèles Type d association entre tâches Placement de tâches Algorithmes de placement Placement statique Placement dynamique Conclusion Chapitre 3 Modèle et Stratégie proposés Introduction Modèle de la Grille Modèle de base Modèle générique Caractéristiques du modèle Représentation structurelle du modèle Stratégie de placement de tâches Phase initiale Stratégie de placement sans duplication de tâches Stratégie de placement avec duplication de tâches Caractéristiques de la stratégie Conclusion Chapitre 4 Etude expérimentale Introduction Algorithmes associés à la stratégie de placement Stratégie de placement sans duplication de tâches Stratégie de placement avec duplication de tâches Implémentation Gridsim Environnement d expérimentation Stratégie de placement sans duplication de tâches Stratégie de placement avec duplication de tâches v

7 4.4 Conclusion Conclusion et perspectives 69 Bibliographie 71 vi

8 Table des figures 1.1 Schéma général des applications réparties Types de Grilles Grille de calcul Cloud Vs Grille de calcul Taxonomie de dépendances de tâches des algorithmes d ordonnancement Tâches liées par une contrainte de précédence Exemple d applications dépendantes Graphe de précédence associé Type d association entre tâches Exemple d ordonnancement d un graphe de tâches sur 2 processeurs Exemple avec duplication sur 2 processeurs Taxonomie fonctionnelle des méthodes de répartition dynamique de charge Composants d un cluster Modèle de base associé à un cluster Modèle général d une Grille de calcul Modèle général d une Grille Diagramme de classes associé au modèle Exemple de trois composantes connexes Exemple d une seule composante connexe Niveaux d une composante connexe Exemple de duplication Structure du système GridSim Résultats du temps de réponse (4 clusters) Méthode Méthode Gains obtenus sur le temps de réponse moyen basé sur le nombre de clusters (2000 tâches) vii

9 Liste des tableaux 4.1 Résultats et gains sur le temps de réponse (en unité de 10 4 seconde) Résultats du temps de réponse (en unité de 10 7 seconde) Résultats du temps d attente (en unité de 10 7 seconde) Résultats et gains sur le temps de réponse (en seconde) viii

10 Introduction générale 1 Contexte La science d aujourd hui couvre des problèmes de plus en plus complexes et est poussée par des technologies de plus en plus puissantes. Elle est aussi bien basée sur le calcul, l analyse de données et la collaboration que sur les efforts des théoriciens et expérimentalistes. Malgré que l avancée technologique en matière de puissance de calcul, stockage de données et communication ne cesse de croître, les ressources classiques n arrivent pas à satisfaire les exigences des scientifiques en matière de calcul et de temps de réponse requis par les applications modernes. Dans de nombreux domaines de recherche, les besoins en matière de puissance de calcul croissent plus rapidement que la puissance des machines disponible. Paradoxalement, les ressources de calcul sont souvent, si on se place à un niveau global, sous exploitées. En effet, de la simple station de travail jusqu à la machine parallèle de grande taille, il est rare qu une machine soit utilisée à son potentiel maximum en permanence. De cette constatation vient l idée de grille de calcul. Les grilles de calcul sont constituées de nombreuses ressources informatiques hétérogènes (ordinateurs séquentiels, grappes de calcul, supercalculateurs...), géographiquement éloignées, mises en réseau. Or la taille de ces plates-formes devient de plus en plus grande et maintenir l homogénéité de l architecture quand la dimension de la plate-forme est étendue engendre un coût élevé. De plus, ces plates-formes sont la plupart du temps construites en utilisant des processeurs ou des machines existantes, ce qui génère une hétérogénéité de fait [Sab09]. Construite autour de l Internet et le World Wide Web, la grille est une nouvelle infrastructure offrant des mécanismes sécurisés, évolutifs, et de haute performance pour la découverte et la négociation d accès à des ressources distantes. La grille promet de rendre possible les collaborations entre scientifiques dans le but de partager des ressources à une échelle sans précédent, ainsi que de permettre à des groupes géographiquement distribués de travailler ensemble de façons qui étaient impossibles auparavant [Med10b]. 1

11 2. Problématique et motivations 2 Problématique et motivations Une Grille de Calcul est une infrastructure virtuelle constituée d un ensemble coordonné de ressources informatiques potentiellement partagées, distribuées, hétérogènes et sans administration centralisée [Fos99]. Cependant la gestion de ressource dans ce type d infrastructure pose évidemment des problèmes beaucoup plus complexes que ceux posés par les systèmes distribués traditionnels, et ce à cause notamment de leur hétérogénéité et de leur dimension dynamique [Yag07a]. Parmi ces problèmes, la répartition de charge où il faut en effet éviter, dans la mesure du possible, les situations où certains nœuds sont surchargés alors que d autres sont sous chargés ou complètement libres. Pour remédier à ce problème plusieurs algorithmes de répartition de charge ont été développés. Le problème de l obtention d une adéquation optimale de tâches à des machines dans un système distribué est bien connu pour être NP-difficile même si les tâches sont indépendantes. Dans la grille de calcul, une application est toujours décomposée en un ensemble de tâches entre lesquelles il existe des relations de dépendance qui deviennent un nouveau défi pour le placement des tâches [Med11b]. Le problème est beaucoup plus difficile lorsque les tâches ont des dépendances parce que l ordre d exécution des tâches ainsi que l appariement tâches machines affecte le temps de réponse global. C est dans ce cadre que se situent les travaux présentés dans cette thèse et qui ont pour objectif de proposer une stratégie distribuée pour le placement des tâches d une grille. 3 Contribution Nos contributions consistent en la proposition d un modèle, pour le placement des tâches dans une grille de calcul, qui combine à la fois un placement statique, qui permet un placement initial, et un placement dynamique qui diminue le temps de réponse global. Nous pouvons situer notre contribution sur deux aspects essentiels : Nous proposons un modèle hiérarchique pour résoudre le problème de placement. Les propriétés de ce modèle sont : (i) il est constitué de trois niveaux, quelque soit la complexité topologique d une grille, (ii) il supporte l hétérogénéité, la dynamicité et le passage à l échelle. Sur la base de ce modèle, nous définissons une stratégie, à deux phases, dont les principales caractéristiques sont : 1. le placement des tâches se fait au niveau des composantes connexes, 2. la répartition de charge utilise un principe de voisinage dont l objectif est de réduire les coûts de communication, 2

12 4. Organisation du manuscrit 3. la résolution du problème de placement de tâches locales du cluster se fait de manière centralisée à partir d informations locales au niveau de chaque cluster de la grille. 4. la résolution du problème de placement de tâches global se fait de manière distribuée. 4 Organisation du manuscrit Les travaux que nous avons menés dans le cadre de la problématique de placement de tâches dans les systèmes à large échelle telle que les grilles de calcul, sont résumés dans ce manuscrit composé de 4 chapitres, outre une introduction générale et une conclusion. Le chapitre 1, présente un état de l art sur les systèmes distribués et les grilles de calcul ainsi que leur évolutions. Le chapitre 2, traite la problématique du placement des tâches dans les grilles de calcul, en particulier. Il présente en premier, les notions d applications parallèles ainsi que les types de dépendances entre tâches. Par la suite, il expose les algorithmes de placement statique et dynamique en présentant les différents travaux qui ont été relevés dans le domaine du placement des tâches dépendantes et indépendantes. Le chapitre 3, présente en détail le modèle hiérarchique que nous proposons pour représenter une grille de calcul. Il décrit par la suite la stratégie de placement de tâches développée sur ce dernier. Cette Stratégie combine les deux algorithmes de placement statique et dynamique afin de minimiser le temps de réponse moyen des tâches tout en respectant les contraintes de précédences qui existent entre elles. Le chapitre 4, présente une série d expérimentations et d évaluations de notre approche, nous essayons de montrer que l approche proposée permet d atteindre les objectifs que nous avons fixés. Finalement, nous terminons ce manuscrit par une conclusion qui récapitule à la fois la problématique que nous avons traitée dans cette thèse, ainsi que les résultats que nous avons obtenus. Cette présentation est suivie de propositions d un certain nombre de perspectives de recherche pour poursuivre la réflexion sur le problème de Placement des tâches dans les Grilles de Calcul. 3

13 Chapitre 1 Des Systèmes Distribués aux Grilles de Calcul Sommaire 1.1 Introduction Les Systèmes Distribués Bref aperçu sur les systèmes distribués Caractéristiques d un système distribué Problématiques Les Grilles de calcul Définition Types de Grilles Objectifs des Grilles de calcul Les concepts de base d une Grille Différentes topologies de Grilles Défis des Grille de calcul Rapports de Grilles de calcul avec d autres technologies L évolution vers le Cloud Computing Conclusion

14 1.1. Introduction 1.1 Introduction La prochaine génération scientifique nécessite une puissance de calcul et de stockage qui ne peut être fournie par une seule institution. De plus, un accès facile à des données distribuées est nécessaire pour améliorer le partage des résultats par les communautés scientifiques réparties autour du monde. La solution proposée à ces défis est de permettre aux différentes institutions, travaillant dans le même domaine scientifique, de mettre leurs ressources de calcul, de stockage et de données en commun afin d atteindre les performances requises [Sab09]. La Grille est un type de système parallèle et distribué qui permet le partage, la sélection et l agrégation de services de ressources hétérogènes répartis sur de multiple domaines administratifs en fonction de leur disponibilité, capacité, performance, coût et utilisateurs. Comme les performances du réseau ont dépassé la puissance de calcul et la capacité de stockage, ce nouveau paradigme a évolué pour permettre le partage et l utilisation coordonnée des ressources géographiquement distribuées [Sab09]. Ce chapitre présente une introduction aux systèmes distribués et Grilles de calcul en se focalisant sur les principales exigences et défis qui doivent être abordés dans la mise en place de ce nouveau paradigme de l informatique distribuée. 1.2 Les Systèmes Distribués Bref aperçu sur les systèmes distribués Une définition générale et efficace des systèmes distribués peut être trouvée dans [Tan02] : Un système distribué est un ensemble d ordinateurs indépendants qui apparaît à un utilisateur comme un système unique et cohérent. Nous pouvons mentionner deux caractéristiques importantes [For06] : Les différences entre les divers ordinateurs et les moyens par lesquels ils communiquent sont cachés aux utilisateurs, Les utilisateurs et les applications peuvent interagir avec un système distribué d une manière cohérente et uniforme, peu importe où et quand a lieu l interaction. Plus précisement, on peut voir un système distribué comme un ensemble d unités de calcul (appelé nœuds) possédant les caractéristiques suivantes [Wau02] : Chaque nœud possède son propre espace d adressage ; Le nombre de nœuds dans le système distribué est arbitraire ; Le système est capable de traiter un nombre quelconque de processus ; La communication entre les différents nœuds se fait au moyen de messages. Il convient, dès lors, de tenir compte du délai de communication entre les différents nœuds ; 5

15 1.2. Les Systèmes Distribués Figure 1.1 Schéma général des applications réparties Pour supporter des ordinateurs et des réseaux hétérogènes, tout en offrant un système à vue unique, les systèmes distribués sont souvent organisés par moyen d une couche de logiciel qui est logiquement placée entre une couche de plus haut niveau composée d utilisateurs et des applications, et une couche sous-jacente constituée des systèmes d exploitation. Cette couche de logiciel est appelé middleware. Il existe plusieurs définitions de middleware. Pratiquement, le middleware est un logiciel de connexion qui se compose d un ensemble de services permettant aux multiples processus de s exécuter sur une ou plusieurs machines et d interagir à travers un réseau (Voir Figure 1.1) Caractéristiques d un système distribué Il y a de nombreuses façons d évaluer les systèmes distribués. Nous présentons ici un ensemble de propriétés qu un système distribué devrait mettre en œuvre. Bien que non exhaustive, cet ensemble est choisi parce que ces propriétés sont souvent utilisées quand on parle des avantages ou inconvénients des systèmes décentralisés [Kra06, For06]. La Transparence La transparence est un concept très important. En effet, lorsqu un service est délivré grâce à un système distribué, la complexité de son fonctionnement doit être complètement cachée du point de vue des utilisateurs. Il y a plusieurs types de transparence. 1. Accès : Un système distribué doit cacher à l utilisateur la façon dont les données sont obtenues et manipulées. Par exemple, une application sous Windows ne doit pas avoir à se préoccuper du fait que les données auxquelles elle accède se trouvent sur un serveur sous UNIX. Un bon système distribué possède non seulement des couches d abstraction pour cacher les différences entre les systèmes d exploitation mais aussi entre les architectures. Cet aspect de la transparence permet de concevoir des systèmes distribués totalement hétérogènes. 6

16 1.2. Les Systèmes Distribués 2. Localisation : La localisation physique des données dans le système doit être cachée aux utilisateurs. Pour cela, il faut attribuer des noms uniques (qui n ont rien à voir avec leur localisation physique) aux ressources du système. Grâce à cette couche d abstraction, la localisation de la ressource n a pas à être connue de l utilisateur. Un exemple de cet aspect de la transparence, est l URL. Lorsqu un utilisateur tape l adresse d un site web, il ne sait pas ou le serveur se trouve (l architecture hiérarchisée d Internet permet de savoir le pays ou le système se trouve). 3. Migration : Un système distribué doit permettre la migration des données sans que l utilisateur s en aperçoive. Le système de l URL permet aussi de fournir cette transparence. En effet, si la localisation du serveur change, son URL restera la même. 4. Relocalisation : Il s agit d un type de transparence encore plus fort, il s agit de pouvoir changer la localisation d une ressource alors qu elle est en utilisation. Par exemple si l utilisateur peut se déplacer et continuer d utiliser normalement sa connexion au réseau sans fil alors que dans le même temps le point d accès auquel il est connecté change. 5. Réplication : Ici, c est la présence de plusieurs copies d une donnée qui est cachée à l utilisateur. Pour cela, la transparence de localisation est nécessaire. L utilisateur utilise toujours la même adresse, mais c est le système qui décide de la copie qui sera utilisée. 6. Concurrence : Un système distribué doit cacher aux utilisateurs que plusieurs utilisateurs accèdent à une ressource de manière concurrente. Cela implique des précautions pour garder la ressource dans un état cohérent. 7. Défaillance : Un système distribué doit cacher à l utilisateur une défaillance d un de ses membres. L utilisateur ne doit pas se rendre compte qu il y a eu une défaillance dans le système. Il ne doit pas non plus se rendre compte que le système est en train d exécuter une procédure de tolérance de panne. Robustesse Dans un système distribué, plusieurs machines travaillent ensemble pour fournir un service, ce qui confère au service une meilleure robustesse, comparé à un système centralisé. On distingue plusieurs aspects de robustesse : 1. Passage à l échelle : La scalabilité d un système est une propriété qui lui permet de s adapter facilement à une augmentation de sa charge. Typiquement, un système scalable reste performant lorsque que le nombre de ses utilisateurs augmente. 7

17 1.2. Les Systèmes Distribués Dans un système distribué, cela est possible simplement en ajoutant une nouvelle machine dans le système. De plus cela peut s avérer une solution beaucoup plus économique que dans le cas d un système centralisé. En effet, si la charge augmente sur un système centralisé, l unique solution est d acheter une nouvelle machine plus puissante. Or, il est bien plus coûteux d acheter un ordinateur très puissant que d acheter plusieurs ordinateurs de puissance moyennes. 2. Disponibilité : La disponibilité est la probabilité qu un service soit disponible à un moment donné. Dans le cas d un système centralisé, si le serveur est indisponible, le service l est aussi. Dans le cas d un système distribué, la présence de plusieurs machines permet une conception conférant au service la possibilité de rester disponible, même si l un des serveurs est indisponible. Dans un système distribué bien conçu, des procédures de tolérance de pannes peuvent être définies. Ainsi, le membre défaillant peut intégrer à nouveau le système sans le perturber. Puissance L un des avantages qu offre les systèmes distribués est la possibilité d augmenter la vitesse d exécution des tâches. L idée est d agréger les puissances de plusieurs machines. C est une des applications les plus utilisées aujourd hui dans les domaines de recherche nécessitant énormément de ressources comme la modélisation du climat, le séquençage d ADN, le calcul scientifique intensif, etc... La possibilité de fédérer les puissances de plusieurs machines est très avantageuse. En effet, non seulement les plus puissants ordinateurs actuels sont extrêmement chers, mais en plus, ils n ont pas la puissance nécessaire pour exécuter les calculs en des temps raisonnables. Combiner les puissances moyennes de plusieurs machines revient bien moins cher et l ajout de nouveaux membres (de nœuds) augmente la puissance globale du système. 1. Exécution parallèle : Pour augmenter la rapidité d exécution d une tâche, il faut la découper en sous-tâches indépendantes. En effet, souvent, certaines étapes doivent être exécutées de façon séquentielle car l exécution d une sous-tâche donnée dépend du résultat de la sous-tâche précédente. Dans le cas de sous-tâches dépendantes entre elles, il n y a aucun intérêt à avoir un système distribué. Cependant, si la tâche peut être décomposée en sous-tâches indépendantes, alors, elles peuvent être exécutées en même temps (en parallèle). Ici, plus il y aura de nœuds, plus la tâche s exécutera rapidement. 2. La loi de Amdahl : La loi de Amdahl est une fonction qui détermine le gain en rapidité qu apportera la parallélisation en fonction du nombre de nœuds utilisé. Accélération(N) = T emps avec 1 processeurs T emps avec N processeurs = N 1+(N 1)f 8

18 1.2. Les Systèmes Distribués Le f représente la fraction en pourcentage de la tâche qui doit être exécuter séquentiellement. Plus cette fraction est petite, plus l ajout de nœud augmentera la rapidité d exécution. Malheureusement, l augmentation de la vitesse n est pas linéaire. Au bout d un point critique, l ajout d un nœud n augmentera que marginalement la vitesse d exécution. Après le seuil critique, il n y a pas d intérêt à rajouter des nœuds Problématiques La conception d algorithmes répartis se heurte à plusieurs difficultés, nous citerons quelques unes ci-dessous [Kra06, For06] : 1. Chaque processus à son propre espace d adressage Les données d un processus ne peuvent donc être transférées à un autre processus sans qu il n y ait une opération de translation. 2. Le réseau propose des performances limitées Actuellement les performances réseau se mesurent en millisecondes tandis que les opérations de calcul sont mesurées en nanosecondes. 3. État global L ensemble des sites composant le système distribué n ont pas la même perception du temps : il n existe pas d horloge globale. Chaque site ne peut évaluer l état d avancement des autres sites que par le biais des communications qu il a eues avec ces derniers (communications asynchrones). 4. Le système distribué peut partiellement tomber en panne Contrairement à une application concurrente où c est l entièreté du processus qui fonctionne ou non, dans le cas d un système distribué, certains ordinateurs peuvent être opérationnels et d autres non. Cette situation peut être la résultante d une panne réseau ou d une coupure d électricité, par exemple. 5. Les systèmes distribués sont ouverts Des utilisateurs indépendants cohabitent au sein d un même système. Ils partagent les ressources de ce dernier afin d être en compétition ou bien afin de collaborer. Cette cohabitation pose des problèmes de sécurité. En effet dans un système distribué, un usager n est pas nécessairement inscrit au nœud par lequel il accède à un objet, les questions suivantes se pose : Comment authentifier les usagers? Sur quoi base-t-on la décision du contrôle d accès? 9

19 1.2. Les Systèmes Distribués 6. Distribution des données On peut avoir deux causes qui mènent à la distribution des données : Distribution inhérente aux problèmes le concepteur se voit imposé, par exemple, une distribution géographique (Bases de données sur plusieurs sites), Distribution inhérente à la mise en œuvre les utilisateurs veulent pouvoir travailler sur des sites distants. Cette distribution nous conduit à : Duplication une donnée peut se trouver dupliquée sur plusieurs sites. Ce qui requiert des algorithmes de gestion des réplicas pour ne pas avoir une incohérence des données. Partitionnement une grande base de données peut être coupée en plusieurs sous-bases sur des sites différents d où le problème de désignation (comment retrouver une donnée de la base : il faut d abord savoir sur quel site elle se trouve) 7. Equilibrage de charge Il y a des périodes où un utilisateur désire exécuter des tâches qui demandent une puissance de calcul supérieure à la capacité effective de sa machine. Il se voit alors obligé d attendre pendant parfois de longues durées avant d obtenir les ressources requises. Donc, un problème important à résoudre est l allocation des ressources CPU dans le but de répartir équitablement l ensemble du travail sur les nœuds du système. C est le principal objectif de l équilibrage de charge présenté dans la prochaine section. 8. Tolérance aux fautes Dans un système distribué, la probabilité d une défaillance partielle du système ne peut pas être négligée. La tolérance aux fautes est assurée par la redondance des informations et des traitements. 9. Sécurité et protection La sécurité d un système distribué vise à garantir le maintien de la confidentialité et de l intégrité de l information et le respect des règles d accès aux services. Les méthodes utilisées reposent d une part sur l usage de barrières de protection (matérielles et logicielles, comme les pare-feu ( firewalls ), ou purement logicielles, comme les domaines de protection), d autre part sur des protocoles d authentification utilisant la cryptographie. 10

20 1.3. Les Grilles de calcul 1.3 Les Grilles de calcul Le terme anglais Grid désigne un système distribué d électricité. Initialement, le concept de grille partait du principe d un tel système : les ressources d un ordinateur (processeur, mémoire, espace disque) étaient mises à la disposition d un utilisateur aussi facilement que l on branche un appareil électrique à une prise électrique [Idr10] Définition Dans [Fos99], Ian foster et Carl Kesselman ont tenté de définir la Grille de calcul : A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive acces to high-end computational capabilities. Infrastructure car la Grille de calcul est surtout concernée par la mise en commun à grande échelle des ressources, que se soit des cycles de calcul, des données, des capteurs, ou des personnes. Cela requiert une importante infrastructure matérielle pour les interconnexions et une infrastructure logicielle pour la surveillance et le contrôle de l ensemble de sortie (le résultat). Le besoin d un service fiable est fondamental. Les utilisateurs exigent des assurances qu ils recevront des performances fiables (predictable), constantes (sustained), et souvent de haut niveaux à partir des composants constituant la Grille. Les caractéristiques de performances d intérêts varieront d une application à une autre, mais peuvent inclure la bande passante du réseau, la latence, puissance de l ordinateur, les services logicielles, et la sécurité. Le besoin de cohérence (consistency) du service est un second intérêt fondamental. Comme pour l électricité, il y a besoin de services standards, accessibles via des interfaces standards, et opérants au sein de paramètres standards. Un important défi lors du développement des standards est d encapsuler l hétérogénéité sans compromettre la haute performance d exécution. L accès omniprésent (universel) (pervasive) permettrait la disponibilité des services quelque soit l environnement qu on prévoit d utiliser. Cela n implique pas que les ressources sont partout ou universellement accessibles. De la même façon que pour l électricité (pas d accès à l électricité dans une nouvelle maison jusqu au raccordement aux réseau et l obtention d un compte abonné) il y aura disponibilité limitée et accès contrôlé. Finalement, une infrastructure doit offrir un accès bon marché (relativement au revenu) si elle doit être largement acceptée et utilisée. Cette définition a été raffinée par la suite pour s accommoder à des questions sociales et politiques, les auteurs ont indiqué que la Grille de calcul est concernée par le partage coordonné des ressources et la résolution des problèmes dans des organisations virtuelles dynamiques et multi-institutionnelle [Fos02a]. 11

21 1.3. Les Grilles de calcul Le partage n est pas essentiellement l échange de fichiers mais plutôt l accès direct aux ordinateurs, logicielles, données, et autres ressources, requis par un éventail de stratégies de résolution de problèmes en collaboration et de négociation de ressources, émergentes dans l industrie, la science, et l ingénierie. Ce partage est nécessairement, fortement contrôlé, avec les fournisseurs de ressources et les consommateurs définissant clairement et soigneusement ce qui est partagé, qui est autorisé à partager, et les conditions sous lesquelles le partage a lieu. Un ensemble d individus et/ou institutions définis par de telles règles de partage forme ce qu on appelle une organisation virtuelle [Fos02a]. En 2002, Ian Foster [Fos02b] suggère une nouvelle définition à partir des définitions précédentes sous forme de checklist, selon laquelle une Grille est un système qui : 1. coordonne des ressources qui ne sont pas sous contrôle centralisé Une Grille intègre et coordonne des ressources et utilisateurs qui se trouvent au sein de différents domaines de contrôle, et aborde les questions de sécurité, politique, paiement, appartenance (adhésion),... qui se posent dans ce cadre. Sinon, on a affaire avec un système de gestion local. 2. utilisant des protocoles et interfaces standards, ouverts, et universels La Grille est conçue à partir de protocoles et interfaces universels qui adressent des questions fondamentales telle que l authentification, l autorisation, la découverte des ressources, et l accès aux ressources. Il est important que ces protocoles et interfaces soient standards et ouverts. Sinon, on a affaire avec un système à application spécifique. 3. pour délivrer des qualités de service non triviales La Grille autorise ses ressources constitutives à être utilisées d une manière coordonnée afin de délivrer différentes qualités de service, concernant par exemple le temps de réponse, le débit, la disponibilité, et la sécurité, et/ou la co-allocation de multiples ressources pour satisfaire les demandes complexes de l utilisateur, afin que l utilité du système combiné est significativement plus grande que celle de la somme de ses parties Types de Grilles Il existe différents types de Grilles qui correspondent aux différents types de problèmes à résoudre. Quelques Grilles sont conçues pour tirer avantage de la puissance de calcul des ressources, alors que d autres sont conçues pour exploiter la capacité de stockage de ces ressources. Le type de Grille est donc, sélectionné suivant le type d application à traiter. Nous pouvons citer les trois principaux types de Grilles [Fer03] : Grilles de calcul elles agrègent les puissances de calcul des ressources du système. Elles correspondent de ce fait, aux applications gourmandes en calcul. 12

22 Ce type de Grille peut être à son tour subdivisée en deux catégories : 1.3. Les Grilles de calcul Supercalculateurs distribués : exécutent une application parallèle sur plusieurs machines dans le but d améliorer son temps de réponse ; Accélérateurs de calcul : exécutent une application sur une machine appropriée dans l objectif d améliorer le temps de réponse moyen d un flot d applications [Yag07a]. Grilles de données [Hos00] ce type de Grille convient aux applications nécessitant une importante capacité de stockage. Elles assurent un accès sécurisé aux données distribuées. Les Grilles de données incluent le concept de bases de données fédérées dans lequel un groupe disponible de ces bases fonctionne comme une seule. Grilles de services (ou Grilles d information) elles sont utilisées pour les systèmes qui offrent des services ne pouvant être disponibles sur une simple machine. On distingue deux catégories [Yag07a] : Grille à la demande : elle agrège dynamiquement différentes ressources pour fournir de nouveaux services. On peut citer comme exemple, le problème de simulation qui nécessite des ressources (en nombre et en type), qui dépendent des paramètres d exécution. Grille de collaboration : elle rassemble utilisateurs et applications en groupes de travail collaboratifs. Ce type de Grille permet une interaction entre utilisateurs et applications en temps réel, au moyen d un espace de travail virtuel. Figure 1.2 Types de Grilles 13

23 1.3.3 Objectifs des Grilles de calcul Les Grilles de calcul visent à atteindre les objectifs suivants [Alf09] : 1.3. Les Grilles de calcul Le partage des ressources informatiques distribuées et hétérogènes appartenant à des organismes différents. La Grille de calcul est le partage, la sélection et l agrégation d un groupe de ressources telles que les supercalculateurs, les mainframes, les systèmes de stockage, sources de données et les systèmes de gestion qui se comportent comme des réseaux de calcul. Elle favorise le partage des ressources qui peuvent être de nature distribués et très hétérogènes. L exploitation des ressources sous-utilisées. Dans la plupart des organisations et des entreprises, il ya un nombre énorme de ressources informatiques sous-utilisés (taux d utilisation < 5% ). La Grille de calcul est conçu pour exploiter ces ressources sous-utilisées et augmenter l efficacité d utilisation des ressources. Les utilisateurs peuvent également louer les ressources qui se trouvent sur la Grille pour l exécution de leurs applications de calcul intensif, au lieu d acheter leur propre ressources dédiés (et coûteuses). Simplification de la collaboration entre différentes organisations. Une autre capacité des Grilles de calcul est la fourniture d un environnement pour une collaboration entre les organisations. La Grille de calcul permet à des systèmes très hétérogènes et distribués de travailler ensemble, ce qui simplifie la collaboration entre les différents organismes en offrant un accès direct à des ordinateurs, logiciels et données. La fourniture d un service de connexion unique avec un accès sécurisé aux ressources du réseau, tout en protégeant la sécurité des utilisateurs et sites distants. Les Grilles fournissent un service de connexion unique pour tous les utilisateurs sur toutes les ressources distribuées en utilisant des mécanismes d authentification de Grille. Elles fournissent également un accès sécurisé à toute l information partout sur tout type de réseau. Ceci est réalisé en fournissant un accès à des mécanismes qui contrôlent ces ressources. La fourniture de gestion des ressources, des services d information, le suivi et la sécurité du transport de données. Le partage des ressources et des réseaux impliqués dans la Grille est difficile à gérer et surveiller, mais la Grille de calcul est en mesure de relever ces défis en raison de son architecture et protocoles. La solution des problèmes à grande échelle. Les Grilles sont conçues pour exploiter les ressources sous-utilisées, ce qui signifie qu elles peuvent employer un grand nombre d entre elles pour résoudre un problème 14

24 1.3. Les Grilles de calcul à grande échelle ; La Grille promet des solutions à des problèmes comme le stockage et le traitement des quantités massives de données que les ordinateurs, même mainframe ne peuvent pas traiter comme les prévisions météorologiques. La fourniture de résultats rapides, a livré plus efficacement. La Grille permet un traitement en parallèle, elle peut aussi avoir des dispositifs de haute capacité Les concepts de base d une Grille A) Organisation virtuelle (VO) Ce concept peut être défini comme un réseau d acteurs impliquant des individus de différentes organisations considérées comme indépendantes ; ceux-ci poursuivent ensemble la réalisation d un projet ou d une activité économique commune. Les processus de communication et d information sont soutenus à distance via les Technologies de l Information et de la communication (TIC). L organisation est ainsi constituée sans une véritable unicité de lieu et de temps [Rig05]. Les organisations (ou communautés) virtuelles (VO) regroupent les utilisateurs de Grille en fonction de leurs objectifs, la Grille servant de contexte d échanges de service. L usage des Grilles était à ses débuts l apanage du calcul intensif mais son usage est désormais étendu à n importe quel type de service car il est basé sur l allocation dynamique de ressources à une instance de service. L organisation virtuelle assure certaines propriétés de fiabilité qui sont relatives aux ressources qu elle relie. L organisation virtuelle est construite autour d une communauté d acteurs qui peuvent être des : Scientifiques Partage de calculateur, de données Prise de contrôle sur machines spécifiques (microscope...) Utilisateurs ayant un intérêt commun Fichier (emule), Bande passante (radio PeerCast) Entreprises Échange d informations et de services Travail collaboratif B) Les Middlewares Pour construire une Grille, on utilise un ensemble de logiciels appelé intergiciel (Middleware). L intergiciel unifie l accès à des ressources informatiques hétérogènes, il se place entre les systèmes d exploitation existants et l utilisateur. Il masque à ce dernier l hétérogénéité des divers systèmes installés et fournit un ensemble de routines (commandes et bibliothèque de programmation) indépendantes du système. 15

25 1.3. Les Grilles de calcul Ces commandes et fonctions permettent par exemple d exécuter une application sur une machine avec un langage de description de ressources (quantité de mémoire nécessaire, temps CPU,...) indépendamment de la machine utilisée. Le middleware de Grille doit résoudre de nombreux problèmes : Authentification unique et gestion de politique de sécurité ; Tolérance aux pannes ; Équilibrage dynamique de charge ; Découverte et analyse dynamique de ressources ; Partage et allocation des différentes ressources suivant des critères techniques ; Cohérence des données distribuées et des versions des logiciels ; Évaluation des performances et mesure de la qualité de service ; Comptabilisation des ressources consommées (distribuées et partagées) et facturation ; C) Les ressources La principale raison qui motive l usage de Grille de calcul (Figure 1.3) est de disposer de ressources à la demande pour exécuter les besoins des utilisateurs. A cet effet, elle fournit une panoplie de ressources : Les ordinateurs des centres de calcul ; Les serveurs, les clusters,... ; Les systèmes de stockage de données ; Les catalogues de données ; Des capteurs, des télescopes ; Figure 1.3 Grille de calcul Différentes topologies de Grilles Dans [Gha04], les auteurs énumèrent les Grilles d un point de vue topologique en trois types par ordre croissant d étendue géographique et de complexité : intragrilles (intragrids), extragrilles (extragrids) et intergrilles (intergrids). 16

26 1.3. Les Grilles de calcul IntraGrille (en analogie avec Intranet) La plus simple des Grilles est l intragrille, composée d un ensemble relativement limité de ressources et de services et appartenant à une organisation unique. Les principales caractéristiques d une telle Grille sont l interconnexion à travers un réseau performant et haut débit, un domaine de sécurité unique et maîtrisé par les administrateurs de l organisation et un ensemble relativement statique et homogène de ressources. ExtraGrille (en analogie avec Extranet) Une extragrille étend le modèle en regroupant plusieurs intragrilles. Les principales caractéristiques d une telle Grille sont la présence d un réseau d interconnexion hétérogène haut et bas débit (LAN/WAN), de plusieurs domaines de sécurité distincts, et d un ensemble plus ou moins dynamique de ressources. Un exemple d utilisation est lors d alliances et d échanges «Business -to-business» (B2B) entre entreprises partenaires. InterGrille (en analogie avec Internet) Une intergrille consiste à agréger les Grilles de multiples organisations, en une seule Grille. Les principales caractéristiques d une telle Grille sont la présence d un réseau d interconnexion très hétérogène haut et bas débit (LAN / WAN), de plusieurs domaines de sécurité distincts et ayant parfois des politiques de sécurité différentes et même contradictoires, et d un ensemble très dynamique de ressources Défis des Grille de calcul Il y a de nombreux défis qui doivent être abordés afin de construire un environnement de Grille de calcul. La liste suivante montre les principales exigences d une Grille qui doivent être satisfaites [For06, Gha04, Van07] : Services d information Concerne des informations sur les ressources disponibles sur la Grille. Il comprend l ensemble des ressources disponibles, les spécifications matérielles ainsi que les informations dynamiques comme la charge de travail. Ces informations doivent être automatiquement maintenues en état et à jour. L accès uniforme aux ressources Toutes les ressources du même genre (éléments de calcul, éléments de stockage, etc) doivent être accessibles d une manière uniforme, peu importe sur quelles technologies ou normes ils sont basées. Sécurité Les mécanismes de sécurité sont nécessaires afin de permettre aux administrateurs du système d appliquer les règles d accès pour toutes les ressources mises à disposition sur la Grille. Ce point est fortement lié à la notion d organisation virtuelle. 17

27 1.3. Les Grilles de calcul Ordonnancement des tâches Les travaux soumis par les utilisateurs doivent être placés de manière efficace. Accès aux données Les utilisateurs de Grille devrait être en mesure d accéder à des données distribuées de manière uniforme. La réplication des données La Grille devrait permettre la création automatique des répliques de fichiers dans l ordre de rapprocher les données à l utilisateur ou à l équipement informatique qui les traitera. C est aussi un moyen d augmenter la tolérance aux pannes du système Rapports de Grilles de calcul avec d autres technologies Le concept du partage dans les organisations virtuelles est si fondamental que nous pourrions supposer que les technologies de Grille doivent sûrement déjà être largement déployées. Dans la pratique, tandis que la nécessité de ces technologies est en effet très répandue, dans une grande variété de domaines différents, nous ne trouvons que des solutions primitives et inadéquates aux problèmes de l organisation virtuelle. En bref, les approches des systèmes distribués courants ne fournissent pas un cadre général de partage de ressources qui satisfait les conditions de l organisation virtuelle. Les technologies de Grille se distinguent en fournissant cette approche générique au partage de ressources[yag07a]. World Wide Web L omniprésence des technologies (protocoles TCP/IP, http, etc et les langages, telles que le HTML et le XML) les rend attractives comme plateforme pour construction des systèmes et des applications d organisation virtuelle. Alors que ces technologies font un excellent travail pour soutenir les interactions des technologies web et client/serveur, elles manquent des dispositifs exigés pour les modèles plus riches d interaction qui se produisent dans les organisations virtuelles. Fournisseurs de service d application et de stockage Fournisseurs de service d application (ASP), et Fournisseurs de services de stockage (SSP) sont des compagnies typiquement semblables dans le but est d offrir des applications spécifiques d affaires et de technologie et des capacités de mémoire intéressantes. Un client peut toujours négocier le service fourni, cela définit l accès à une combinaison spécifique de matériel et de logiciel. La sécurité tend à être manipulée en employant la technologie de VPN (virtual Private Network) pour exploiter les ressources actionnées près de l ASP ou le SSP au nom du client. Sauf que le problème de base est qu un VPN n est pas une Vo : il ne peut pas se prolonger dynamiquement pour exploiter d autres ressources. L intégration des technologies de Grille dans des ASP et SSP peut permettre une gamme beaucoup plus riche de possibilités. 18

28 1.4. L évolution vers le Cloud Computing Par exemple, des services de Grille et les protocoles standards peuvent être employés pour réaliser un découplage du matériel et du logiciel afin de permettre le partage des ressources de matériel et des protocoles de Grille dynamiquement. Systèmes d informations d entreprise Technologies de développement d entreprise telles que CORBA, Entreprise Java Beans, Java 2 Entreprise Edition et DCOM sont tous des systèmes conçus pour permettre la construction d applications distribuées. Elles fournissent les interfaces standards de ressource, mécanismes à distance d invocation, et les services de découverte rendant facile de partager des ressources dans une organisation simple. Cependant, ces mécanismes restent statiques contrairement aux conditions spécifiques d une organisation virtuelle. Calcul sur Internet et de Pair-à-Pair Les Calculs Pair-à-pair et d Internet sont des exemples qui permettent le partage des ressources informatiques. En tant que tels, elles ont beaucoup en commun avec des technologies de Grille. Le problème est que ces technologies ne mettent pas assez l accent sur la mise en œuvre de protocoles communs qui facilitent l interopérabilité. En plus de cela les formes de partage qu elles mettent en place sont très limitées. 1.4 L évolution vers le Cloud Computing Comme toute nouvelle technologie, il est difficile de trouver une définition universelle au Cloud Computing. Il s agit de faire un choix parmi de nombreuses définitions existantes que ce soit dans la littérature scientifique ou sur Internet. Foster et al. [Sot08] ont défini le Cloud Computing comme un paradigme de calcul distribué à grande échelle conduit par l économie mondiale, dans lequel la virtualisation, la puissance de calcul, le stockage, les plates-formes et les services sont externalisés aux clients à la demande via Internet. Le NIST 1 [Mel09] a proposé une définition formelle et largement adoptée du Cloud Computing : Le Cloud Computing est un modèle qui permet l accès au réseau à la demande. Les ressources sont partagées et la puissance de calcul est configurable en fonction des besoins. Le client peut bénéficier d une flexibilité importante avec un effort minimal de gestion. La définition précédente peut provoquer une confusion entre le cloud et la grille de calcul. Effectivement, leurs architectures sont assez similaires mais ils sont destinés à des fonctions bien différentes. 1. North American National Institute for Standard and Technology 19

29 1.5. Conclusion Le cloud, comme nous l avons vu, doit être capable de monter en charge c est-à-dire traiter un nombre important de requêtes concurrentes. La grille de calcul est plutôt destinée à traiter un nombre plus réduit de requêtes. Ces requêtes sont, en règle générale, bien plus complexes et peuvent facilement être divisées en sous-requêtes qui seront adressées à d autres nœuds. La figure 1.4 nous donne un aperçu visuel de cette différence. Figure 1.4 Cloud Vs Grille de calcul 1.5 Conclusion Les Grilles constituent un enjeu fondamental dans l évolution des systèmes distribués. En permettant une utilisation rationnelle des moyens informatiques et en fournissant des capacités de stockage et de puissances de calcul inaccessibles à la plupart des acteurs, ces technologies ouvrent de nouvelles voies importantes au développement des technologies de l information et de la communication. Dans les Grilles de calcul, Le problème de placement de tâches devient beaucoup plus complexe que dans le cas des systèmes distribués classiques ou dans le cas des clusters homogènes. De nombreux cas supplémentaires interviennent, dont le plus contraignant est le manque de finesse dans le contrôle des ressources par le système. Les ressources appartenant à diverses organisations sont partagées selon des politiques appropriées spécifiant quelles ressources partager, qui est autorisé à y accéder et sous quelles conditions. Les difficultés spécifiques qui sont à la base du concept de Grille résident dans le principe du partage de ressources et de la résolution des problèmes au sein d organisations virtuelles dynamiques et multi-institutionnelles [Yag07a]. Dans le chapitre suivant nous allons présenter quelques notions de bases sur les dépendances entre tâches ainsi que le placement des tâches. 20

30 Chapitre 2 Aperçu sur le Placement de Tâches Sommaire 2.1 Introduction Classification des applications parallèles Catégories d applications parallèles Type d association entre tâches Placement de tâches Algorithmes de placement Placement statique Placement dynamique Conclusion

31 2.1. Introduction 2.1 Introduction Le calcul parallèle consiste en l exécution d un traitement pouvant être partitionné en tâches élémentaires adaptées afin de pouvoir être réparties entre plusieurs processeurs opérant simultanément. L objectif est de traiter des problèmes de grandes tailles plus rapidement que dans une exécution séquentielle. Le placement est un aspect fondamental dans la parallélisation des applications car il permet d améliorer leurs performances et de mieux gérer les ressources disponibles. Le placement d une application parallèle consiste à déterminer l ordre dans lequel les tâches de cette application doivent être exécutées et les ressources auxquelles elles sont affectées. De ce fait, les algorithmes de placement de tâches dépendent aussi bien de l architecture cible que de la structure de l application. Dans ce chapitre, nous présenterons une classification des applications parallèles. Ensuite nous définirons les dépendances qui existent entre tâches. Enfin, nous donnerons une vue sur l état de l art du domaine cible de cette thèse. Nous présenterons quelques stratégies de placement des tâches existantes. Ces algorithmes sont donnés selon la figure suivante(figure 2.1). Figure 2.1 Taxonomie de dépendances de tâches des algorithmes d ordonnancement 2.2 Classification des applications parallèles Une application parallèle est composée soit d une tâche pouvant s exécuter sur plusieurs processeurs, soit de plusieurs tâches (par exemple des sous-routines ou des boucles) dont certaines peuvent s exécuter en parallèle sur des ensembles de processeurs distincts. La modélisation d une application parallèle dépend aussi bien des tâches qui la composent que des interactions entre ces tâches. 22

32 2.2. Classification des applications parallèles Il existe deux principales catégories de tâches : les tâches séquentielles et les tâches parallèles ; Une tâche séquentielle est une tâche qui ne s exécute que sur un seul processeur. A l inverse, une tâche parallèle est telle que les données à traiter peuvent être réparties sur plusieurs processeurs afin de s exécuter concurremment. On parle alors de parallélisme de données [Tch09] Catégories d applications parallèles Les applications parallèles peuvent se subdiviser en deux principales catégories, selon qu il existe ou non des relations entre les tâches qui les composent. La première catégorie regroupe les applications où toutes les tâches peuvent s exécuter indépendamment les unes des autres. La seconde catégorie concerne les applications dans lesquelles il existe des relations de dépendance (de flots de données ou de précédences) entre les tâches. Parmi les applications composées de tâches indépendantes, on distingue les applications comprenant des tâches séquentielles et celles constituées de tâches parallèles. Comme exemple d applications composées de tâches séquentielles indépendantes, nous pouvons mentionner les applications multiparamétriques (parameter sweep applications) [Cas00]. Une application multiparamétrique est conçue de sorte qu un même programme est lancé plusieurs fois en faisant varier les valeurs de ses paramètres d entrée. D autres applications, notamment dans les domaines de l algèbre linéaire et de la bioinformatique, sont composées d un très grand nombre de tâches séquentielles indépendantes de sorte que ces tâches peuvent être regroupées en un nombre arbitraire de tâches indépendantes. Ces applications peuvent alors être représentées par le modèle des applications divisibles. Une application divisible est une application dont le volume de calcul à effectuer peut être partitionné et distribué entre les processeurs de n importe quelle façon. Il existe deux principaux types d applications composées de tâches dépendantes. Le premier concerne les applications dont les tâches interagissent (s échangent des données, etc.) durant leurs exécutions. Ces applications peuvent être modélisées à l aide de graphes non orientés appelés Task interaction graphs (TIGs). Les nœuds de ces graphes représentent des processus monoprocesseurs (tâches séquentielles) et les arrêtes représentent les communications entre ces processus. Le second type d applications regroupe les applications avec des contraintes de précédence entre les tâches. Les dépendances de tâches (Figure 2.2) permettent de déterminer le moment où une tâche peut débuter. Une tâche d une telle application ne peut démarrer son exécution que si toutes ses contraintes de précédence sont satisfaites. De plus, un temps d attente peut être défini entre les prédécesseurs et les successeurs correspondant au temps de transfert des paramètres requis par les successeurs [Tch09]. Figure 2.2 Tâches liées par une contrainte de précédence 23

33 2.2. Classification des applications parallèles Ces applications peuvent être modélisées par des graphes acycliques orientés ou DAGs (Directed Acyclic Graphs). Les nœuds représentent les tâches (séquentielles ou parallèles) et les arcs définissent les relations de précédence (dépendances de flots ou de données) entre les tâches [Tch09, Ker09]. Chaque tâche est caractérisée au minimum par son temps d exécution et chaque arc par un coût de communication représentant la quantité d informations à échanger entre les tâches. La largeur du graphe représente le nombre maximum de processus en parallèle et la hauteur de l arbre représente le temps maximum d exécution. La Figure 2.3, présente un exemple de deux applications comportant chacune trois tâches. Figure 2.3 Exemple d applications dépendantes Le graphe de précédence associé est schématisé sur la Figure 2.4. La tâche T1 s exécutera en premier puisqu elle n a pas de contraintes à satisfaire, et les tâches T5 et T6 s exécuteront en dernier [Med09a, Med09b]. Figure 2.4 Graphe de précédence associé Type d association entre tâches Il existe différent types d associations pour réaliser la liaison entre les tâches : Division séquence Une tâche est lancée à la fin d une tâche qui la précède. 24

34 2.3. Placement de tâches Division parallèle C est un point dans la tâche où l exécution d une tâche se divise en plusieurs entités, permettant l exécution simultanée. Division synchronisation C est un point dans la tâche où plusieurs tâches convergent vers une seule tâche, ce qui entraine la synchronisation. Figure 2.5 Type d association entre tâches 2.3 Placement de tâches Le placement de tâches sur un ensemble de ressources est un problème largement traité dans la littérature, ceci étant certainement dû à l aspect NP-complet du problème [Boy05]. En effet plusieurs heuristiques ont été développées afin d approcher une allocation optimale dans différents cas problématiques. Le problème dans le cadre de cette thèse est de placer le plus efficacement possible les tâches (processus) d une application sur un ensemble de processeurs formant une Grille de calcul. Le but est de minimiser le temps de réponse de l application. Cette partie est consacrée au problème de placement de graphes avec et sans relation de précédence. La double possibilité d utilisation des algorithmes de placement est soulignée : si le graphe de départ est sans précédence, il peut être utilisé directement tandis que si le graphe de départ est un DAG, une première phase de regroupement doit être exécutée Algorithmes de placement Il existe deux grands types d algorithmes de placement : les algorithmes de placement de charges dit statiques, que l on peut définir à la compilation (réalisés avant l exécution de l application), et les algorithmes dit dynamiques, calculé pendant l exécution de l application. Les stratégies statiques utilisent des approches multiples pour calculer à priori, une distribution optimale (ou au moins, efficace) des tâches parmi les différents processeurs. 25

35 2.3. Placement de tâches Elles se fondent essentiellement sur une connaissance préalable de différents paramètres associés aux tâches (comme les coûts de calcul et de communication). Une bonne modélisation et analyse statique ne permettent d obtenir une bonne solution qu à condition de disposer de ces informations préalables (ce qui n est pas toujours possible) et que le système soit assez stable pour que la non utilisation de l état dynamique du système reste une démarche réaliste. De ce fait, les approches statiques ne sont pas toujours applicables aux systèmes distribués, à la prise en compte de reconfigurations et de pannes. A l inverse, les stratégies purement dynamiques ne demandent aucun préalable à l exécution. Les décisions qu elles sont amenées à prendre n utilisent que des informations obtenues en temps réel au cours de l exécution. Elles sont donc particulièrement adaptées aux architectures distribuées. Elles s utilisent avantageusement lorsque le système permet la migration de tâches, ce qui offre plus de liberté au processus de distribution. Il peut être intéressant d utiliser un algorithme pseudo-statique pour le mappage initial des tâches [Bou94] Placement statique Les algorithmes de placement statique se situent entre l étape de compilation et l étape de chargement de l application sur la machine cible. En général, les modèles utilisés nécessitent une connaissance de l ensemble des tâches, de leur relations de précédence et de leur coût de communication [Wil97]. On sous-entend donc que ces valeurs ne se modifieront pas au cours de l exécution et leur obtention peut être le résultat de : Une analyse faite durant l étape de compilation ; Une modélisation analytique de l application (par exemple avec des files d attente ou des réseaux de Petri stochastiques) ; Une simulation qui évite de disposer d une machine parallèle dans la phase de développement d une application ; D une évaluation des exécutions précédentes. A. Cas des Tâches indépendantes Dans le cas de la classe des tâches indépendantes, il suffit de placer les tâches en fonction de la charge des ressources. De très nombreuses stratégies de placement de tâches indépendantes ont été proposées dans la littérature [Bra01]. Ainsi, on distingue : MET (Minimum Executions Time) Consiste à assigner chaque tâche, en ordre arbitraire sur la machine avec le meilleur temps d exécution estimé pour cette tâche, indépendamment de la disponibilité de la machine. L idée de cette heuristique est d assigner chaque tâche à son meilleur processeur [Mah99]. 26

36 2.3. Placement de tâches Cette heuristique pourrait causer un déséquilibrage de charge entre les processeurs. En générale, cette heuristique n est pas applicable à des environnements de calcul hétérogènes. MCT (Minimum Completion Time) Consiste à placer chaque tâche en ordre arbitraire sur la machine avec la plus petite date de fin d exécution [Mah99]. Min-min L heuristique min-min commence par l ensemble U de toutes tâches non placées. Elle fonctionne en deux phases. Dans la première phase, min-min calcule l ensemble des temps d exécution minimales pour chaque tâche dans l ensemble U sur toutes les machines du système. Dans la deuxième phase, la tâche avec le minimum temps d exécution est sélectionnée et placée sur la machine correspondante. La tâche est alors retirée de l ensemble U et le processus est répété jusqu à ce que toutes les tâches dans l ensemble U sont placées. Comme MCT, Min-min est basé sur le temps minimum d exécution. Cependant, Min-min considère toutes les tâches non placées pendant chaque décision de placement et MCT considère seulement une tâche à la fois [Mah99]. Min-min n est pas en mesure d équilibrer la charge car l algorithme affecte principalement les plus petites tâches. Max-min L heuristique Max-min est très semblable à Min-min. Max-min commence également par l ensemble U de toutes les tâches non placées. Puis il calcule l ensemble des temps minimum d exécution. Ensuite, la tâche avec le maximum temps d exécution est choisie et assignée à la machine correspondante et le processus est répété jusqu à ce que toutes les tâches dans l ensemble U sont placées [Mah99]. Max-min semble faire mieux que l algorithme Min-min lorsque le nombre de petites tâches est plus grand que le nombre de tâche de grande taille. Mais dans le cas contraire, l exécution des tâches avec de grande taille peut augmenter le temps de réponse total du système. GA (genetic algorithm) Les algorithmes génétiques (GAs) sont une technique utilisée pour rechercher dans les grands espaces de solution. L AG opère sur une population de chromosomes d une méta-tâche donnée. La population initiale est générée par deux méthodes. Dans la première méthode, un chromosome est généré aléatoirement à partir d une distribution uniforme. Dans la deuxième méthode, le chromosome est généré par Min-min. GA est l un des mécanismes les plus populaires utilisés pour placer des tâches indépendantes dans un environnement de Grille en raison de sa simplicité, toutefois son grand nombre d itérations ne devrait pas être ignoré [Bra01]. 27

37 2.3. Placement de tâches RASA Cet algorithme d ordonnancement est proposé par [Par09] pour les Grilles de calcul. L algorithme est basé sur deux heuristiques de placement bien connues ; Min-min et Max-min. RASA utilise les avantages des deux algorithmes et couvre leurs inconvénients. Pour ce faire, RASA estime d abord le temps d exécution des tâches, sur chacune des ressources disponibles dans la Grille, puis applique les algorithmes Max-min et Min-min, alternativement. À cet égard, RASA utilise la stratégie Minmin pour exécuter les petites tâches avant les grandes et applique la stratégie de Max-min pour éviter les retards dans l exécution des tâches de grandes tailles. Dans [Sel10], les auteurs ordonnancent des groupes de tâches sur une Grille de calcul organisée en arbre, où les ressources ont différentes vitesses de calcul et de communication. L approche proposée emploie une heuristique d ordonnancement des tâches statique et distribués pour un placement efficace entre les tâches et les ressources disponibles. Cette stratégie d ordonnancement groupe les tâches des utilisateurs selon la capacité de traitement des ressources de la Grille, et envoie les tâches regroupées aux ressources. Le groupement des tâches dans l environnement de Grille organisée en arbre augmente le rapport de calcul/communication. Dans [Nit11] et [Raj11], les auteurs présentent un algorithme d ordonnancement d Optimisation Hybride par Colonies de Fourmis (Hybrid Ant Colony Optimization (HACO)) pour les Grilles de calcul. L algorithme proposé est basé sur l algorithme d optimisation par colonies de fourmis (Ant Colony Optimization (ACO)) qui utilise l heuristique de placement par groupement de tâches. Dans cet algorithme de colonie de fourmis chaque tâche est considérée comme une fourmi et la solution optimale est fournie à l aide des informations sur le phéromone. B. Cas des Tâches dépendantes Dans le cas de la classe de tâches dépendantes, le système doit placer les tâches en fonction de la charge des ressources et des dépendances entre les tâches. Il existe plusieurs travaux de placement statiques des tâches dépendantes. Nous présenterons ici quatre principales classes d heuristiques d ordonnancement de graphe ainsi que quelques références vers celles-ci [Des08, Don06] : Heuristiques de liste Les heuristiques de liste maintiennent une liste de tâches triées suivant une priorité. Ces heuristiques sont toutes basées sur la succession des deux étapes suivantes : 1. Prendre une tâche parmi celles qui sont prêtes et/ou pas encore allouées à une machine. Une tâche devient prête lorsque toutes les tâches dont elle dépend sont terminées et les données nécessaires aux calculs sont disponibles. 2. Sélectionner une machine pour exécuter la tâche et allouer celle-ci à la machine. 28

38 2.3. Placement de tâches Les heuristiques de liste sont, la plupart du temps, utilisées car une garantie sur la qualité de l ordonnancement a été démontrée [Gra69]. Dans le cas hétérogène, en considérant les temps de communication, cette garantie ne tient plus, mais l on obtient néanmoins de bonnes performances. Une multitude d heuristiques de liste ont été proposées, pour en citer les deux principales : HEFT Cet algorithme de placement est proposé par [Top02], c est un algorithme d ordonnancement d une application sur un nombre limité de processeurs hétérogènes. Cet algorithme se compose de deux phases principales : Une phase d identification des priorités : cette phase est basée sur le coût moyen de calcul et le coût moyen de communication, et une phase de sélection d un processeur : les tâches sont sélectionnées selon leurs ordres de priorité. Ensuite, chacune des tâches sélectionnées est ordonnancée sur le processeur, qui minimise le temps de fin d exécution de la tâche. HEFT est un algorithme d ordonnancement sur un nombre limité des processeurs, c est un algorithme couteux en terme de temps de calcul s il est appliqué aux infrastructures à large échelle telles que les Grilles de calcul. FCP Radulescu et al [Rad99] présente une autre heuristique liste appelée Fast Critical Path (FCP), l intention est de réduire la complexité des heuristiques de liste tout en conservant la performance de l ordonnancement. La motivation de FCP est basée sur les observations suivantes concernant la complexité des heuristiques de liste. L algorithme FCP ne trie pas toutes les tâches au début, mais maintient seulement un nombre limité de tâches triées à un moment donné. Au lieu de considérer tous les processeurs comme cibles possibles pour une tâche donnée, le choix est restreint soit au processeur à partir duquel les derniers messages d une tâche donnée arrivent ou le processeur qui devient inactif en premier. Dans [Ama11], Amalarethinam et al. proposent un algorithme appelé Efficient Dual Objective Scheduling (EDOS), leurs objectifs est de maximiser l utilisation des ressources de la Grille et de minimiser les temps d exécution en réservant les ressources à l avance et en plaçant les tâches par priorité. L algorithme proposé a été mis en œuvre pour des graphes de tâches générés de manière aléatoire dans un environnement simulé. Enfin, les résultats sont comparés avec les algorithmes Min-Min et HEFT et montrent que l algorithme proposé donne des résultats meilleurs. Par la suite, nous détaillerons en particulier l heuristique HEFT qui est l heuristique avec laquelle nous allons comparer les performances de notre stratégie. 29

39 2.3. Placement de tâches Groupement de tâches Les heuristiques de groupement de tâches (clustering algorithms) reposent sur l idée de regrouper des tâches ensemble dans le but de supprimer les communications trop coûteuses. Les algorithmes fonctionnent en deux phases : 1. la première phase groupe les tâches du DAG. Le groupement est effectué par une succession d étapes de raffinement sans retour en arrière. Une méthode classique consistera à rassembler deux tâches qui s échangent une grande quantité de données. Cette phase permet d obtenir un nouveau DAG dont les nœuds représentent cette fois un groupement de tâches. 2. la deuxième phase consiste à trouver un ordonnancement et une allocation sur un processeur pour les groupes de tâches construits à l étape précédente. Ainsi, aucune communication inter-machine ne sera faite au sein d un groupe puisque qu elles seront toutes exécutées par la même machine. Le principe de ces heuristiques repose donc sur la diminution du nombre de sommets dans le DAG en formant des groupes. Ce genre de technique est utilisé lorsque le nombre de tâches dans le DAG est important, et lorsque l on désire réduire le volume de données échangées entre les processeurs. Là encore la littérature est abondante, Parmi les heuristiques les plus souvent citées : Yang et al [Yan94] proposent une heuristique de clustering appelée Dominant Sequence Clustering (DSC). Dans l algorithme DSC, les priorités des tâches sont dynamiquement calculées par la somme de leur haut et bas niveau. Le niveau haut et le niveau bas sont définis par la somme des coûts de calcul et de communication du plus long chemin de la tâche concernée jusqu à la tâche d entrée et la tâche de sortie, respectivement. Les tâches sont ordonnancées dans l ordre de leurs priorités. Puisque le nœud d entrée a toujours le plus long chemin vers le nœud de sortie, le regroupement commence toujours par le nœud d entrée. Le nœud actuel est fusionné avec le cluster de l un de ses prédécesseurs de sorte que la valeur du niveau haut de ce nœud peut être minimisée. Si toutes les augmentations possibles augmentent la valeur du niveau haut, le nœud actuel va rester dans son propre cluster. Après le regroupement du nœud actuel, les priorités de tous ses successeurs seront mises à jour. Dans [Bid11], Bidgoli et al. présentent un algorithme, qui prend en compte le coût de transfert de données entre les différentes tâches et les dépendances entre les tâches. Les tâches sont modélisées sous forme d un graphe acyclique dirigé (DAG), les auteurs visent à minimiser le coût d exécution final des tâches. Cette approche essaye de trouver le meilleur choix en termes de temps et de coûts de mise en œuvre. 30

40 2.3. Placement de tâches Duplication de tâches Les heuristiques à duplication de tâches consistent à allouer de manière redondante certaines des tâches «importantes» dont d autres dépendent. Le but recherché est donc de réduire le temps avant que les tâches en attente puissent commencer ce qui peut éventuellement améliorer le temps d exécution global de l application. Afin de bien comprendre l utilité de ces heuristiques, il est présenté dans la figure 2.6 un exemple d ordonnancement d une application sur 2 machines (par simplicité nous supposons que les machines et les liens de communication sont homogènes). La valuation des tâches représente leur durée d exécution, et celle des arêtes représente la durée de transfert des données entre les deux tâches. Ici, le temps de terminaison de l application est de 13 unités de temps. Figure 2.6 Exemple d ordonnancement d un graphe de tâches sur 2 processeurs Dans l ordonnancement précédent, beaucoup de temps est perdu à envoyer les données en sortie de la tâche t 2 à la machine qui exécute la tâche t 4. Si nous dupliquons la tâche t 2 ( de sorte que la machine p 2 n ait pas à attendre le transfert de la donnée issue de t 2, puisqu elle aura été effectuée aussi sur cette machine), tout se passe comme si nous avions désormais le graphe de tâches présenté dans la figure 2.7. La durée d exécution de l application sera alors réduite à 10,5 unités de temps. Figure 2.7 Exemple avec duplication sur 2 processeurs 31

41 Dans ce qui suit, Nous citerons quelques travaux existants : 2.3. Placement de tâches Pour exploiter l idée de la duplication dans des environnements hétérogènes, un algorithme appelé TANH (Task duplication-based scheduling Algorithm for Network of Heterogeneous systems) est présenté dans [Baj04]. Un nouveau paramètre est introduit pour chaque tâche : le processeur préféré (favorite processor (Fp)), qui peut accomplir la tâche le plus tôt. Sirvent et al., se concentrent dans [Sir11] sur l utilisation de techniques de réplication des tâches pour les applications workflow, en essayant de régler non seulement le problème de tolérance aux pannes dans une exécution, mais aussi pour accélérer le calcul sans exiger à l utilisateur de mettre en œuvre une application de contrôle, qui peut être une tâche difficile en fonction de l application. Par ailleurs, les auteurs étudient aussi ce qu il faut faire quand il n y a pas assez de ressources pour la réplication de toutes les tâches en cours. Ils établissent des priorités différentes de réplication en fonction du workflow de l application. Méta-heuristiques Le terme de méta-heuristiques englobe toutes les techniques qui recherchent dans l espace des solutions possibles pour l ordonnancement du graphe de tâches sur une plate-forme Grille [Des08]. L idée est donc d explorer de manière «intelligente» l espace des solutions afin de trouver une meilleure solution en fonction de l objectif. La différence entre les méthodes réside dans «l intelligence» d exploration des solutions possibles. Bien que ce genre de techniques soient très intéressantes et donnent souvent de bons résultats, elles ne sont pas adaptées à des problèmes où l on doit trouver un ordonnancement de manière rapide. En effet, plus la taille du problème (nombre de tâches, nombre de dépendances, nombre de ressources) augmente, plus l espace des solutions à explorer est grand. De plus, il faut relancer une recherche à chaque modification du problème initial. Les principales méthodes utilisées dans ce domaine sont les algorithmes génétiques, la recherche tabou et le recuit simulé. Nous citerons quelques unes : Salcedo-Sanz et al. [Sal06], introduisent une nouvelle formulation du problème, dans laquelle chaque processeur est limité dans le nombre de tâches qu il peut gérer, en raison des contraintes liés aux ressources. Ils proposent deux approches hybrides de méta-heuristique pour résoudre ce problème. Les deux approches hybrides utilisent un réseau de neurones de Hopfield pour résoudre le problème de contraintes, combiné avec un algorithme génétique et un recuit simulé pour améliorer la qualité des solutions trouvées. Qu et al. [Qu07] ont développé et évalué trois ordonnanceurs de tâches de différents domaines de résolution des problèmes. Le premier est une approche heuristique développée à partir d ordonnanceurs traditionnels. Le second est basé sur une recherche dans le domaine complet utilisant la programmation par contrainte. 32

42 2.3. Placement de tâches Le dernier est une recherche aléatoire basée sur les algorithmes génétiques. Par l utilisation des algorithmes génétiques, Ils emploient une taille fixe de la population pendant l évolution. Dans chaque génération, la nouvelle progéniture est produite et insérée dans la population, ensuite les plus mauvais individus sont enlevés. Dans [Sar12], Saravana Kumar et al. abordent deux heuristiques pour minimiser le temps de réponse et les coûts des tâches soumises au système de Grille. Pour obtenir une performance optimale, ils utilisent l algorithme ACS (Ant Colony System) en modifiant la valeur du phéromone. Cette valeur attire toutes les fourmis de manière rapide, c est à dire que toutes les tâches seront ordonnancées de manière rapide avec un bas coût. Dans [Bar12], Baruah propose un nouveau ordonnanceur basé sur les algorithmes génétiques. Cet algorithme appelé GASAS est présenté, son exécution dépend du nombre de tâches à ordonnancer. Le temps de calcul est amélioré Placement dynamique Pour palier au manque des algorithmes de placement statiques, des chercheurs ont expérimenté plusieurs types de placement dynamique. Le choix du meilleur nœud étant plus ou moins facile, la plupart des travaux se concentrent sur l optimisation des communications entre nœuds, notamment éviter la congestion réseau [Yag07a]. Une taxonomie fonctionnelle des algorithmes de répartition dynamique de charge décompose le système en six composants distincts [Wau02] (Voir Figure 2.8) : Figure 2.8 Taxonomie fonctionnelle des méthodes de répartition dynamique de charge La politique de participation Permet de décider si un nœud particulier peut participer à la distribution de charge. Le critère le plus utilisé est la charge de l hôte. Dans ce cas, on peut distinguer deux types de participation d un hôte : l une pour exporter une partie de sa charge vers les autres hôtes, l autre pour accepter de la charge d autres hôtes. Pour cela, on associe un seuil à chacune de ces participations, ce qui permet de définir des politiques différentes quant à l acceptation et l exportation de charge vers d autres hôtes. 33

43 2.3. Placement de tâches La politique de sélection des candidats Permet de déterminer le (ou les) processus qui sera (seront) migré(s) vers un autre nœud ou pour le placement initial d un nouveau processus. On distingue quatre stratégies possibles qui diffèrent par leur coût et leur qualité de service : 1. Sélection d un candidat aléatoire Est la solution la plus simple et la moins coûteuse en termes de temps de calcul pour déterminer le processus qui devra être exécuté sur un autre nœud. Cependant, il est évident que cette stratégie risque de choisir des processus qui possèdent des caractéristiques incompatibles avec la distribution. Parmi ces processus inadaptés, on peut citer les processus dont le temps d exécution n est pas suffisant pour justifier le coût de transfert du processus. 2. Sélection d un candidat raisonnable Elimine d emblée les processus qui ne sont pas adaptés à l exécution distante. Le critère le plus souvent utilisé est le temps d exécution qui peut être déterminé soit de façon statique, soit de façon dynamique. 3. Sélection d un bon candidat Est la stratégie la plus coûteuse mais la plus efficace. Dans certains cas, la politique de sélection peut coopérer avec la politique de localisation afin de trouver le processus le mieux adapté au nœud sur lequel il devra être exécuté en fonction, par exemple, des ressources encore disponibles sur ce nœud. Dans le cas du placement initial, il faut connaître a priori les caractéristiques du processus avant son affectation au nœud destination. Par contre, si on utilise la migration de processus, certaines caractéristiques des processus telles que la consommation CPU ou mémoire peuvent être monitorées ce qui permet d ensuite sélectionner le meilleur processus à migrer. 4. Auto-sélection L auto-sélection part du constat qu un processus est le plus apte à connaître ses besoins et est donc le plus à même de faire le meilleur choix. La politique de sélection des localisations Décide la paire de nœuds entre lesquels la charge devra être transférée. Cette décision peut se faire de manière centralisée ou bien de manière distribuée. Lorsque la décision est prise de manière centralisée, un agent central est responsable du partage de ressources du système entre les différents nœuds. Les nœuds, quant à eux, décident de leur participation au système distribué et fournissent les informations de charge. Par exemple, lorsque l agent central découvre un nœud A peu chargé, il sélectionne un nœud surchargé B et ensuite autorise A à exécuter un processus de B. L avantage de cette approche est sa simplicité. Par contre, il provoque un goulot d étranglement au niveau de l agent central, surtout lorsque le nombre de nœuds devient important. Aussi, ce nœud constitue un point central d échec. 34

44 2.3. Placement de tâches La politique de sélection des localisations sera dite distribuée si tous les nœuds exécutent le même processus de régulation et jouent ainsi le même rôle. On distingue, à ce niveau, deux types de stratégies : 1. Dans les stratégies actives, la régulation se fait à l initiative du nœud créateur de charge. Quand un nœud se rend compte que sa charge est trop importante, il tente de trouver un candidat susceptible d accepter son excès de charge. Dans ce cas, comme le nœud source est fixé, la politique consiste à trouver le nœud destination, soit en sélectionnant le nœud le moins chargé, soit en choisissant un nœud au hasard dans l ensemble des nœuds participant à la distribution de charge. Les principaux désavantages de cette technique sont que l on introduit une charge supplémentaire sur un nœud qui est déjà surchargé ; qu un nœud peu chargé doit attendre jusqu à ce qu un autre nœud lui donne du travail. 2. Par contre, dans les stratégies passives, la régulation se fait à l initiative de nœuds autres que le nœud créateur de charge. C est un nœud en faible charge qui proposera l exécution de processus d un nœud en forte charge. Dans ce cas, c est le nœud destination qui est fixé et la politique consiste donc à rechercher un nœud source susceptible de céder une partie de sa charge. Le choix du nœud source peut se porter soit sur le nœud le plus chargé ou un nœud au hasard parmi les nœuds chargés. Cette technique est moins utilisée. Quand on compare les performances des stratégies actives et passives, on constate que les stratégies actives sont plus efficaces à faible et moyenne charge tandis que les stratégies passives le sont à forte charge. Il existe aussi d autres politiques intermédiaires. Par exemple, on pourrait combiner les stratégies actives et passives pour profiter au mieux de leurs caractéristiques respectives à faible et forte charge. Par exemple, si un nœud est surchargé, le mode actif est mis en œuvre tandis que si un nœud est peu chargé, c est le mode passif qui sera appliqué. L avantage des politiques distribuées sont leur résistance aux pannes et aux reconfigurations du système. Mécanisme de mesure de la charge Le but de la mesure de charge est de pouvoir comparer la charge des nœuds et ce, en fonction de la politique choisie. La mesure de la charge consiste généralement en une combinaison d indicateurs comme : L utilisation mémoire ; La taille de la file d attente du CPU ; Nombre de processus exécutés ; Le temps de réponse après une sollicitation multicast. On peut aussi utiliser des modèles statistiques ou stochastiques afin d établir des prédictions de charge. 35

45 2.3. Placement de tâches Mécanisme de communication Une fois les mesures de charge collectées localement, il faut la transmettre à l agent central pour une architecture centralisée, soit à tout ou à une partie des nœuds dans le cas d une architecture distribuée. La difficulté principale vient du coût induit par la récolte et la distribution des informations de charge. En outre s ajoute des problèmes de fiabilité et de consistance. La plupart des solutions existantes sont des variations à partir de quatre approches de base : 1. Le polling est un message transmis à un nœud pour lui demander sa charge. Cette méthode fournit les informations les plus à jour mais possède un coût important ; 2. L échange de message par broadcast sur le réseau. Bien que moins coûteux que le polling, cette méthode produit une charge réseau assez conséquente. De plus, tous les hôtes du sous-réseau vont recevoir ces données, qu ils participent au système distribué ou non. Les avantages principaux de cette méthode est la possibilité de donner à tous les nœuds du système une information à jour et également la possibilité de synchroniser les différents nœuds ; 3. L utilisation du multicast possède les mêmes avantages que le broadcast mais permet en outre une meilleure sélectivité en ne mettant en communication que les hôtes participant à la distribution de charge. Un avantage supplémentaire est que le multicast permet de simplifier l identification des hôtes participants, facilitant ainsi la sélection des nœuds source et destination pour la politique de placement ; 4. Le collection agent utilise un système qui centralise les informations en un point. On peut distinguer trois approches qui varient selon la manière dont les informations sont collectées et redistribuées : (a) L approche globale où chaque hôte transmet son information à l agent central uniquement lorsque l état de la charge locale a changé. L information est périodiquement transmise par l agent central à tous les nœuds ; (b) L approche centrex est similaire à l approche globale sauf que l information n est pas diffusée périodiquement à tous les nœuds du système mais seulement lorsqu un nœud en fait la demande ; (c) L approche centrale est, quant à elle, similaire à l approche centrex mais l agent central répond à un nœud qui désire exporter d une partie de sa charge en suggérant un nœud destination. Les deux dernières approches réduisent la surcharge du réseau. 36

46 2.3. Placement de tâches Mécanisme de transfert de charge Ce mécanisme est responsable du transfert physique de charge du nœud source vers le nœud destination. Ce transfert peut s effectuer à deux moments : soit avant le début de l exécution du processus sur le nœud source, on parlera alors de placement initial ; soit pendant l exécution du processus sur le nœud source, on parlera alors de migration de processus. A. Cas des Tâches indépendantes Il existe plusieurs travaux de placement dynamique, parmi lesquels : Subramani et al [Sub02] ont introduit une simple heuristique de duplication distribuée pour l ordonnancement des tâches indépendantes dans la Grille. Un ordonnanceur de Grille distribue chaque tâche sur les K sites les moins chargées. Chaque site ordonnance ses tâches localement. Quand une tâche est en mesure de commencer son exécution sur un site, ce dernier informe l ordonnanceur global, qui à son tour contact les K-1 sites pour enlever la tâche de leurs files d attente respectives. En plaçant chaque tâche dans la file d attente de plusieurs sites, les auteurs visent à réduire le makespan moyen des tâches soumises au système. Silva et al [Sil03] proposent un algorithme appelé Workqueue with Replication (WQR). Contrairement au travail présenté dans [Sub02] où la duplication se fait au départ, dans WQR, une ressource inactive va répliquer les tâches qui sont encore en cours d exécution sur d autres ressources. Les tâches sont répliquées jusqu à ce qu un nombre maximal prédéfini de répliques soit atteint. Quand une tâche termine sont exécution, les autres répliques sont annulées. Yagoubi a proposé dans [Yag07b] un modèle de structure arborescente qui permet de développer une stratégie hiérarchique à trois niveaux d équilibrage : Intra-grappe, Extra-grappe et Inter-grappes. A n importe quel niveau du modèle, il a proposé une stratégie d équilibrage composée de trois étapes. Comme la description de cette stratégie se fera de manière générique, il a utilisé les notions de groupe et d élément. Un groupe peut désigner, selon les cas, soit une intra-grappe, une extra-grappe ou toute la Grille. Un élément est un composant d un groupe (un EC, une grappe ou une extra-grappe). Meddeber et Yagoubi ont étendu la stratégie proposée dans [Yag07b]. Leur contribution est double : premièrement, ils ont proposé un modèle distribué d équilibrage de charge, permettant de représenter n importe quelle topologie de Grille en une structure de forêt. Ils ont développé ensuite sur ce modèle, une stratégie d équilibrage à deux niveaux ayant comme principaux objectifs la réduction du temps de réponse moyen et le coût de transfert des tâches. La stratégie proposée est de nature distribuée avec une prise de décision locale, ce qui permettra à chaque fois que c est possible d éviter le recours au réseau de communication à large échelle. 37

47 2.3. Placement de tâches Dans [Cam11], les auteurs présentent une approche multi-objectif utilisant un algorithme évolutionnaire pour résoudre efficacement le problème d ordonnancement. Leur proposition est basée sur l algorithme NSGA-II MOEA[Deb00] combiné à un ensemble d heuristiques dans les différents opérateurs évolutionnaires qui permettent une rapide convergence optimale (ou quasi-optimale) des solutions. Bansal et al. présentent dans [Ban11] une nouvelle heuristique d ordonnancement de tâches dans une Grille de calcul, qui place les tâches adaptativement et dynamiquement sans avoir besoin d aucune information préalable sur la charge de travail des tâches soumises au système. L approche modélise le système de Grille sous la forme d un diagramme d état-transition, en employant l algorithme round-robin pour gérer les priorités des tâches et en répliquant quelques tâches pour ordonnancer les tâches de manière optimale. Cette approche utilise l estimation des informations sur l utilisation des ressources. B. Cas des Tâches dépendantes Il existe plusieurs travaux de placement dynamique des tâches dépendantes, parmi lesquels : Dans [Cht08], Maria Chtepen et al. proposent une méthode de placement dynamique pour des applications composées de tâches avec des dépendances, ces tâches sont représentées sous forme de DAGs, tenant compte de l état de la Grille et des estimations de tous les temps d exécution des tâches. L objectif de l algorithme proposé est de maximiser le nombre de travaux traités dans un intervalle de temps particulier, qui est réalisé au coût d une exécution plus lente de différentes tâches. L algorithme place les tâches dans l ordre de leur arrivée dans la Grille et de telle manière que les tâches parallèles finissent plus ou moins simultanément. L idée derrière cette approche est que les tâches ayant les mêmes dépendances s exécutent en même temps (autant que possible). Dans [Gom11], Gomathi et al. présentent un modèle d ordonnancement des tâches dans des environnements de Grille de calcul. Un algorithme d ordonnancement dynamique est proposé afin de maximiser l utilisation des ressources et minimiser les temps de traitement des tâches. L algorithme proposé est basé sur le groupement de tâches. Les résultats montrent que l algorithme d ordonnancement proposé réduit efficacement le temps de traitement des tâches. Falzon et Li proposent dans [Fal12] une évaluation de 12 heuristiques d ordonnancement des tâches dépendantes dans les environnements de Grille. Afin de faciliter l évaluation des performances, un simulateur de DAG est mis en œuvre qui fournit un ensemble d outils pour la configuration, l exécution et le suivi des tâches du DAG. 38

48 2.4. Conclusion 2.4 Conclusion Ce chapitre avait pour objectif de donner un aperçu sur l état de l art du domaine cible de cette thèse. La plupart des travaux de recherche se sont concentrés sur le placement des tâches indépendantes. Bien que de tels efforts de recherches puissent résoudre le problème de l hétérogénéité et de la dynamicité des ressources de la Grille, ils ne sont pas adaptables au problème de placement des tâches dépendantes. Dans le domaine des tâches avec contraintes de précédences, il existe plusieurs travaux. Bien qu ils visent à minimiser le temps de réponses des tâches soumises à la grille, ces travaux de recherches se révèlent utiles uniquement si on peut injecter suffisamment de connaissances dans le processus d ordonnancement et d application. En d autres termes, si les caractéristiques de la plate-forme cible (vitesses des processeurs et capacités des liens) et de l application cible (coût des calculs et des communications associés à chaque tâche) sont connues avec suffisamment de précision. Toutefois, nous nous intéressons à des systèmes fortement dynamique et très hétérogènes du point de vue plate-forme et applications, ces caractéristiques compliquent toute estimation préalable de cette connaissance, ce qui rend ces travaux de recherche inapplicable à ce type d infrastructure. Notre contribution consiste à proposer une stratégie hybride de placement de tâches, composée d un algorithme de placement de tâches statique et d un algorithme dynamique ; nous effectuons tout d abord un placement statique des tâches, ensuite nous le renforçons par un placement dynamique. On vise à réduire le temps de réponse globale du système et à respecter les dépendances des tâches. C est l objectif du chapitre suivant, qui va définir et présenter le model utilisé ainsi que la stratégie proposée. 39

49 Chapitre 3 Modèle et Stratégie proposés Sommaire 3.1 Introduction Modèle de la Grille Modèle de base Modèle générique Caractéristiques du modèle Représentation structurelle du modèle Stratégie de placement de tâches Phase initiale Stratégie de placement sans duplication de tâches Stratégie de placement avec duplication de tâches Caractéristiques de la stratégie Conclusion

50 3.1. Introduction 3.1 Introduction Dans les deux premiers chapitres, nous avons présenté l essentiel des notions et des techniques auxquelles nous aurons recours durant le reste de cette thèse. Dans ce chapitre, nous commencerons par une présentation détaillée du modèle hiérarchique que nous proposons pour représenter une grille de calcul. Ensuite, nous décrirons la stratégie de placement de tâches développée sur ce dernier. Cette Stratégie combine les deux algorithmes de placement statique et dynamique afin de minimiser le temps de réponse moyen des tâches tout en respectant les contraintes de précédences qui existent entre elles. 3.2 Modèle de la Grille L approche de placement de tâches pour les systèmes à large échelle, que nous proposons est basée sur la représentation d une Grille sous la forme d un modèle hiérarchique [Med10c] Modèle de base Le modèle de base représente une vue logique de la plus petite Grille possible, à savoir un seul cluster. Dans ce modèle, un cluster représente un ensemble de ressources informatiques homogènes reliées par un réseau local et localisées géographiquement dans une même organisation (Campus universitaire, Entreprise ou Personne individuelle). Noeud Element de calcul Element de stockage Element de calcul Noeud Noeud Element de stockage Element de calcul Réseau local (LAN) cluster Figure 3.1 Composants d un cluster Cet ensemble forme un domaine d administration autonome, uniforme et coordonné. D une façon générale, ces ressources sont regroupées pour former ainsi les nœuds d un cluster comme l illustre la Figure

51 3.2. Modèle de la Grille Pour le système de placement de tâches, le modèle de base est défini par un arbre à deux niveaux : une racine pour la gestion de la charge de tout le cluster et un ensemble de nœuds de travail. Ces derniers représentent les feuilles de l arbre et elles contiennent les éléments de calcul (EC) et / ou les éléments de stockage (ES) (Figure 3.2). Figure 3.2 Modèle de base associé à un cluster Modèle générique D un point de vue topologique, nous considérons qu une Grille de calcul (figure 3.3), est composée d un ensemble de clusters connectés à travers un réseau global WAN (World Area Network). Figure 3.3 Modèle général d une Grille de calcul 42

52 3.2. Modèle de la Grille Chaque cluster est composé d un ensemble de nœuds de calcul qui communiquent à travers un réseau local LAN (Local Area Network) et appartiennent au même domaine. L ensemble des ressources de calcul et moyens de communications peuvent être hétérogènes sur le plan des architectures, des systèmes d exploitation et des réseaux de communications [Yag10a]. Le modèle général (figure 3.4) permet de représenter une Grille en agrégeant G modèles de base. G est le nombre de cluster que comporte la Grille. A chaque niveau nous associons une fonction [Med11a] : Figure 3.4 Modèle général d une Grille Niveau 0 A ce niveau, nous trouvons le Resource Broker qui est connecté à tous les Gestionnaires de Cluster (GC ) de la Grille. Les utilisateurs envoient leurs tâches au Resource Broker. Ce dernier est responsable de : Recevoir un ensemble de tâches dépendantes et indépendantes soumises par les utilisateurs de la Grille, Décomposer le graphe des tâches en attente en x composantes connexes, Dupliquer certaines tâches, si il n y a pas de cluster capable de recevoir la composante connexe, Envoyer les tâches aux GCs de la Grille. 43

53 3.2. Modèle de la Grille Niveau 1 Chaque gestionnaire de cluster de ce niveau est associé à un cluster physique de la Grille. Dans notre stratégie, ce gestionnaire est responsable de : Recevoir les composantes connexes émises par le Resource Broker, Dupliquer certaines tâches, si il n existe pas de ressource capable de recevoir la composante connexe, Envoyer les tâches aux ressources, Maintenir les informations de charge de chacune de ses ressources, Estimer la charge de travail du cluster associé et la diffuser au autres GCs, Décider de lancer un placement de tâches dynamique local, que nous appellerons placement de tâches intra-cluster, Envoyer les décisions d équilibrage de charge aux ressources qu il gère pour exécution, Lancer un placement de tâches dynamique globale, que nous appellerons placement de tâches inter-clusters. Niveau 2 A ce niveau, nous trouvons les éléments de calcul de la Grille connectés à leur clusters respectives. Chaque nœud de ce niveau est responsable de : Maintenir ses informations de charge de travail, Envoyer ces information à son GC, Effectuer le placement de tâches décidé par son GC Caractéristiques du modèle Le modèle de placement de tâches proposé dans cette thèse, est une représentation hiérarchique qui présente un aspect coopératif dans la mesure où il se base sur l échange des informations entre entités qui présentent des intérêts communs telle que le placement global. La coopération consiste à échanger des informations entre les clusters par l intermédiaire de leurs gestionnaires respectifs. En outre, le modèle est extensible étant donné qu il est capable d intégrer de nouveaux clusters sans être obligé de reformuler ou de redimensionner ses constituants. Cette facilité de gestion favorise l utilisation de ce modèle dans les systèmes à large échelle [Med10a]. 44

54 3.2. Modèle de la Grille Les principales caractéristiques de notre modèle peuvent se résumer comme suit : La structure du modèle facilite les flux d informations à travers les nœuds de l arbre. En termes de flux d informations, nous distinguons trois types : 1. Flux montant : Ce flux concerne la circulation des informations de charge du niveau 2 (nœuds) vers le niveau 1 (gestionnaire de cluster correspondant). Grâce â ce flux, le gestionnaire du cluster pourra avoir une vue globale sur la charge du cluster. 2. Flux horizontal : Il concerne les informations nécessaires à l exécution des opérations du placement dynamique. Ce flux se trouve à deux niveaux, il permet un placement dynamique interne du cluster au niveau 2 et un placement dynamique global de la Grille au niveau 1 du modèle. En plus, ce flux véhicule les informations de charge entre les gestionnaires des clusters du niveau Flux descendant : Ce flux permet de véhiculer les décisions de placement prises par les gestionnaires de cluster aux niveaux 1 vers les nœuds du niveau 2. Et du niveau 0 (ressource broker) vers le niveau 1. La modélisation d une Grille en arbre s effectue par une transformation univoque. A chaque Grille correspond un et un seul arbre de représentation et ce quelque soit la complexité topologique de la Grille, Le modèle proposé supporte en termes de ressources : 1. La dynamicité puisque les connexions / déconnexion des utilisateurs sont de simples opérations d ajout / suppression des feuilles de l arbre, 2. L hétérogénéité car nous n avons imposé aucune contrainte aux nœuds de l arbre, 3. Le passage à l échelle (ajout et retrait d un élément de calcul, d un cluster). Le modèle proposé est composé uniquement de trois niveaux, quelque soit la complexité topologique d une Grille, 45

55 3.2.4 Représentation structurelle du modèle 3.2. Modèle de la Grille La représentation structurelle du modèle peut être schématisée par le diagramme UML de la Figure 3.5. Figure 3.5 Diagramme de classes associé au modèle Le diagramme de classes associé au modèle proposé comporte douze classes reliées comme suit : La classe Modèle est reliée par une relation d agrégation aux classes Niveau 2, Niveau 1 et Niveau 0, La classe Niveau 0 contient un et un seul Ressource Broker, La classe Niveau 1 contient un ou plusieurs gestionnaires de clusters qui héritent de la classe Nœud, 46

56 3.3. Stratégie de placement de tâches La classe Niveau 2 contient un ou plusieurs clusters, La classe Nœud est reliée par une relation d agrégation à la classe cluster, un Nœud peut être associé à un ou plusieurs utilisateurs, et chaque utilisateur peut soumettre une ou plusieurs tâches. Une tâche appartient à une et une seule composante connexe. La classe Elément de calcul est reliée à la classe Nœud par une relation d agrégation, La classe Ressource Broker, place une ou plusieurs composantes connexes sur un ou plusieurs clusters. 3.3 Stratégie de placement de tâches On vise à réduire le temps de réponse globale du système et à respecter les dépendances des tâches, Nous proposons une stratégie de placement de tâches hybride, composée d un algorithme de placement de tâches statique et d un algoritme dynamique. Dans le cas statique, lorsqu un utilisateur envoie ses tâches, elles seront affectées à des éléments de calcul pour atteindre l objectif de placement. Dans le cas dynamique, le système sera ajusté de façon dynamique en fonction de la charge de travail des clusters [Med10b, Yag10b, Med10d] Phase initiale Cette phase est représentée par un Resource Broker (ordonnanceur) inactif attendant l arrivée des tâches soumises à la Grille. Les tâches entrantes sont alignées dans une file d attente initialement vide Stratégie de placement sans duplication de tâches A. Placement statique Notre objectif est de maximiser les dépendances des tâches au sein de chaque cluster et de les réduire au minimum entre les clusters. Ressource Broker Le rôle du ressource broker RB dans le système consiste à attribuer les tâches placées dans la file d attente d une façon statique. Pour cela, nous proposons les mesures suivantes qui seront exécutés périodiquement [Med11b, Med10e, Med10f]. Regrouper les tâches en x composantes connexes en exécutant l algorithme des composantes connexes (Voir l algorithme 4.1). 47

57 3.3. Stratégie de placement de tâches Une composante connexe est définie comme une collection de tâches dépendantes. La figure 3.6 montre un exemple composé de trois composantes connexes. T 3 T1 T2 T 6 T T 4 5 T 7 T 8 Figure 3.6 Exemple de trois composantes connexes Envoyer chaque composante connexe CC k à un gestionnaire de cluster GC i en utilisant une des trois méthodes suivantes : 1. En utilisant une stratégie aléatoire Placer une composante connexe sur un cluster aléatoire. 2. En utilisant une stratégie round robin, comme suit (CC 1, GC 1 ), (CC 2, GC 2 ),..., (CC P, GC n ), (CC p+1,gc 1 ),...,(CC x, GC j ) 3. En utilisant la stratégie Min-Min Sélectionner la composante connexe CC K qui a la plus grande taille, Calculer le temps moyen d exécution moyen de la Grille, T ex G = i N LOD i i N SP D (3.1) i Où : N représente le nombre de gestionnaires de cluster dans la Grille, Lod i la charge de travail du gestionnaire de cluster GC i et Spd i sa vitesse moyenne d exécution. Calculer l offre de chaque gestionnaire de clusters GC r qui correspond à la charge qu il accepte de recevoir de telle sorte que son temps d exécution T EX r converge vers T EX G, Offre r = LOD G SP D r SP D G LOD r. (3.2) Envoyer la composante connexe CC K au gestionnaire du cluster avec la plus grande offre. 48

58 3.3. Stratégie de placement de tâches Répéter les étapes précédentes jusqu au placement de toutes les composantes connexes. Gestionnaire de cluster Après avoir reçu les composantes connexes du ressource broker, le gestionnaire de cluster GC i place chaque composante connexe CC k sur un élément de calcul EC ji appartenant au cluster en utilisant une des trois méthodes suivantes : 1. stratégie aléatoire 2. stratégie round robin, comme suit (CC 1, EC 1i ), (CC 2, EC 2i ),..., (CC P, EC ni ), (CC p+1,ec 1i ),...,(CC x, EC ji ) 3. stratégie Min-Min Sélectionner la composante connexe CC K qui a la plus grande taille, Calculer le temps moyen d exécution moyen du cluster, j CNE T ex i = i LOD ji (3.3) j CNE i SP D ji Où : CNE représente le nombre d élément de calcul dans le cluster, Lod ji la charge de travail de l élément de calcul EC ji et Spd ji sa vitesse moyenne d exécution. Calculer l offre de chaque élément de calcul EC ji qui correspond à la charge qu il accepte de recevoir de telle sorte que son temps d exécution T EX ji converge vers T EX i, Offre ji = LOD i SP D ji SP D i LOD ji. (3.4) Envoyer la composante connexe CC K vers l élément de calcul avec la plus grande offre. Répéter les étapes précédentes jusqu au placement de toutes les composantes connexes. L algorithme 4.3 décrit les différentes étapes du placement statique. Placement dynamique Elément de calcul L élément de calcul, exécute les étapes suivantes tant que sa file d attente n est pas vide : 49

59 3.3. Stratégie de placement de tâches Exécuter la première tâche prête à être exécutée T j (qui n a pas de contraintes de précédence à satisfaire) dans sa file d attente. Mettre à jour la composante connexe CC j associé à la tâche T j. L élément de calcul exécute les étapes suivantes périodiquement : Exécute l algorithme des composantes connexes sur CC j pour obtenir les nouvelles tâches prêtes à être exécutées. La figure 3.7 montre un exemple d une composante connexe qui possède une tâche prête à être exécutée. Après l exécution de T j, CC j est divisé en trois composantes connexes. T 1 T 2 T2 T3 T6 T 3 T6 T T 4 5 T 7 T4 T5 T7 Figure 3.7 Exemple d une seule composante connexe Calcule son temps d exécution tex ji comme suit : T ex ji = c CCN ji l L k P lenght c,k Spd ji (3.5) Où, CCN est le nombre de composantes connexes assignées à l élément de calcul. L est le niveau de la composante connexe, et P est le nombre de tâches du niveau k. Envoie son temps d exécution au gestionnaire du cluster et à tous les éléments de calcul du même cluster. Nous définissons un seuil α, à partir duquel un élément de calcul EC ji peut dire qu il est plus chargé qu un l autre. Si (T ex ji > T ex ki + α) alors Equilibrage Intra cluster : transférer certaines composantes connexes (En commençant par la première composante en attente dans la fille vers la dernière) à partir de EC ji vers EC ki jusqu à ce que T ex ji <= α + T ex ki. Informent le gestionnaire du cluster du mouvement de tâches. Gestionnaire de cluster Le Gestionnaire reçoit périodiquement le temps d exécution de chaque ressource du cluster et exécute les étapes suivantes : 50

60 Calcule le temps d exécution du cluster C i comme suit : T ex i = j CNE 3.3. Stratégie de placement de tâches T ex ij (3.6) Nous définissons un seuil β, comme suit : Si (T ex i > T ex k + β) alors Equilibrage Inter clusters : transférer quelques composantes connexes (En commençant par la première composante en attente dans la fille vers la dernière) de C i vers C k jusqu à ce que T ex i <= T ex k + β. Les algorithmes 4.4 et 4.5 décrivent les différentes étapes du placement dynamique Stratégie de placement avec duplication de tâches La stratégie proposée ci-dessus ne prend pas en considération la capacité des nœuds ; ainsi un nœud peut ne pas pouvoir accepter toute une composante connexe si la taille de celle ci est importante. Cette stratégie propose de dupliquer certaine tâches appartenant à une composante connexe de taille importante (c.à.d. qu il n existe pas de nœud qui peut l exécuter) pour former de plus petite composantes connexes et les placer sur différent nœuds. On vise à réduire le temps de réponse globale du système et en même temps à respecter les dépendances des tâches. Placement statique Le ressource broker assigne les tâches aux gestionnaire de cluster qui les attribuent à ses éléments de calcul. Le ressource broker (resp. gestionnaire de cluster) effectue les étapes suivantes : Recevoir l état de chaque gestionnaire de cluster (resp. élément de calcul), Partitionner toutes les tâches en attente en x composantes connexes en exécutant l algorithme des composantes connexes, Envoyer chaque composante connexe CC k à un gestionnaire de cluster GC i (resp. élément de calcul Ce ij ), en utilisant la méthode suivante : 1. Sélectionner la première composante connexe CC k qui a la plus grande taille, 2. Recevoir le temps d exécution moyen de chaque gestionnaire de cluster (resp. élément de calcul), 3. Envoyer la composante connexe CC k au gestionnaire de cluster GC i (resp. élément de calcul Ce ij ) qui possède le plus petit temps d exécution, 51

61 3.3. Stratégie de placement de tâches 4. Si la capacité du gestionnaire de cluster GC i (resp. élément de calcul Ce ij ), est inférieure à la taille de la composante connexe CC k, il faut décomposer la composante connexe pour obtenir des composantes connexes d une taille inférieure. La décomposition du graphe (resp. composante connexe) se fait en dupliquant quelques tâches en suivant les étapes suivantes : Chaque composante connexe est décomposée en plusieurs niveaux où chaque niveau se compose de tâches indépendantes. T 1 Niveau 0 T T 2 3 Niveau 1 T T T Niveau 2 Figure 3.8 Niveaux d une composante connexe Niveau 0, contient les tâches d entrées (sans contraintes de précédence). Les tâches du niveau 0 génèrent des données utilisées comme des entrées aux tâches du niveau 1. la figure 3.8 montre une composante connexe de 3 niveaux où le niveau 0 se compose d une seule tâche. Parcourir le graphe à partir de la racine jusqu à trouver un nœud (N i ) caractérisé par [une seule entrée, plus d une sortie (2 sortie au minimum)], Dupliquer le graphe à partir de ce nœud pour construire plusieurs composantes connexes tel que : Chaque sous arbre successeur de ce nœud dans une composante connexe. On ajoute la partie prédécesseur de ce nœud à l une de ses composantes connexes. On obtient comme résultat plusieurs sous composantes connexes de taille inferieure (voir la figure 3.9). 5. Répétez les étapes précédentes jusqu au placement de toutes les composantes connexes. 52

62 3.3. Stratégie de placement de tâches Figure 3.9 Exemple de duplication L algorithme 4.6 décrit les différentes étapes du placement dynamique. Placement dynamique Nous avons gardé la même stratégie de placement dynamique définie précédemment. Le ressource broker (resp. gestionnaire de cluster) peut dupliquer les tâches si le gestionnaire (resp. élément de calcul) n a pas une capacité suffisante pour recevoir la composante connexe Caractéristiques de la stratégie La stratégie proposée présente les caractéristiques suivantes : 1. Stratégie de placement asynchrone : chaque élément de calcul (resp. gestionnaire de cluster) à sa propore période, durant laquelle il envoi ses informations de charge aux autres nœuds. 2. Stratégie de placement distribuée : dans la mesure où plusieurs opérations de placement peuvent être déclenchées en utilisant des informations de charge locales par rapport aux éléments qui composent une grille. 3. Stratégie de placement à source initiative : le placement de tâches inter-clusters est déclenché par les clusters surchargés (source). 4. Réduit le coût de communication : puisqu elle donne le privilège quand cela est possible, à un placement dynamique local pour éviter le recours au réseau de communication à grande échelle. 53

63 3.4. Conclusion 3.4 Conclusion Dans ce chapitre nous avons présenté le modèle dynamique que nous proposons. Ce modèle est totalement indépendant de toute topologie physique d une grille de calcul. Ce modèle est composé de trois niveaux quelque soit la complexité topologique de la grille. Dans le but de minimiser le temps de réponse moyen des tâches soumises à la grille, de réduire les coûts de communication lors d un transfert de tâches et de prendre en compte les contraintes de précédence entre tâches, nous avons proposé une stratégie de placement de tâches qui privilégie un équilibrage local pour éviter le recours aux communications inter-clusters et qui regroupe les tâches en composantes connexes pour minimiser le temps de transfert des dépendances. Nous avons présenté une stratégie avec duplication de tâches dans le cas ou aucun cluster ne peut accepter la composante connexe suite à sa grande taille. Dans ce cas, nous proposons de dupliquer certaines tâches appartenant à une composante connexe de taille importante pour former de plus petite composantes connexes et les placer par la suite sur différents nœuds. 54

64 Chapitre 4 Etude expérimentale Sommaire 4.1 Introduction Algorithmes associés à la stratégie de placement Stratégie de placement sans duplication de tâches Stratégie de placement avec duplication de tâches Implémentation Gridsim Environnement d expérimentation Stratégie de placement sans duplication de tâches Stratégie de placement avec duplication de tâches Conclusion

65 4.1. Introduction 4.1 Introduction Afin de valider et d évaluer notre approche de placement de tâches, nous avons effectué une série d expérimentations dont les résultats et les interprétations font l objet du présent chapitre. Nous commencerons d abord par donner les algorithmes associés à la stratégie. Ensuite, nous allons fixer l environnement dans lequel nous avons réalisé nos expérimentations, et définir les métriques et les notations que nous avons utilisées, et enfin nous discuterons et analyserons les résultats que nous avons obtenus. 4.2 Algorithmes associés à la stratégie de placement Dans cette section, nous allons définir les différents algorithmes associés à la stratégie de placement. Nous commencerons par la stratégie sans duplication de tâches, ensuite celle avec duplication de tâches Stratégie de placement sans duplication de tâches 1: Procedure DFS(int v) // v étant le sommet de départ 2: Debut 3: marquer [v] = 1 4: pour chaque sommet w adjacent à v faire 5: Si marquer [w] = 0 alors 6: DFS(w) 7: Fin Si 8: Fin pour 9: Fin Algorithme 4.1 : Parcours en profondeur d abord (Depth First Search, DFS). Entrées : Un graphe G = (X ;A) //X : ensemble des sommets, A :ensemble d arêtes Sorties : liste des composantes connexes 1: pour i = 1 à n faire marquer(i) = 0 2: Fin pour 3: pour pour i = 1 à n faire 4: Si marquer(i) = 0 alors 5: DFS(i) 6: restituer le sous graphe visité par DFS //formant une composante connexe 7: Fin Si 8: Fin pour Algorithme 4.2 : Algorithme utilisé pour déterminer les composantes connexes. 56

66 4.2. Algorithmes associés à la stratégie de placement Remarque : n représente le nombre de tâches. 1: Debut 2: Le ressource broker décompose le graphe d entrée en composantes connexes. 3: pour chaque ressource broker (resp. gestionnaire de cluster) faire 4: choisir aléatoirement une des trois methodes : 5: pour chaque CC k faire 6: Affecter CC k à un GC i (resp. EC ji ) aleatoire 7: Affecter CC k à un GC i (resp. EC ji ) en appliquant la stratégie round robin 8: Affecter CC k à un GC i (resp. EC ji ) en appliquant la stratégie Min-Min : 9: Classer les CC k par ordre décroissant suivent leur taille 10: Calculer le temps d exécution moyen de la grille (resp. du cluster) 11: Calculer l offre de chaque gestionnaire (resp. EC ji ) 12: Affecter CC k à GC i (resp. EC ji ) 13: Fin pour 14: Fin pour 15: Fin Algorithme 4.3 : Algorithme de placement statique. 1: Debut 2: pour chaque Elément de calcul faire 3: Tant que File d attente et pour chaque période de temps faire 4: Exécuter l algorithme des composantes connexes 5: Calculer T EX ji 6: Envoyer T EX ji au Gestionnaire de cluster GC i ainsi qu à tous ses voisins 7: Si T EX ji > T EX ki + α alors 8: Transférer des composantes connexes de EC ji vers EC ki jusqu à ce que T ex ji <= α + T ex ki. 9: Fin Si 10: Fin Tant que 11: Fin pour 12: Fin Algorithme 4.4 : Algorithme de placement dynamique intra-cluster. 57

67 4.2. Algorithmes associés à la stratégie de placement 1: Debut 2: pour chaque Gestionnaire de cluster faire 3: pour chaque période de temps faire 4: recevoir le temps d exécution de chaque elément de calcul du cluster 5: Calculer T EX i 6: Envoyer T EX i à tous les Gestionnaires de cluster de la grille 7: Si T EX i > T EX k + β alors 8: Transférer des composantes connexes de GC i vers GC k jusqu à ce que T ex i <= β + T ex k. 9: Fin Si 10: Fin pour 11: Fin pour 12: Fin Algorithme 4.5 : Algorithme de placement dynamique inter-clusters Stratégie de placement avec duplication de tâches 1: Debut 2: pour chaque ressource broker (resp. gestionnaire de cluster) faire 3: calculer et classer les capacités des GC i (resp. EC ji ) par ordre décroissant 4: Tant que File d attente faire 5: classer les CC k par ordre décroissant suivent leur taille 6: Si Capacité (GC i (resp. EC ji )) >taille CC k alors 7: Affecter CC k à GC i (resp. EC ji ) 8: Sinon 9: Dupliquer quelques tâches de CC k 10: Fin Si 11: Fin Tant que 12: Fin pour 13: Fin Algorithme 4.6 : Algorithme de placement statique avec duplication. 58

68 4.3. Implémentation 4.3 Implémentation L étude du comportement d un système peut se faire selon plusieurs approches. La première est la méthode analytique qui se base sur la modélisation mathématique et l utilisation des démonstrations pour prouver qu une configuration est meilleure qu une autre. Mais avec des systèmes complexes, les modélisations et les démonstrations mathématiques deviennent très difficiles voir impossibles. Par conséquent, la deuxième méthode qui est l expérimentation, est utilisée. Cette approche consiste à expérimenter directement différentes solutions afin de trouver la meilleure d entre elles. L expérimentation peut, à son tour, devenir contraignante si nous voulons expérimenter des systèmes qui nécessitent des moyens importants dont le coût peut être très lourd ou des systèmes qui font intervenir plusieurs paramètres qui font que les conditions expérimentales ne soient pas les mêmes. Dans ce cas, la troisième méthode, qui est la simulation, représente un bon outil. La simulation ne nécessite pas de grands moyens, et permet d itérer autant que nécessaire les expériences tout en ayant les mêmes conditions expérimentales [Kal09]. Il existe de nombreux simulateurs de grille parmi lesquels nous pouvons citer : Bricks [Tak99] (Takefusa et al., 2001), pour la simulation des systèmes du type client-serveur, OptorSim [Bel03] (Bell et al., 2003), conçu pour l étude d algorithmes d ordonnancement traitant spécifiquement de la réplication ou de la migration de données, GridSim [Buy02] (Buyya et al., 2002) et Simgrid [Cas01] (Legrand et al., 2003), des outils de modélisation de ressources de calcul et réseau, et de simulation d algorithmes d ordonnancement de grille. Pour étudier le comportement de notre stratégie de placement, nous l avons intégré dans le simulateur GridSim Gridsim Gridsim est une plate-forme de développement de simulateurs, développée à l université de Monash en Australie depuis Gridsim est une bibliothèque de fonctions implémentée en java, l utilisateur utilise ces fonctions pour développer son propre simulateur. Gridsim permet de définir tous les éléments d un environnement de calcul : les clients, les éléments de calculs, les liens et les tâches. Il gère aussi les messages qui circulent dans cet environnement et il permet d accéder aux informations essentielles de la simulation, à savoir, l état des ressources et la durée d exécution d une tâche. 59

69 4.3. Implémentation Architecture 1. Utilisateur : Chaque utilisateur diffère du reste des utilisateurs par : Types des travaux créés, par exemple le temps d exécution du travail, nombre de réplication, etc... Stratégie d optimisation, par exemple minimisation du coût de transfert, du temps d exécution, ou des deux, Fuseau horaire. 2. Broker : Chaque utilisateur est relié à un broker. Chaque travail d un utilisateur est d abord soumis à son broker. Avant d ordonnancer les tâches, le broker obtient dynamiquement une liste des ressources disponibles, cette liste est fournie par le service d information de la grille. Chaque broker essaye d optimiser la politique de son utilisateur et donc, on s attend à ce que les brokers fassent concurrence en accédant aux ressources. 3. Resource : Chaque ressource peut différer du reste des ressources par : Coût de traitement, Nombre de processeurs, Vitesse de traitement, Fuseau horaire. La vitesse des ressources et le temps d exécution du travail sont exprimés en MIPS (Million d instructions par seconde). Les données associées à chaque tâche sont : Taille exprimée en MI (Million d instructions), Temps d exécution cumulé, Temps d attente cumulé, Date d arrivée, Date début d exécution. 4. Service d information de grille : Fournit des services d enregistrement des ressources et maintient une liste des ressources disponibles dans la grille. Ce service est utilisé par les brokers pour obtenir la configuration et le statut des ressources. 5. Entrée et sortie : Le flux d information entre les entités de GridSim circule via les Entités d entrée et de sortie. Comme le simulateur GridSim ne permet pas de simuler, directement, notre stratégie d équilibrage, nous avons procédé à des modifications pour l adapter à nos besoins. Ces modifications ont le plus souvent porté sur l ajout de nouvelles classes JAVA et sur la surcharge de certaines méthodes. 60

70 4.3. Implémentation Figure 4.1 Structure du système GridSim Environnement d expérimentation L environnement dans lequel nous avons réalisé nos différentes expérimentations est défini par les éléments suivants : 1. Environnement matériel et logiciel : Toutes ces expériences ont été effectuées sur un PC 3 GHz Pentium IV, avec 1 Go de mémoire et fonctionne sur Linux Redhat Environnement de développement : Nous avons utilisé le langage Java. 3. Nombre d expérimentations : Pour chaque série d expérimentations, et afin d obtenir des résultats viables, nous avons répété chaque expérience cinq fois. Nous avons supposé que chaque cluster contient trente (30) nœuds. Pour chaque nœud, nous avons généré aléatoirement les spécificités techniques des composants (vitesse et capacité) et des tâches selon les hypothèses suivantes : 61

71 4.3. Implémentation 1. Génération de vitesses des éléments de calcul variant entre 5 et 30 MIPS, 2. Génération de tailles des tâches de manière aléatoire entre 1000 et MI (millions d instructions) 3. Les valeurs attribuées aux seuils ont été estimées sur la base d un historique réalisé après plusieurs expériences. Nous avons constaté que les meilleurs résultats sont obtenus pour α = 0.6, β = 1. Comme mesures de performance, nous sommes intéressés par le temps de réponse et le temps d attente moyen des tâches. Nous calculons les métriques ci-dessus avant et après l exécution de notre stratégie. Nous calculons les gains comme suit : Gain = T emps avant execution T emps apres execution T emps avant execution de la strategie Stratégie de placement sans duplication de tâches Première expérience Dans la première série d expériences, nous avons utilisé le simulateur SimGrid [Cas01] pour tester notre stratégie statique (sans placement dynamique). Table 4.1 Résultats et gains sur le temps de réponse (en unité de 10 4 seconde) # Clusters # Tâches Avant Après Gain 28% 30% 36% Avant Après Gain 1% 39% 45% Avant Après Gain 1% 43% 46% Avant Après Gain 1% 46% 48% Avant Après Gain 4% 48% 49% 62

72 4.3. Implémentation SimGrid est un outil écrit en langage C et conçu pour tester des algorithmes d ordonnancement dans les Grilles de calcul et / ou la mise en œuvre d applications distribuées. Il génère des plates-formes comprenant des clusters 2, 3 ou 4. Le nombre de processeurs dans chaque cluster est choisi au hasard entre 16 et 24. Le tableau 4.1 montre les résultats obtenus, nous pouvons remarquer que le gain augmente progressivement avec l augmentation du nombre de tâches et des clusters allant de 1 % à 49%. Cela signifie que le temps de décomposition du graphe d entrée n a pas d influence négative sur la stratégie proposée. Deuxième expérience Dans cette série d expériences nous nous sommes concentrés sur résultats relatifs aux métriques de performance, en variant le nombre de tâches et de clusters. Nous avons varié le nombre des clusters de 2 à 6 par pas de 2. Le nombre de tâches a été modifié de 500 à 2000 par pas de 500. Nous avons également généré au hasard des contraintes de précédence entre les tâches. Nous examinerons les gains obtenus par notre stratégie (placement dynamique compris). Table 4.2 Résultats du temps de réponse (en unité de 10 7 seconde) # Clusters # Tâches Avant Après Gain 23% 19% 20% 23% 19% Avant Après Gain 29% 34% 6% 29% 36% Avant Après Gain 55% 36% 23% 53% 33% Avant Après Gain 36% 26% 38% 38% 28% Avant Après Gain 16% 35% 31% 45% 22% Avant Après Gain 52% 27% 78% 10% 7% Le tableau 4.2 montre la variation du temps de réponse moyen avant et après l exécution de la stratégie. Nous pouvons noter les remarques suivantes : 63

73 4.3. Implémentation La stratégie proposée a permis de réduire dans de manière très claire le temps de réponse moyen des tâches. Nous obtenons un gain variant entre 6 % et 55 %. Dans plus de 90 % des cas, cette amélioration est plus grande que 20 %. Les moins bons résultats ont été obtenus lorsque le nombre de clusters est égal à 10. Nous pouvons justifier cela par l instabilité de l état de la Grille (La plupart des nœuds sont sous-chargés). Les meilleurs gains ont été réalisés lorsque la Grille est dans un état stable : 2, 4, 6, 8 clusters. La figure 4.2 illustre la variation du temps de réponse moyen pour 4 clusters : Figure 4.2 Résultats du temps de réponse (4 clusters) Nous observons que notre stratégie réduit considérablement le temps de réponse moyen des tâches soumises au système. Lorsqu on augmente le nombre de tâches, les résultats du temps de réponse augmentent. Les gains les plus bas sont obtenus avec un nombre de tâches égale à 500, cela est due à un état sous-chargé de la Grille (le nombre de tâches est assez faible par rapport au nombre de nœuds). Troisième expérience Le tableau 4.3 montre que le temps moyen d attente des tâches est nettement amélioré par notre stratégie. Les gains sur le temps d attente varient entre 23% et 62%, ces résultats sont prometteurs dans l état actuel de notre stratégie. 64

74 4.3. Implémentation Table 4.3 Résultats du temps d attente (en unité de 10 7 seconde) # Clusters # Tâches Avant Après Gain 35% 54% 62% 55% 59% Avant Après Gain 36% 37% 47% 12% 27% Avant Après Gain 38% 40% 38% 43% 42% Avant Après Gain 23% 24% 24% 28% 24% Avant Après Gain 14% 18% 18% 19% 21% Quatrième expérience Dans cette série d expériences, nous avons modifié l algorithme exécuté par le gestionnaire de cluster ; Au lieu d assigner les tâches par composantes connexes au sein du cluster, le gestionnaire attribue les tâches une par une en tenant en compte des contraintes de précédence qui les relient (c est donc un placement par tâches, et non pas par composantes connexes). Une fois que le gestionnaire de cluster reçoit la composante connexe CC k, il l affecte selon l une des méthodes suivantes : Affecter la première tâche prête à être exécutée et au moins une de ses successeurs à un élément de calcul choisi de manière aléatoire, ensuite affecter les autres tâches aux autres éléments de calcul du même cluster (Figure 4.3) Figure 4.3 Méthode 1 65

75 4.3. Implémentation Affecter toutes les tâches prêtes à être exécutées (sans contrainte de précédence à satisfaire) de façon aléatoire aux éléments de calcul du même cluster. Après leur exécution, le gestionnaire détermine et affecte les nouvelles tâches prêtes à être exécutées et ainsi de suite jusqu a l exécution de toutes les taches soumises au système (Figure 4.4). Figure 4.4 Méthode 2 Nous avons comparé les résultats obtenus par les deux méthodes présentées ci dessus avec la méthode d affectation par composante connexe. Les résultats obtenus, nous ont permis de déduire que la première méthode a donné les meilleurs gains en termes de temps de réponse (Figure 4.5). Figure 4.5 Gains obtenus sur le temps de réponse moyen basé sur le nombre de clusters (2000 tâches) Stratégie de placement avec duplication de tâches La performance de notre stratégie a été comparée avec l algorithme HEFT[Med11c] (cité précédemment(voir l algorithme suivant)). Du tableau tableau 4.4, on peut voir que la stratégie proposée a permis de réduire de façon très claire le temps de réponse moyen de tâches. Nous obtenons un gain variant entre 2% et 90%. 66

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

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBLITÉ CONTINUE ET MOBILITÉ DES DONNÉES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

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

La surveillance réseau des Clouds privés

La surveillance réseau des Clouds privés La surveillance réseau des Clouds privés Livre blanc Auteurs : Dirk Paessler, CEO de Paessler AG Gerald Schoch, Rédactrice technique de Paessler AG Publication : Mai 2011 Mise à jour : Février 2015 PAGE

Plus en détail

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr http://www.metz.supelec.

3A-IIC - Parallélisme & Grid GRID : Définitions. GRID : Définitions. Stéphane Vialle. Stephane.Vialle@supelec.fr http://www.metz.supelec. 3A-IIC - Parallélisme & Grid Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Principes et Objectifs Evolution Leçons du passé Composition d une Grille Exemple d utilisation

Plus en détail

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

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters FAMILLE EMC VPLEX Disponibilité continue et mobilité des données dans et entre les datacenters DISPONIBILITE CONTINUE ET MOBILITE DES DONNEES DES APPLICATIONS CRITIQUES L infrastructure de stockage évolue

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

Introduction aux applications réparties

Introduction aux applications réparties Introduction aux applications réparties Noël De Palma Projet SARDES INRIA Rhône-Alpes http://sardes.inrialpes.fr/~depalma Noel.depalma@inrialpes.fr Applications réparties Def : Application s exécutant

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

ACCESSNET -T IP Technique système TETRA d Hytera. www.hytera.de

ACCESSNET -T IP Technique système TETRA d Hytera. www.hytera.de Technique système TETRA d Hytera est la solution complète et performante pour toutes les applications de la téléphonie mobile professionnelle. www.hytera.de Bref aperçu Pour une communication TETRA professionnelle

Plus en détail

Technologie de déduplication de Barracuda Backup. Livre blanc

Technologie de déduplication de Barracuda Backup. Livre blanc Technologie de déduplication de Barracuda Backup Livre blanc Résumé Les technologies de protection des données jouent un rôle essentiel au sein des entreprises et ce, quelle que soit leur taille. Toutefois,

Plus en détail

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

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing Les Clusters Les Mainframes Les Terminal Services Server La virtualisation De point de vue naturelle, c est le fait de regrouper

Plus en détail

Optimisation WAN de classe Centre de Données

Optimisation WAN de classe Centre de Données Optimisation WAN de classe Centre de Données Que signifie «classe centre de données»? Un nouveau niveau de performance et d'évolutivité WAN Dans le milieu de l'optimisation WAN, les produits de classe

Plus en détail

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Real Application Clusters (RAC)

Pour les entreprises de taille moyenne. Descriptif Produit Oracle Real Application Clusters (RAC) Pour les entreprises de taille moyenne Descriptif Produit Oracle Real Application Clusters (RAC) POURQUOI VOTRE ENTREPRISE A BESOIN DE CLUSTERISER LES SERVEURS La continuité opérationnelle est cruciale

Plus en détail

Cours n 12. Technologies WAN 2nd partie

Cours n 12. Technologies WAN 2nd partie Cours n 12 Technologies WAN 2nd partie 1 Sommaire Aperçu des technologies WAN Technologies WAN Conception d un WAN 2 Lignes Louées Lorsque des connexions dédiées permanentes sont nécessaires, des lignes

Plus en détail

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

Virtual Data Center d Interoute. Prenez la main sur votre Cloud. Virtual Data Center d Interoute. Prenez la main sur votre Cloud. Faites évoluer vos ressources informatiques à la demande Choisissez la localisation d hébergement de vos données en Europe Le réseau européen

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

Pourquoi OneSolutions a choisi SyselCloud

Pourquoi OneSolutions a choisi SyselCloud Pourquoi OneSolutions a choisi SyselCloud Créée en 1995, Syselcom est une société suisse à capitaux suisses. Syselcom est spécialisée dans les domaines de la conception, l intégration, l exploitation et

Plus en détail

Description des UE s du M2

Description des UE s du M2 Parcours en deuxième année Unités d Enseignement (UE) ECTS Ingénierie des réseaux haut 4 débit Sécurité des réseaux et 4 télécoms Réseaux mobiles et sans fil 4 Réseaux télécoms et 4 convergence IP Infrastructure

Plus en détail

Les Fiches thématiques Jur@tic. Services et Logiciels à distance Cloud Computing, ASP, SaaS

Les Fiches thématiques Jur@tic. Services et Logiciels à distance Cloud Computing, ASP, SaaS Les Fiches thématiques Jur@tic Services et Logiciels à distance Cloud Computing, ASP, SaaS Les Fiches thématiques Jur@TIC 1. Le principe du «Cloud» Qu on les appelle Application Service Provider (ASP),

Plus en détail

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication Chapitre VII : Principes des réseaux Structure des réseaux Types de réseaux La communication Les protocoles de communication Introduction Un système réparti est une collection de processeurs (ou machines)

Plus en détail

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE

SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE PUBLICATION CPA-2011-102-R1 - Mai 2011 SÉCURISATION DES CONNEXIONS À DISTANCE SUR LES RÉSEAUX DE CONTRÔLE Par : François Tremblay, chargé de projet au Centre de production automatisée Introduction À l

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

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes.

Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience, et de tolérance aux pannes. PROJET «EBAY» V1 MANUEL ROLLAND, SCIA 2009, REMIS LE 7 MARS 2008 1. Rappels sur le projet : Proposition d une architecture pour ebay, en mettant l accent sur les notions de scalabilité, de résilience,

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

1 LE L S S ERV R EURS Si 5

1 LE L S S ERV R EURS Si 5 1 LES SERVEURS Si 5 Introduction 2 Un serveur réseau est un ordinateur spécifique partageant ses ressources avec d'autres ordinateurs appelés clients. Il fournit un service en réponse à une demande d un

Plus en détail

Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization)

Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization) Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization) Préparé par : Zeus Kerravala Les cinq raisons majeures pour déployer SDN et NFV NetworkWorld,

Plus en détail

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks)

Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks) Les RPV (Réseaux Privés Virtuels) ou VPN (Virtual Private Networks) TODARO Cédric Table des matières 1 De quoi s agit-il? 3 1.1 Introduction........................................... 3 1.2 Avantages............................................

Plus en détail

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

Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain? DOSSIER SOLUTION Solution CA Virtual Placement and Balancing Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain? agility made possible La solution automatisée

Plus en détail

Consolidation de stockage

Consolidation de stockage (Information sur la technologie Sto-2003-2) Wolfgang K. Bauer Spécialiste stockage Centre de compétence transtec AG Waldhörnlestraße 18 D-72072 Tübingen Allemagne TABLE DES MATIÈRES 1 RÉSUMÉ...3 2 INTRODUCTION...4

Plus en détail

CORBA haute performance

CORBA haute performance CORBA haute performance «CORBA à 730Mb/s!» Alexandre DENIS PARIS/IRISA, Rennes Alexandre.Denis@irisa.fr Plan Motivations : concept de grille de calcul CORBA : concepts fondamentaux Vers un ORB haute performance

Plus en détail

La surveillance centralisée dans les systèmes distribués

La surveillance centralisée dans les systèmes distribués La surveillance centralisée dans les systèmes distribués Livre blanc Auteur : Daniel Zobel, du service Documentation et Support de Paessler AG Date de publication : août 2010 Dernière révision : janvier

Plus en détail

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr

ViSaGe. Virtualisation du Stockage dans les Grilles. Informatiques. RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr 1 ViSaGe Virtualisation du Stockage dans les Grilles Informatiques RenPar 16, 6-8 Avril 2005 Thiebolt François thiebolt@irit.fr IRIT Projet RNTL labellisé pré-compétitif Solution ViSaGe ViSaGe Accès transparent

Plus en détail

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. Slimane.bah@emi.ac.ma

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine 24.2. Slimane.bah@emi.ac.ma Ecole Mohammadia d Ingénieurs Systèmes Répartis Pr. Slimane Bah, ing. PhD G. Informatique Semaine 24.2 1 Semestre 4 : Fev. 2015 Grid : exemple SETI@home 2 Semestre 4 : Fev. 2015 Grid : exemple SETI@home

Plus en détail

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction Plan du cours Autres modèles pour les applications réparties Introduction Riveill@unice.fr http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant

Plus en détail

Technologie SDS (Software-Defined Storage) de DataCore

Technologie SDS (Software-Defined Storage) de DataCore Technologie SDS (Software-Defined Storage) de DataCore SANsymphony -V est notre solution phare de virtualisation du stockage, dans sa 10e génération. Déployée sur plus de 10000 sites clients, elle optimise

Plus en détail

1. Introduction à la distribution des traitements et des données

1. Introduction à la distribution des traitements et des données 2A SI 1 - Introduction aux SI, et à la distribution des traitements et des données Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Support de cours élaboré avec l aide de

Plus en détail

Prise en compte des ressources dans les composants logiciels parallèles

Prise en compte des ressources dans les composants logiciels parallèles Prise en compte des ressources dans les composants logiciels parallèles Aperçus de l action RASC et du projet Concerto F. Guidec Frederic.Guidec@univ-ubs.fr Action RASC Plan de cet exposé Contexte Motivations

Plus en détail

Disponibilité 24-7/365

Disponibilité 24-7/365 Buisness solution Technical solution Disponibilité 24-7/365 Presented by OSIsoft Comment utiliser LiveMeeting Télécharger du matériel additionnel Poser une question Audio et vidéo Copyrig h t 2014 OSIso

Plus en détail

UNIFIED. Nouvelle génération d'architecture unifiée pour la protection des données D TA. dans des environnements virtuels et physiques PROTECTION

UNIFIED. Nouvelle génération d'architecture unifiée pour la protection des données D TA. dans des environnements virtuels et physiques PROTECTION UNIFIED Nouvelle génération d'architecture unifiée pour la protection des données D TA dans des environnements virtuels et physiques PROTECTION Unified Data protection DOSSIER SOLUTION CA arcserve UDP

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

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

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l Siège social : 5 Speen Street Framingham, MA 01701, É.-U. T.508.872.8200 F.508.935.4015 www.idc.com L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i

Plus en détail

Planifier la migration des applications d entreprise dans le nuage

Planifier la migration des applications d entreprise dans le nuage TM Planifier la migration des applications d entreprise dans le nuage Guide de vos options de migration : nuage privé et public, critères d évaluation des applications et meilleures pratiques de migration

Plus en détail

Axway SecureTransport

Axway SecureTransport Axway SecureTransport Passerelle étendue de gestion du transfert de fichiers Pour renforcer leur position concurrentielle sur un marché global et exigeant, les entreprises doivent échanger un flot d informations

Plus en détail

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

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service 10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore

Plus en détail

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

Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Le Ro le Hyper V Troisie me Partie Haute disponibilite des machines virtuelles Microsoft France Division DPE Table des matières Présentation... 2 Objectifs... 2 Pré requis... 2 Quelles sont les principales

Plus en détail

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

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

Plus en détail

Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre

Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre Réplication de données de classe entreprise pour environnements distribués et reprise sur sinistre La tendance actuelle vers une conception distribuée de l entreprise, avec des agences, des centres de

Plus en détail

La haute disponibilité de la CHAINE DE

La haute disponibilité de la CHAINE DE Pare-feu, proxy, antivirus, authentification LDAP & Radius, contrôle d'accès des portails applicatifs La haute disponibilité de la CHAINE DE SECURITE APPLICATIVE 1.1 La chaîne de sécurité applicative est

Plus en détail

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

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription Présentée par Leila Abidi Sous la direction de Mohamed Jemni & Christophe Cérin Plan Contexte Problématique Objectifs

Plus en détail

1 Introduction à l infrastructure Active Directory et réseau

1 Introduction à l infrastructure Active Directory et réseau 1 Introduction à l infrastructure Active Directory et réseau Objectifs d examen de ce chapitre Ce premier chapitre, qui donne un aperçu des technologies impliquées par la conception d une infrastructure

Plus en détail

Pré-requis techniques

Pré-requis techniques Sommaire 1. PRÉAMBULE... 3 2. PRÉ-REQUIS TÉLÉCOM... 4 Généralités... 4 Accès Télécom supporté... 4 Accès Internet... 5 Accès VPN... 5 Dimensionnement de vos accès... 6 3. PRÉ-REQUIS POUR LES POSTES DE

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

Stratégies gagnantes pour les prestataires de services : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants

Stratégies gagnantes pour les prestataires de services : le cloud computing vu par les dirigeants Dossier à l attention des dirigeants Dossier à l attention des dirigeants Centres d évaluation de la technologie inc. Le cloud computing : vue d ensemble Les sociétés de services du monde entier travaillent dans un environnement en pleine

Plus en détail

Unitt www.unitt.com. Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

Unitt www.unitt.com. Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données La meilleure protection pour les données vitales de votre entreprise Autrefois, protéger ses données de manière optimale coûtait

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Microsoft Dynamics AX. Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server

Microsoft Dynamics AX. Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server FLEXIBILITÉ Microsoft Dynamics AX Solutions flexibles avec la technologie Microsoft Dynamics AX Application Object Server Livre blanc Comment les entreprises peuvent-elles utiliser la technologie Microsoft

Plus en détail

Garantir une meilleure prestation de services et une expérience utilisateur optimale

Garantir une meilleure prestation de services et une expérience utilisateur optimale LIVRE BLANC Garantir une meilleure prestation de services et une expérience utilisateur optimale Mai 2010 Garantir une meilleure prestation de services et une expérience utilisateur optimale CA Service

Plus en détail

UNIFIED D TA. architecture nouvelle génération pour une restauration garantie (assured recovery ) que les données soient sur site ou dans le cloud

UNIFIED D TA. architecture nouvelle génération pour une restauration garantie (assured recovery ) que les données soient sur site ou dans le cloud UNIFIED architecture nouvelle génération pour une restauration garantie (assured recovery ) D TA que les données soient sur site ou dans le cloud PROTECTION FOURNISSEURS DE SERVICES GÉRÉS DOSSIER SOLUTION

Plus en détail

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication.

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication. CONNECTER LES SYSTEMES ENTRE EUX L informatique, au cœur des tâches courantes, a permis de nombreuses avancées technologiques. Aujourd hui, la problématique est de parvenir à connecter les systèmes d information

Plus en détail

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

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

EMC AVAMAR. Logiciel et système de sauvegarde avec déduplication

EMC AVAMAR. Logiciel et système de sauvegarde avec déduplication EMC AVAMAR Logiciel et système de sauvegarde avec déduplication Avantages clés Les données sont dédupliquées à la source (client), avant leur transfert sur le réseau Idéal pour la protection des environnements

Plus en détail

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et

Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et Organisation du parcours M2 IR Les unités d enseignements (UE) affichées dans la partie tronc commun sont toutes obligatoires, ainsi que le stage et l'anglais. L'étudiant a le choix entre deux filières

Plus en détail

Prototype de canal caché dans le DNS

Prototype de canal caché dans le DNS Manuscrit auteur, publié dans "Colloque Francophone sur l Ingénierie des Protocoles (CFIP), Les Arcs : France (2008)" Prototype de canal caché dans le DNS Lucas Nussbaum et Olivier Richard Laboratoire

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1

Plus en détail

WEA Un Gérant d'objets Persistants pour des environnements distribués

WEA Un Gérant d'objets Persistants pour des environnements distribués Thèse de Doctorat de l'université P & M Curie WEA Un Gérant d'objets Persistants pour des environnements distribués Didier Donsez Université Pierre et Marie Curie Paris VI Laboratoire de Méthodologie et

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

Présentation Internet

Présentation Internet Présentation Internet 09/01/2003 1 Sommaire sières 1. Qu est-ce que l Internet?... 3 2. Accéder à l Internet... 3 2.1. La station... 3 2.2. La connection... 3 2.3. Identification de la station sur Internet...

Plus en détail

100% Swiss Cloud Computing

100% Swiss Cloud Computing 100% Swiss Cloud Computing Simplifiez votre IT, augmentez sa puissance, sa flexibilité, sa sécurité et maîtrisez les coûts Avec le Cloud, vous disposez d un espace d hébergement dédié, dissocié de votre

Plus en détail

Cloud computing Votre informatique à la demande

Cloud computing Votre informatique à la demande Cloud computing Votre informatique à la demande Thomas RULMONT Définition du Cloud Computing L'informatique dans le nuage (en anglais, cloud computing) est un concept ( ) faisant référence à l'utilisation

Plus en détail

La tête dans les nuages

La tête dans les nuages 19 novembre 2010 La tête dans les nuages Démystifier le "Cloud Computing" Jean Bernard, Directeur, Gestion des services Radialpoint SafeCare Inc. Au sujet de Radialpoint Radialpoint offre des solutions

Plus en détail

EXIN Cloud Computing Foundation

EXIN Cloud Computing Foundation Exemple d examen EXIN Cloud Computing Foundation Édition Septembre 2012 Droits d auteur 2012 EXIN Tous droits réservés. Aucune partie de cette publication ne saurait être publiée, reproduite, copiée, entreposée

Plus en détail

Les environnements de calcul distribué

Les environnements de calcul distribué 2 e Atelier CRAG, 3 au 8 Décembre 2012 Par Blaise Omer YENKE IUT, Université de Ngaoundéré, Cameroun. 4 décembre 2012 1 / 32 Calcul haute performance (HPC) High-performance computing (HPC) : utilisation

Plus en détail

DOSSIER SOLUTION Amélioration de la planification de la capacité à l aide de la gestion des performances applicatives

DOSSIER SOLUTION Amélioration de la planification de la capacité à l aide de la gestion des performances applicatives DOSSIER SOLUTION Amélioration de la planification de la capacité à l aide de la gestion des performances applicatives Comment assurer une expérience utilisateur exceptionnelle pour les applications métier

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

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier?

DOSSIER SOLUTION CA ERwin Modeling. Comment gérer la complexité des données et améliorer l agilité métier? DOSSIER SOLUTION CA ERwin Modeling Comment gérer la complexité des données et améliorer l agilité métier? CA ERwin Modeling fournit une vue centralisée des définitions de données clés afin de mieux comprendre

Plus en détail

Tests de SlipStream sur les plateformes StratusLab@LAL et OpenStack@CC-IN2P3 : vers la. Vers la fédération du Cloud computing

Tests de SlipStream sur les plateformes StratusLab@LAL et OpenStack@CC-IN2P3 : vers la. Vers la fédération du Cloud computing Tests de sur les plateformes StratusLab@LAL et OpenStack@CC-IN2P3 : vers la fédération du Cloud computing Cécile Cavet1 & Charles Loomis2 (1) Centre François Arago, Laboratoire, Université Paris Diderot,

Plus en détail

DG-ADAJ: Une plateforme Desktop Grid

DG-ADAJ: Une plateforme Desktop Grid DG-ADAJ: Une plateforme pour Desktop Grid Olejnik Richard, Bernard Toursel Université des Sciences et Technologies de Lille Laboratoire d Informatique Fondamentale de Lille (LIFL UMR CNRS 8022) Bât M3

Plus en détail

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services 69 Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services M. Bakhouya, J. Gaber et A. Koukam Laboratoire Systèmes et Transports SeT Université de Technologie de Belfort-Montbéliard

Plus en détail

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010.

LA VIRTUALISATION. Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques. 18/01/2010. Guillaume ANSEL M2 ISIDIS 2009-2010 / ULCO Dossier d étude sur la virtualisation LA VIRTUALISATION 18/01/2010 Etude de la virtualisation, ses concepts et ses apports dans les infrastructures informatiques.

Plus en détail

Architectures informatiques dans les nuages

Architectures informatiques dans les nuages Architectures informatiques dans les nuages Cloud Computing : ressources informatiques «as a service» François Goldgewicht Consultant, directeur technique CCT CNES 18 mars 2010 Avant-propos Le Cloud Computing,

Plus en détail

z Fiche d identité produit

z Fiche d identité produit z Fiche d identité produit Référence DFL-260 Désignation Firewall UTM NETDEFEND 260 pour petites entreprises et télétravailleurs Clientèle cible PME comptant jusqu à 50 utilisateurs Accroche marketing

Plus en détail

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP

TP redondance DHCP. Gillard Frédéric Page 1/17. Vue d ensemble du basculement DHCP Vue d ensemble du basculement DHCP Dans Windows Server 2008 R2, il existe deux options à haute disponibilité dans le cadre du déploiement du serveur DHCP. Chacune de ces options est liée à certains défis.

Plus en détail

Le travail collaboratif et l'intelligence collective

Le travail collaboratif et l'intelligence collective THÈME INFORMATION ET INTELLIGENCE COLLECTIVE Pour l organisation, l information est le vecteur de la communication, de la coordination et de la connaissance, tant dans ses relations internes que dans ses

Plus en détail

W I-FI SECURISE ARUBA. Performances/support de bornes radio

W I-FI SECURISE ARUBA. Performances/support de bornes radio ARUBA Performances/support de bornes radio Bande passante non cryptée : 1 Gbps-16 Gbps Bande passante cryptée : 200 Mbps-8 Gbps 6000-6100 256-512 APs 2400 48 APs 5000-5100 48-128-256 APs 800-4/800-16 04-16

Plus en détail

FAMILLE EMC RECOVERPOINT

FAMILLE EMC RECOVERPOINT FAMILLE EMC RECOVERPOINT Solution économique de protection des données et de reprise après sinistre en local et à distance Avantages clés Optimiser la protection des données et la reprise après sinistre

Plus en détail

Parcours en deuxième année

Parcours en deuxième année Parcours en deuxième année Unités d Enseignement (UE) ECTS Ingénierie des réseaux haut 4 débit Sécurité des réseaux et 4 télécoms Réseaux mobiles et sans fil 4 Réseaux télécoms et 4 convergence IP Infrastructure

Plus en détail

VMWare Infrastructure 3

VMWare Infrastructure 3 Ingénieurs 2000 Filière Informatique et réseaux Université de Marne-la-Vallée VMWare Infrastructure 3 Exposé système et nouvelles technologies réseau. Christophe KELLER Sommaire Sommaire... 2 Introduction...

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Avant-propos L économie en réseau, ou la netéconomie, est au cœur des débats et des stratégies de toutes les entreprises. Les organisations, qu il s agisse de

Plus en détail

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS

BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Quatrième colloque hypermédias et apprentissages 275 BABEL LEXIS : UN SYSTÈME ÉVOLUTIF PERMETTANT LA CRÉATION, LE STOCKAGE ET LA CONSULTATION D OBJETS HYPERMÉDIAS Anne-Olivia LE CORNEC, Jean-Marc FARINONE,

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Une SGDT simple pour entreprises

Une SGDT simple pour entreprises livre blanc Une SGDT simple pour entreprises RESUME SolidWorks Enterprise PDM aide les entreprises de développement de produits 3D à maîtriser, gérer et partager le volume toujours croissant des diverses

Plus en détail

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud Grid and Cloud Computing Problématique Besoins de calcul croissants Simulations d'expériences coûteuses ou dangereuses Résolution de

Plus en détail

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1 Les clusters Linux 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com white-paper-cluster_fr.sxw, Version 74 Page 1 Table des matières Introduction....2 Haute performance (High

Plus en détail

Virtualiser ou ne pas virtualiser?

Virtualiser ou ne pas virtualiser? 1 Virtualiser ou ne pas virtualiser? C est la première question à laquelle vous devrez répondre par vous-même avant d investir une quantité significative de temps ou d argent dans un projet de virtualisation.

Plus en détail

Le passage à l échelle de serveur J2EE : le cas des EJB

Le passage à l échelle de serveur J2EE : le cas des EJB Le passage à l échelle de serveur J2EE : le cas des EJB Sylvain Sicard, Noël De Palma, Daniel Hagimont CFSE 4 5-8 Avril 2005 LSR 1 Plan de la présentation 1. Architecture de serveur J2EE en grappe 2. Problématique

Plus en détail

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales

Ecole des Hautes Etudes Commerciales HEC Alger. par Amina GACEM. Module Informatique 1ière Année Master Sciences Commerciales Ecole des Hautes Etudes Commerciales HEC Alger Évolution des SGBDs par Amina GACEM Module Informatique 1ière Année Master Sciences Commerciales Evolution des SGBDs Pour toute remarque, question, commentaire

Plus en détail