Cette thèse rentre dans le cadre d’une coopération qui s’étale sur plusieurs années entre le laboratoire LATICE (LAboratoire de recherche en Technologies de l’Information et de la Communication et génie Electrique) de Tunis (Mohamed Jemni étant le co-directeur de thèse) et Le LIPN (Laboratoire Informatique Paris Nord) de Paris 13 (Christophe Cérin étant le co-directeur de thèse). Sur la période 2006-2010, les travaux de Heithem Abbes (co-tutelle) ont porté sur deux intergiciels de calcul : PastryGrid [ACJ08] et BonjourGrid [ACJ09]. PastryGrid est construit autour d’un mécanisme pair-à-pair de coordination des acteurs du système de calcul alors que BonjourGrid est un méta-intergiciel de grille de PCs dans le sens où il est capable de coordonner les principaux intergiciels de grilles de PCs (BOINC, Condor, XtremWeb). L’objectif commun à ces deux intergiciels est de pouvoir contrôler l’exécution de graphes de tâches de manière beaucoup plus décentralisée ; l’idée étant de se passer de coordination via un unique point de contrôle centralisé.
À partir de 2010-2011, deux extensions du travail de Heithem Abbes sont mises en place. La première est confiée à Walid Saad. Il s’intéresse principalement à la gestion des données dans les grilles de PC, plus particulièrement dans BonjourGrid qu’il a étendu pour pouvoir prendre en compte plusieurs intergiciels de rapatriement/gestion de données de la même façon que l’on peut gérer plusieurs intergiciels de calcul au sein de BonjourGrid.
À la même époque et dans le cadre d’une nouvelle co-tutelle entre le LATICE et le LIPN, nous avons pris le parti, dans mon travail, de revisiter les interactions au sein d’une grille de PCs dans le cadre des technologies du Web. Les outils construits sur la période 1990-2010 ont en effet été conçus avec des technologies et des méthodes ad-hoc et on peut légitimement se poser la question de savoir, à l’heure du Cloud et des services en ligne, comment ces intergiciels de grille pourront continuer à exister. C’est le point de départ de notre travail.
Depuis leur avènement au cours des années 90, les plateformes distribuées, plus précisément les systèmes de grilles de calcul (Grid Computing), n’ont pas cessé d’évoluer permettant ainsi de susciter des efforts de recherche toujours plus nombreux à travers le monde. Le principe général reste acquis, puisqu’il s’agit d’exploiter la disponibilité de millions d’utilisateurs sur Internet et la présence de nombreuses ressources informatiques largement sous exploitées dans le but de créer une « grande » infrastructure de calcul.
Les grilles de PCs [CF12] ont été proposées comme une alternative aux supercalculateurs par la fédération des milliers d’ordinateurs. Un PC des années 90 est capable d’exécuter la plupart des applications scientifiques, et donc une plateforme de grille de PCs est une plateforme viable pour le calcul scientifique haute performance.
Les détails de la mise en œuvre d’une telle architecture de grille, en termes de mécanismes de mutualisation des ressources, restent beaucoup plus difficile à cerner de par la multitude de définitions qui ont immergé depuis l’article fondateur de Ian Foster [FK99]. Cette puissance de calcul mise à disposition a permis et permet encore à la communauté scientifique de traiter d’innombrables applications gourmandes en calcul telles que les applications de recherche de l’intelligence extraterrestre (SETI@Home [ACK+02]), de prédiction globale du climat (Climaprediction.net [And04]), le repliement et l’agrégation des protéines (Folding@Home [LSS+09]) et l’étude des rayons cosmiques (XtremWeb [CDF+05]). Le succès de ces applications et le nombre des utilisateurs de ces plateformes prouvent le potentiel des grilles de PCs. Plusieurs projets de grilles de calcul ont vu le jour, telles que DataGrid [VBP03], TeraGrid [TER], EuroGrid [LBE03], gLite [GLI], ou Grid’5000 [BCC+06].
Parallèlement, le Web a complètement modifié notre façon d’accéder à l’information. Le Web est maintenant une composante essentielle de notre quotidien : biens dématérialisés, services en ligne, formation et éducation, jeux en ligne, objets connectés,. . . qui ont conduit à quinze années très riches, et un nombre incalculable d’innovations technologiques. Les équipements ont, à leur tour, évolué d’ordinateurs de bureau ou ordinateurs portables aux tablettes, lecteurs multimédias, consoles de jeux, smartphones, ou NetPCs.
Cette évolution exige d’adapter et de repenser les applications, à savoir, dans notre cas, les intergiciels de grille de PCs qui ont été développés ces dernières années. Ces applications ont été initialement construites au-dessus d’Internet comme couche de connexion afin que l’adaptation ou la remise en question du concept ne viennent pas, de notre point de vue, de l’augmentation de la vitesse d’Internet. Intégrer les technologies du Web dans le domaine scientifique est par ailleurs une piste de recherche active depuis de nombreuses années et est communément appelée la cyber-infrastructure ou les e-Sciences.
Avant l’apparition des Clouds il y a quelques années, on nommait ASP (Application Service Provider) le fait de proposer une application sous forme de service. En remontant un peu plus loin en arrière, dans les années 60, IBM proposait déjà l’informatique «on-demand». Les années 80 furent aussi le début des concepts de virtualisation. Tous ces concepts ont amené, petit à petit, à inventer une nouvelle manière de proposer l’informatique «comme un service».
Dans un contexte économique où nous cherchons à rentabiliser au maximum les investissements et limiter l’empreinte écologique (Green IT), le Cloud Computing prétend devenir la solution. Avec une croissance exceptionnelle de 25%, il représentait plus de 56 milliards de dollars pour l’année 2009 d’après le cabinet Gartner et a atteint 150 milliards de dollars en 2013 (soit environ 10% des investissements mondiaux en informatique). Toujours selon Gartner, le Cloud Computing arrive, en 2010, en 1ère position des investissements devant le Green-IT et la virtualisation.
Dans un tel contexte, développeurs, administrateurs et décideurs ne peuvent plus ignorer l’émergence de ce nouveau marché, et doivent de-facto comprendre et analyser ces nouvelles technologies afin de mieux anticiper ce nouveau virage qu’est le Cloud Computing dans notre monde de demain. Pour certains, le Cloud Computing devrait en particulier conduire à l’ère de l’informatique totalement dématérialisée, ne laissant pour seuls dispositifs palpables que les terminaux d’accès (postes de travail, capteurs, etc.), dispositifs dont les capacités, les rôles et les usages futurs seront largement impactés.
|
Table des matières
1 Introduction
1.1 Préliminaires
1.2 Contexte
1.3 Problématique
1.4 Contribution
1.5 Plan de la thèse
2 Modélisation et vérification Formelle
2.1 Introduction
2.2 Utilité de la modélisation
2.3 Les réseaux de Petri colorés
2.4 Vérification formelle
2.4.1 La technique de vérification de modèle
2.4.2 La technique de preuve de théorèmes
2.4.3 Propriétés à vérifier
2.5 CPNTools : un outil pour spécifier et vérifier des réseaux de Petri colorés
2.6 Les systèmes de publication-souscription
2.7 Conclusion
3 Architecture des systèmes distribués de notre étude
3.1 Introduction
3.2 Les systèmes distribués de calcul (vues des années 90 à 2000)
3.2.1 Les systèmes de grilles de calcul
3.2.2 Les systèmes de calcul global
3.2.3 Les systèmes pair-à-pair
3.3 Les grilles de PCs
3.3.1 Caractéristiques des grilles de PCs
3.3.1.1 Participation volontaire
3.3.1.2 Volatilité des ressources
3.3.1.3 Environnement dynamique
3.3.1.4 Environnement non fiable
3.3.1.5 Panne des ressources
3.3.1.6 Hétérogénéité des ressources
3.3.1.7 Passage à l’échelle
4 Conclusion
Télécharger le rapport complet