Home

Boris Daix

image

Contents

1. 116 6 4 D ploiement sur grappes d ordinateurs d applications param triques 120 6 4 1 Une grappe d ordinateurs et une application param trique 120 6 4 2 Traitement avec ODD SAMURAAIE 121 Abstraction avec SAMURAAIE 121 Automatisation avec ODD 123 6 5 D ploiement sur grilles d ordinateurs d applications en flot de travail 125 6 5 1 Une grille d ordinateurs et une application en flot de travail 125 6 5 2 Traitement avec ODD SAMURAAIE 126 Abstraction avec SAMURAAIE 126 Automatisation avec ODD 128 6 6 DISCUSSION La Ans ere MA AM a ee ah a A A gel et A a Er A A Fer 129 6 0 Conclusione 2 4 24 kya bk GUERRE Re A Be ee SR ae GI n 130 Automatisation du d ploiement de simulations num riques SALOME 131 ZA gt TANTO UCL ONY s er o a Sats Maes due Feces Gd Gate ee ae ake sects id 131 7 2 SALOME et son approche du d ploiement 131 C2 Introductions ana cte sce pin d a Tax Eb den db dede Se he 131 7 2 2 Architecture g n rale aoaaa A a 132 7 2 3 Mod le de composants 00 ee ee 132 Introductions 4 2 sn A A amp Go HMS a tea ea ees 132 ObjetssPAGOA wis mr eRe ee BA his hate oi ee ed 134 Objets SALOME v ck ke dou ds due du BER pl ed he 134 Composants DSC 880 Pat ogden tek Be em 74 134
2. 75 Elements saa snars RAT AE Bi itive Shy teh ah ae A 75 Relations a stone sie on D ee A ee ee a ie a 77 4 3 2 Instances actions et v nements 77 Ressources Application et Carte 77 Services Programme et D ploiement 79 Capteurs Messages et Journal 80 AZ Br gt X MPIES 18 An NS ERA os han lea oi RA si cn Ad 81 Ex cution d un processus 81 Arr t d un processus en cours d ex cution 85 Ajout d un processeur 85 ASA DISCUSSION mo ann Ne Mn ete Rare Re RAA EE RUES 86 4 4 Mod le ODD d automatisation du d ploiement d applications 2 0 iso a REE dde Boe bee ees 88 HAN E E ie atten te ieee IR Nr les oh tg ated e 89 Gestionnaires 89 A DSITACLENUTS inos AOL C de oe DO Bk A GNTS A LENE ee RE Bache 92 Traducteurs La Re AR ined Rak ai Rss 28 00 en ae ade ct 93 Connecteurs ioc a or Soak a We Ne WO AE Ss ie et enw en BS Re ic GA 93 AAD A int sow i Accs Bae ur HEP ee ee 22 rte 2 94 Classes d acteurs 95 ACUCUES sue daa cS db Ue Dew L NA GO hie eme sal hid sale 95 Modification d abstraction 95 D marrage et arr t du mod le 98 LA 3 ESO RA EE A 98 ALO eS MOOMCIUASIONSA A ede Set ee WS ete ds NS E A 99 5 Prototype
3. 107 Correspondance entre les donn es de d ploiement SALOME et les abstractions SAMURAATE ii ie ue GUA a rch a ek A a A Te BO ae dE 147 11 12 Premi re partie Introduction 13 Chapitre 1 Introduction 1 1 L informatique formidable levier du d veloppement humain Gr ce l invention puis aux am liorations des ordinateurs au XXi me si cle les applications du traitement automatique de l information c est dire les applications informatiques se sont multipli es et diffus es dans un grand nombre d activit s humaines Depuis les ann es 1950 les avanc es scientifiques techniques et industrielles dans les domaines de l informatique de l lectronique et de la t l communication ont en effet permis la production d ordinateurs de plus en plus puissants La cr ation d un inter r seau dans les ann es 1960 appel Internet a galement permis d envisager une infrastructure informatique mondiale dans laquelle sont actuellement r parties d immenses quantit s de donn es et de traitements La Science la Technique et l Industrie emploient les applications informatiques dans leurs activit s De simples v rifications de calculs aux simulations multi physique en passant par la gestion int gr e de groupe multinationaux ces applications ont permis aux humains d acc l rer leur d veloppement d une mani re exponentielle Le secteur des technologies de l information et de la communication est ainsi de
4. Syst mes image unique Les syst mes d exploitation image unique Single System Images SSIs offrent une interface de programmation unique pour des ressources faisant partie d infrastructures qui auraient pu tre ind pendantes De tels syst mes offrent donc des services de m morisation d ex cution et d adressage globaux pour des architectures de type grappes ou grilles d ordinateurs Parmi ces syst mes figurent par exemple l infrastructure de migration de processus pour Linux Linux Process Migration Infrastructure LinuxPMI et Kerrighed 43 pour la grappe Vigne 44 et XtreemOS 45 pour la grille Bo te outils Globus Globus est une bo te outils qui fournit les services n cessaires pour l exploitation d une grille d ordinateurs 46 infrastructure informatique d finie par Ian Foster dans son article Qu est ce que la grille Une liste de contr le en trois points What is the grid Three Point Checklist 47 Le service d ex cution est d compos en plusieurs services le langage de sp cification de ressources Resource Specification Language RSL le gestionnaire d allocation de ressources Globus Globus Resource Allocation Manager GRAM et le portier Gatekeeper qui permet l acc s aux ressources Le syst me de suivi et de d couverte Monitoring and Discovery System MDS est le service d information statique et dynamique des ressources exploit es par Globus Le service de m morisation est d com
5. 3 4 2 Installation Installer une application sur des ressources requiert toujours une application dans un tat de conditionnement et un outil correspondant ce conditionnement d j install sur les ressources Cette installation peut comporter non seulement une tape de mise en place de fichiers mais galement une tape de compilation de configuration ou les trois Avant d tre ex cut e une application est concr tement organis e en fichiers En dehors des donn es qu elle traite les fichiers d une application logiciel se regroupent dans les quatre cat gories suivantes Code source Le code source permet d autres applications suite de compilation de produire les ex cutables les biblioth ques et la documentation Selon les licences choisies par les auteurs certaines applications sont diffus es avec leur code source voire seulement par leur code source Ex cutables et biblioth ques Les ex cutables peuvent tre des scripts ou des binaires Pour tre ex cut un ex cutable peut avoir besoin d autres ex cutables ou de biblioth ques et un script a besoin d un interpr teur Configuration Lorsque l application est configurable elle acquiert sa configuration en la lisant dans des fichiers de configuration ou bien dans une base de registre du syst me sur lequel 97 elle est install e Dans les deux cas une partie des fichiers de l application peut concerner la configuration la modification
6. haute performance il faut d abord les repr senter Dans un syst me informatique donn des repr sentations existent d j mais elles sont la fois nombreuses diss min es complexes fragmentaires et changeantes parce qu elles sont issues des technologies particuli res que comporte ce syst me La premi re contribu tion de ce document est un mod le d abstraction de ces syst mes ind pendant des technologies qu ils comportent Le principe de ce mod le est de construire l aide de concepts simples une repr sentation la plus compl te possible d un syst me informatique partir de ses repr senta tions existantes Cette repr sentation int gre non seulement les caract ristiques des composants mat riels et les descriptions de t ches mais galement les services permettant d exploiter ces composants les applications que manipulent ces t ches leurs topologies et les changements pr vus ou d j survenus de tous ces l ments Une fois repr sent s les syst mes informatiques haute performance en automatiser l utili sation consiste distinguer les activit s que cette utilisation implique jusqu pouvoir la fois les automatiser et les coordonner Dans un syst me informatique donn les mani res d acqu rir de l information de choisir des ressources pour une application et d agir sur les syst mes d ex ploitation afin de faire fonctionner cette application sont galement nombreuses et complexes parce qu ell
7. tape d terminante pour le bon fonc tionnement de l application n cessite de s lectionner des ressources en fonction de leur ad qua tion autant pour l tape d ex cution de l application que pour celle de son installation Ceci peut par exemple impliquer de consulter un syst me d information propos des ressources puis d en r server Installer une application est une tape souvent fastidieuse qui peut impliquer d en compiler le code source et de la configurer groupe de ressources par groupes de ressources Enfin ex cuter une application n cessite de coordonner simultan ment une multitude de commandes Quand les ressources et les applications sont parall les et r partis h t rog nes et dynamiques r ussir ce processus est effectivement d licat 1 3 Vers l automatisation de l utilisation des syst mes informa tiques haute performance Automatiser l utilisation des syst mes informatiques haute performance devrait d abord permettre de mieux s parer les pr occupations des humains impliqu s dans leur fonctionnement Ces humains sont les administrateurs des infrastructures les d veloppeurs des applications et les utilisateurs de ces applications sur ces infrastructures Les administrateurs d tiennent l expertise pour les infrastructures qu ils administrent ainsi que les privil ges n cessaires afin d installer des applications pour tous les utilisateurs de ces infrastructures Ils doivent actuellement prendre en compt
8. 8 18 relations de liaison reliant les l ments T che et Requ te aux l ments Syst me et Service portant sur la station de travail Capteurs Messages et Journal Les changements survenant pendant le traitement du cas de d ploiement consid r concernent les trois tapes suivantes Enregistrement Ces changements enregistrent d abord l ordinateur de l utilisateur l implan tation de l architecture ODD SAMURAATE la pr sence de cette implantation dans cet ordinateur la station de travail l interconnexion les syst mes d exploitation et leurs ser vices le r pertoire des fichiers de l application et la pr sence du r pertoire des fichiers de l application dans l ordinateur de l utilisateur Demande de d ploiement Ces changements enregistrent ensuite les processus de l applica tion les fichiers de r sultats de celle ci la pr sence de ces fichiers dans le r pertoire person nel de l utilisateur sur son ordinateur et mettent ces processus et ces fichiers en attente D ploiement Ces changements enregistrent des copies du r pertoire des fichiers de l application et des fichiers de r sultats remplacent ce r pertoire par sa copie dans les processus de l application associent ces processus la station de travail ajoutent la t che d installation et d ex cution de l application associent cette t che au syst me d exploitation de la station changent l tat de cette t che afin qu elle soit r alis e Les chan
9. IEEE Internet Computing janvier 2004 21 ORCHARD D BOOTH D MCCABE F et al Web Services Architecture Rapport technique W3C Web Services Architecture Working Group 2004 22 VAN DER AALST W HOFSTEDE A T KIEPUSZEWSKI B et BARROS A Work flow Patterns Distributed and Parallel Databases vol 14 n 3 juillet 2003 p 5 51 23 JORDAN D EVDEMON J ALVES A et al Web Services Business Process Execution Language version 2 0 OASIS mai 2007 24 APACHE Apache ODE Developer Guide Architectural Overview 25 SZYPERSKI C Component Software Beyond Object Oriented Programming Addison Wesley ACM Press 1998 26 BERNHOLDT D E ALLAN B A ARMSTRONG R et al A Component Architec ture for High Performance Scientific Computing International Journal of High Perfor mance Computing Applications vol 20 n 2 2006 p 163 202 27 OMG CORBA Component Model Specification version 4 0 avril 2006 28 E BRUNETON J S T Coupaye The Fractal Component Model version 2 0 3 f vrier 2004 29 BEISIEGEL M BLOHM H Booz D et al SCA Service Component Architecture Assembly Model Specification version 1 0 mars 2007 30 RIBES A Contribution la conception d un mod le de programmation parall le et dis tribu et sa mise en uvre au sein de plates formes orient es objet et composant Th se de doctorat IRISA Universit de Re
10. Les ressources comportent des ordinateurs ventuellement interconnect s c est dire des m moires des processeurs et des connecteurs L abstraction Ressources comporte donc des sommets d agr gation Ordinateur et des sommets simples M moire Processeur et Connecteur 77 a Symboles des l ments SAMURAAIE b Symboles des relations SAMURAAIE El ment Profil Style Relation Profil Style Ordinateur Ellipse Vide Agr gation Trait point Plein M moire Rectangle Vide Liaison Fl che Discontinu Processeur Losange Vide Pr c dence Fl che Plein Connecteur Cercle Vide Acc s Fl che Plein Processus Ellipse Plein Copie Fl che Discontinu Blob Rectangle Plein Port e Fl che Pointill Activit Losange Plein Fourniture Fl che Pointill Flux Cercle Plein Syst me Ellipse Vide Service de m morisation Rectangle Vide Service d ex cution Losange Vide Service d adressage Cercle Vide T che Ellipse Plein Requ te de m morisation Rectangle Plein Requ te d ex cution Losange Plein Requ te d adressage Cercle Plein Zone Ellipse Vide Capteur Triangle Vide Modification Ellipse Plein Message Triangle Plein TABLE 4 1 Symboles des l ments et des relations SAMURAAIE Instances Actions v nements Contenant Ressources Services Capteurs Contenu Application Programme Messages Association Carte D ploiement Journal TABLE 4 2 Noms des abstractions Abstraction Agr gat Info
11. des composants SA LOME l utilisateur doit d abord allouer des ordinateurs susceptibles d ex cuter des conteneurs de composants SALOME Puis il doit y installer des modules SALOME avec leurs d pendances y construire des applications SALOME et enfin d clarer ces ressources SALOME aupr s de la plate forme elle m me Une fois une simulation num rique d marr e le superviseur fait appel au gestionnaire de conteneurs afin d obtenir des conteneurs dans lesquels charger et connecter les composants Le gestionnaire de conteneurs fait alors appel au gestionnaire de ressources afin d obtenir des noms d ordinateurs sur lesquels ex cuter les conteneurs L ex cution de conteneurs se fait au sein d applications et le chargement de composants implique que les modules qui fournissent les composants fassent partie des applications 7 2 5 Conclusion La plate forme de simulation num rique SALOME est indispensable dans l activit de nom breux ing nieurs chercheurs EDF Cependant le mod le de d ploiement de cette plate forme contraint la fois ses utilisateurs sa performance d ex cution et sa portabilit Le d ploiement de la plate forme SALOME sur les ressources de calcul haute performance contraint l utilisateur et celui ci n est pas en mesure d accepter cette contrainte pour des ar chitectures de ressources dynamiques et h t rog nes En effet afin de r aliser ses simulations num riques l utilisateur doit allouer les ordinateurs s
12. dire les relations de pr c dence de copie et d acc s d terminent les relations de pr c dence entre les l ments de programme portant sur eux SAMURAAIE permet galement d abstraire les changements d un syst me informatique D une part ce mod le offre un niveau v nements afin d abstraire les modifications des abs tractions aux niveaux Instances et Actions Ces derni res peuvent tre d coup es en diff rentes 87 zones afin de pouvoir traiter des modifications concurrentes D autre part la combinaison d tats et du temps dans les abstractions permet de disposer d un horizon temporel La dur e de l ex cu tion voire de l installation d une application sur des ressources peut ainsi tre estim e La dur e d une action et de disponibilit d une ressource pouvant tre estim e ou connue il est galement possible d viter l allocation de ressources dont la disponibilit ne suffirait pas pour la s quence installation et ex cution Si SAMURAAIE permet d abstraire les changements de l environnement de d ploiement il ne permet cependant pas d abstraire des l ments informatiques adaptables Par exemple le fait qu une application change selon les ressources sur lesquelles elle est ex cut e ne peut tre abstrait R ciproquement le fait que des ressources changent selon l application ex cut e ne peut tre abstrait Ces cas sont cependant pris en compte dans l architecture que propose ce chapitre ils le sont toutef
13. l ments ont l tat OK Programme Le flot de requ tes de services de m morisation et d ex cution est abstrait dans l abstraction Programme Ce flot est un l ment T che agr geant 1 8 8 17 l ments Requ te Ces requ tes demandent les actions suivantes Copier le r pertoire des fichiers de l application depuis le r pertoire personnel de l utilisa teur sur son ordinateur vers celui de la station D marrer les activit s de l application sur les processeurs de la station Copier les fichiers de r sultats depuis le r pertoire temporaire de la station vers le r per toire personnel de l utilisateur sur son ordinateur 17 relations de port e et 8 8 16 relations de pr c dence relient ces l ments Requ te Les relations de port e relient les l ments Requ te aux l ments Blob des copies et Activit Les relations de pr c dence relient l l ment Requ te de copie du r pertoire des fichiers de l application aux l ments Requ te de d marrage des activit s Elles relient galement chacun de ces derniers l l ment Requ te de copie du fichier de r sultats correspondant l activit dont il demande le d marrage Avant de se terminer tous ces l ments ont l tat OK Auparavant ils ont l tat ATTENDU D ploiement L association des requ tes de services et des services eux m mes est abstraite dans l abstraction D ploiement cette association correspondent 1 1 8
14. tation de SAMURAAIE La biblioth que SQLAlchemy fournit la fois l associateur objet base relationnelle et les adaptateurs de syst mes usuels de gestion de base de donn es Cette sauve garde des caract ristiques des l ments et des relations SAMURAAITE utilise au moins les deux patrons de conception suivants objet d association 99 et h ritage d objets par jointure 103 Observable Abstracteur pH C Traducteur AbstracteurRessources AbstracteurApplication TraducteurApplication TraducteurRessources AbstracteurCarte AbstracteurServices TraducteurServices TraducteurCarte AbstracteurProgramme AbstracteurD ploiement TraducteurProgramme TraducteurD ploiement EY E i AbstracteurMessages AbstracteurCapteurs AbstracteurJournal FIGURE 5 3 Hi rarchie des classes d objets de l implantation du mod le ODD de tables 100 A une relation d l ments SAMURAAIE correspondent un arc incident deux sommets SAMURAATE cet arc ayant une caract ristique son type En relationnel une solution est que la table dans laquelle ces arcs sont sauvegard s ait autant de colonnes que d attributs d arc et deux colonnes faisant r f rence 4 la table dans laquelle sont sauvegard s les sommets comme dans une relation d association On peut en effet concevoir un arc comme tant un objet d associatio
15. HDDs et les disques tats solides Solid State Disks SSDs des ordinateurs Baies de stockage dans les super ordinateurs les grappes et les grilles d ordinateurs M moires mortes telles que les m moires en lecture seule Read Only Memories ROMs dont les m moires lectriquement effa ables et programmables Electrically Erasable and Programmable Read Only Memories EEPROMs dans les ordinateurs En ce qui concerne les tailles on constate que plus les m moires sont mat riellement loign es des processeurs plus leurs tailles sont grandes Physiquement la m morisation repose sur des tech niques lectro magn tiques optiques ou les deux Par ailleurs afin de les renforcer les m moires peuvent comporter des contr leurs lectrom caniques des codes de correction d erreur Error Correction Codes ECCs voire tre redondantes Pour la m moire de masse les techniques des baies redondantes de disques durs ind pendants Redundant Arrays of Independent Disks RAID sont fr quemment mises en ceuvre Des constructeurs de m moires sont par exemple Kingston Seagate et Hewlett Packard Processeurs Les processeurs sont les ressources qui effectuent les traitements sur l informa tion Leurs principales caract ristiques sont l architecture de jeu d instructions Instruction Set Architecture ISA la fr quence en Hertz de l horloge et la capacit d adressage en bits La miniaturisation des processeurs perm
16. Les contraintes architecturales et logistiques sont abstraites selon le concept de correspondance entre contenants et contenus Les ressources et l applica tion sont abstraites dans le temps selon leurs l ments d information de traitement et de communication En particulier leurs ventuelles propri t s de parall lisme d h t rog n it et de dynamicit peuvent tre abstraites Les services des syst mes d exploitation ont un type et portent sur des ressources et de m me les requ tes des t ches pour ces syst mes d exploitation ont un type et portent sur l application Les v nements tant en quelque sorte le dual des ac tions la mani re de les abstraire est similaire La g n ralit de SAMURAAIE est telle qu il est facilement extensible et pourrait probablement tre adapt dans d autres contextes Le mod le ODD de d ploiement sur demande base d acteurs concurrents est un m canisme permanent de prise de d cision doubl d un m canisme de repr sentation interne de l environne ment Dans la logique du d ploiement les gestionnaires Associateur et Conseiller d finissent un objectif et planifient les actions afin de l atteindre Les gestionnaires Ex cuteur et Contr leur se chargent de r aliser les actions et de traiter les v nements Cette logique de d ploiement et celles des technologies sont s par es gr ce aux traducteurs et aux connecteurs En tant que m canisme de prise de d cision la qualit de l
17. Schemas de calcul wit Pada halal cn kh ae c D a 135 DISCUSSION gal ane sete tos LAURE SE e Boke ae ts hese e uses 136 Conclusions 1 6 eee Rob le we GE he Rate Ne ae 136 TZA De ploiement 5 2 00 04 22 e be E DEE Re ERR dot e ts 136 Introductions LU A A ls AE ll hh Es 136 T stallation ziea Paske ea AR mt ob Met tee Met ERA ES AR A 136 EXECUTION wata iaoa dia NE A Rae ae Aes dhe ee the ST els 139 DISCUSSION iae Jen seh d it wee Re a e Bee eed hod ed 143 Conclusion ape ABR Be ch ch ea PA GA LR ee Mas hana 144 T2220 OONCIUSIONS Ll e ie AI Me tle N T ee td A 144 7 3 D l gation par SALOME du d ploiement 145 TaLk Introductions e a urn a E A ee D E ee Se 145 7 3 2 Int gration de SALOME et d ODD SAMURAAIE 145 Captation des donn es de d ploiement par des connecteurs ODD pour SALOME gis wt eo 8 4 de do ue eee ds ee den a de hs 147 Traduction des donn es de d ploiement par des traducteurs ODD pour SALOME oo ges pes ea edt OS ce eles eek Ses a 147 Fonctionnement 407288 4 4e ee a 149 7 3 3 Implantation de l int gration de SALOME et d ODD SAMURAAIE 150 Extension d ANGE pour la technologie SALOME 150 Modification de SALOME pour l utilisation d ANGE 151 7 3 4 R alisation d une simulation num rique SALOME d ploy e par ANGE 151 1 3 0 DISCUSSION hais So aha PAS Ron Mn nat eas as 152 1 3 6 Conclusion 44 48 LRU RARE LE a Ee Ed e OO Dune Se 152 7 4
18. allouer Les acteurs de l architecture de d ploiement dynamique ODD SAMURAAIE qui captent les donn es de d ploiement sp cifiques des technologies sont les connecteurs On a donc choisi de remplacer ces deux gestionnaires par deux connecteurs ODD con us pour la technologie SALOME En plus de capter des donn es de d ploiement afin de les transmettre des traducteurs ODD les connecteurs ODD peuvent reprendre certaines activit s des l ments qu ils remplacent Tel est le cas des connecteurs rempla ant les gestionnaires de ressources et de conteneurs de composants de SALOME Le connecteur rempla ant le gestionnaire de ressources appel connecteur de ressources ne donne pas de nom d ordinateur sur lequel ex cuter un conteneur comme le faisait pourtant l l ment qu il remplace Cette activit revient d sormais l architecture de d ploiement dynamique ODD SAMURAAIE N tant appel que par le gestionnaire de conteneurs de composants qui est lui m me remplac ce changement n a aucun impact dans SALOME En effet le connecteur rempla ant le gestionnaire de conteneurs de composants appel connecteur de conteneurs de composants n appelle pas le gestionnaire de ressources comme le fai sait l l ment qu il remplace Par ailleurs il n ex cute pas de conteneurs de composants non plus Cette activit revient d sormais l architecture de d ploiement dynamique ODD SAMURAAIE Toutefois il continue de scruter l enregistrem
19. contraintes architecturales et logistiques r gissant le fonctionnement des syst mes informatiques en utilisant le concept de correspondance entre contenants et contenus En r ponse cette fois l analyse des travaux existants dans le domaine la section 4 4 page 88 du chapitre 4 propose un second mod le le mod le d automatisation du d ploiement d ap plications Ce mod le est appel mod le de d ploiement sur demande ODD Afin de traiter continuellement les trois tapes du d ploiement ce mod le organise quatre classes d acteurs que sont les gestionnaires les abstracteurs les traducteurs et les connecteurs Le chapitre 5 page 101 propose une implantation sous la forme d un moteur extensible de d ploiement de l architecture de d ploiement dynamique ODD SAMURAAIE obtenue de la combinaison des deux mod les propos s Cette implantation est appel e Adage Nouvelle G n ration ANGE reprenant ainsi le nom d un outil de d ploiement issu de travaux pr c dents La partie IV valide l architecture et le moteur propos s en partie III Elle contient les cha pitres 6 Automatisation du d ploiement d applications parall les param triques et en flot de travail et 7 Automatisation du d ploiement de simulations num riques SALOME Le chapitre 6 page 111 valide la combinaison des deux mod les propos s en tudiant l auto matisation avec l architecture ODD SAMURAAIE de trois cas de d ploiement Il s agit de d
20. de flot de donn es simplement de donn es ou de flux de donn es Une connexion de quelque type qu elle soit n est possible qu entre des ports compatibles c est dire de types compatibles et d orientations compl mentaires depuis les sorties vers les entr es 1 Les connexions de flot de contr le connectent des ports de contr le d ex cution Pour une connexion de flot de contr le une fois termin e l ex cution du n ud auquel appartient le port de contr le d ex cution sortante le superviseur d marre l ex cution du n ud auquel appartient le port de contr le d ex cution entrante 2 Les connexions de flot de donn es connectent des ports de donn es et g n rent des con nexions de flot de contr le entre les n uds auxquels appartiennent les ports de donn es impliqu s Ainsi le superviseur ne fait circuler les donn es entre les ports que lorsque le permet l ordre d ex cution fix par les connexions de flot de contr le g n r es 3 Les connexions simplement de donn es sont des connexions de flot de donn es pour les quelles aucune connexion de flot de contr le n est g n r e 4 Enfin les connexions de flux de donn es connectent des ports de flux de donn es Ces connexions peuvent impliquer un port de flux de donn es sortantes et plusieurs ports de flux de donn es entrantes et inversement Les tapes par lesquelles passe un n ud pour son ex cution s enchainent donc ainsi 135 1 Le n ud acq
21. e dans un fichier dont le chemin d acc s est fourni en param tre au moteur d ex cution 125 Un gestionnaire de base de donn es Ce gestionnaire lit et crit un fichier dont le chemin d acc s lui est donn en param tre Il peut fonctionner normalement ou en tant que man dataire Pour le mode de fonctionnement en mandataire un param tre suppl mentaire indiquant l adresse du gestionnaire r el est n cessaire Trois programmes s quentiels Ces programmes manipulent l information m moris e dans la base de donn es Un programme parall le Ce programme dont les processus communiquent par passage de messages termine le flot de travail et manipule l information m moris e dans la base de donn es de m me que les composants s quentiels qui le pr c dent dans le flot consid r Ce programme fiat appel la biblioth que partag e de communication par interconnexion Infiniband pr sent e dans le cas de d ploiement pr c dent Le flot lui m me a une forme de losange le dernier composant tant effectivement le composant parall le et les deux composants pr c dents s ex cutant parall lement Un fichier de base de donn es est galement fourni pour cette application De m me que pour les deux cas de d ploiement pr c dents l utilisateur a ouvert une ses sion de travail sur son ordinateur personnel Il a un compte sur la grille distante d ordinateurs grille dont il connait l identifiant sur le r seau et qui de
22. fondateurs du Groupe des Pingouins Libres l INSA Lyon j ai pu surmonter la plupart des situa tions de handicap dans lesquelles m abandonnaient l informatique grand public d une part et les solutions privatrices d assistance technologique au handicap d autre part Parce que vos produits sont ouverts et que vous tes attentifs la diversit de leurs utilisateurs j ai pu les ma triser et me d velopper avec eux jusqu obtenir le titre J embrasse amicalement tous ceux qui m ont support au travail ou dans la d tente pour le meilleur ou pour le pire Merci vous MM Lottiaux Gallard Utard Fertr Rilling Jeanvoine Parpaillon Raoult Collin Leprince et Prisker ainsi que M Bouziane Dr meau et Vergerio Merci aux membres du projet SYMBIOSE qui avez accueilli dans votre couloir du b timent 12D VIRISA le r fugi climatique en provenance du b timent 12E que j tais Merci galement tous les membres de la batucada de VIRISA jouer de la caisse claire dans une fanfare en dansant les yeux ferm s et avec des bouchons dans les oreilles fut une exp rience inoubliable J embrasse tendrement cette fois M Sarah Quaresimin ma compagne et M C lestine Daix notre fille Sarah nous avons travers ensemble cette formidable aventure et je te dois d abord d y tre entr puis d en tre ressorti Parce que les mots me manquent je reprendrai l expression de la physicienne et pist mologue M Miora Mugur Sch
23. moire vive De Ro Su A rs a A y x Pi A LES N 4 N 1 Processeur Y N ka gt y Ss fa q k M moire de masse y Fichier ex cutable Empreinte m moire FIGURE 4 4 Abstractions SAMURAAIE d un ordinateur qui ex cute un processus 83 Disque Dur Fichier ex cutable FIGURE 4 5 Un arr t de processus ex cut sur un ordinateur 84 ervice d ex cution Syst me d exploitation Processeur Requ te d ex cution il de ex cution FIGURE 4 6 Abstractions SAMURAAIE d un arr t d un processus ex cut sur un ordinateur Arr t d un processus en cours d ex cution Un exemple au niveau Actions est l arr t du processus ex cut sur l ordinateur de l exemple pr c dent La figure 4 5 page 84 illustre cet exemple L ordinateur est exploit par un syst me qui comporte un service d ex cution portant sur le processeur de cet ordinateur La t che comporte une requ te d ex cution portant sur l activit de ce processus Les abstractions SAMURAAIE qui correspondent cet exemple sont les abstractions Services Programme et D ploiement qui suivent voir la figure 4 6 page 85 Abstraction Services Cette abstraction comporte un sommet d agr gation de type Syst me un sommet simple de type Service d ex cution les sommets de types
24. n it et de dynamicit 42 Chapitre 3 D ploiement dans le contexte de l informatique haute performance 3 1 Introduction Disposer de ressources d applications et de syst mes d exploitation haute performance ne suffit pas Encore faut il utiliser ces syst mes d exploitation afin d allouer une partie de ces ressources ces applications installer ces applications et les ex cuter La classification des technologies d informatique haute performance propos e dans le chapitre pr c dent s pare ces trois classes de technologies et en illustre la grande diversit En revanche elle ne traite pas de ce qui incombe quiconque voudrait les utiliser Ce chapitre compl te la classification du pr c dent en ajoutant une quatri me classe la classe des technologies de d ploiement Il commence par proposer une d finition du processus de d ploiement puis il illustre cette d finition par des exemples Il poursuit en pr sentant les approches actuelles afin d effectuer les tapes de d ploiement l une apr s l autre d abord puis l ensemble du processus Enfin il discute les limites de ces approches 3 2 Cycle de vie des applications sur les ressources Le cycle de vie d une application illustr par la figure 3 1 page 44 comporte deux tapes le d veloppement et le d ploiement 3 2 1 D veloppement Le d veloppement d une application est un processus de production qui incombe ses d ve loppeurs Regrou
25. par la quantit d v nements consign s entre chaque modification Les logiques des technologies tant s par es de la logique de d ploiement elles peuvent tre multipli es volont Par ailleurs elles influencent la logique de d ploiement en d cidant de la quantit d information qu elles transmettent aux abstracteurs d une part D autre part si une partie de la logique de d ploiement se trouvait dans l environnement alors elles peuvent en abstraire les d cisions Par exemple la d cision d un associateur externe tel que l utilisateur peut tre transmise par un connecteur qui la distribuerait un traducteur de d ploiement 4 5 Conclusion Les mod les compl mentaires SAMURAAIE et ODD constituent une architecture de d ploiement dynamique d application architecture capable de r soudre des situations complexes de d ploiement la place de l utilisateur En proposant un mod le d abstraction trois niveaux instances actions et v nements des syst mes informatiques SAMURAAIE permet de consi d rer le d ploiement non plus comme un processus lin aire mais comme un cycle permanent Fond sur SAMURAAIE le mod le d automatisation ODD propose de distinguer la logique de d ploiement et les logiques des technologies impliqu es afin de fonctionner dans des environne ments de d ploiement parall les h t rog nes et dynamiques tels qu en informatique haute performance 99 100 Chapitre 5 Proto
26. pr sent dans ce r pertoire Il n aurait pas encore t abstrait produit par exemple par une entit active de l environnement de d ploiement Une fois ex cut e par le gestionnaire Ex cuteur ces requ tes de test ont un r sultat l tat TERMIN ou CORROMPU Dans le premier cas Conseiller peut changer directement l tat du fichier pour l tat TERMIN afin de signifier sa pr sence En revanche si ces requ tes sont en chec il doit d cider quels l ments de contenu en amont mettre en attente Le gestionnaire Ex cuteur pourrait fournir un m canisme de tol rance aux d faillances Puis qu il analyse les l ments d instance la port e des requ tes qu il ex cute avant d ex cuter les requ tes suivantes Ex cuteur peut ex cuter de nouveau des requ tes en chec Par exemple si l l ment Blob de copie d un r pertoire quitte son tat d attente pour tre en chec apr s que Ex cuteur ait ex cut la requ te de copie correspondante alors Ex cuteur peut ex cuter nouveau cette requ te avant d ex cuter les requ tes suivantes dans le flot des requ tes que la t che agr ge Si le probl me persistait alors il mettrait la t che elle m me en chec 6 7 Conclusion Les trois cas de d ploiement trait s ci dessus ont permis de valider l architecture de d ploie ment dynamique ODD SAMURAAIE Dans les trois cas cette architecture a en effet trait l allocation de ressources l installation de l application
27. rence des abstractions avec l environnement les v nements sont abs traits avant d tre trait s Dans le d tail les interactions d acteurs ODD pour la modification d une abstraction sont les suivantes voir la figure 4 14 page 97 95 sdusL uonnnseu uoiysinboy uoneoyIpow sinajpauuo S921N0SS91 ap Sin9 2npell aje ap SIN PNPLIL uonjeboijdde p sinsj2npell saoi uas ap SINIJMNPLAL juewslo dep ap sinajpnpeiy awuwelbold ap sinsj2npeil S221N0 SS91 ap INn9 221 SqY 28 ap n pensqy uoljesijdde p unayaeujsqy SIMS ap 1nappeijsqy quawalo dap ap 1n21221 5qv awweliboud ap 1napeijsqy 1NajNIXJ Ja lasuoD 4nayelsossy sinapy FIGURE 4 13 Interactions simplifi es des acteurs ODD 96 Acteurs Controlleur Abstracteur Journal Gestionnaire Associateur Abstracteur Message Abstracteur Acteur Temps FIGURE 4 14 Interactions d acteurs ODD pour la modification d une abstraction Un premier acteur appelle un premier abstracteur afin de modifier une premi re abstrac tion Le premier abstracteur appelle l abstracteur de messages afin d abstraire cette modifi cation il ajoute une modification des messages et les relations d agr gation entre ces messages et cette modification de pr c dence entre ces messages et de port e entre ces messages et des l ments de la premi re abstraction L abstracteur de messages cr e une n
28. s et la copie de ses fichiers de r sultats Connecteur MPI Le connecteur MPI permet d abstraire une application MPI Il est appel par l utilisateur qui lui transmet l information technologique pour son application En implantant une forme simple de comportement adaptatif ce connecteur permet galement de fixer le nombre de processus s ex cutant parall lement Pour ce faire il appelle les traducteurs d ordinateurs et d application MPI Si le nombre de processus s ex cutant parall lement ne lui est effectivement pas pr cis il consulte d abord le traducteur d ordinateurs afin de lui demander le plus grand nombre de processeurs fonctionnant correctement et compatibles avec les activit s des processus puis appelle le traducteur d application MPI afin d abstraire l application comportant autant de processus 6 4 D ploiement sur grappes d ordinateurs d applications para m triques Dans cette section l utilisateur a acc s une grappe d ordinateurs multi processeur Il veut y d ployer une application param trique dont il dispose Apr s avoir d taill la grappe et l ap plication cette section explique comment l architecture ODD SAMURAAIE traite ce cas de d ploiement 6 4 1 Une grappe d ordinateurs et une application param trique La grappe consid r e d ordinateurs est une grappe de stations multi processeur de travail exploit e par TORQUE Elle comporte 128 de ces stations chacune ayant deux processeurs Intel Xeo
29. s plus bas Parmi ces langages figure la version 1 0 du langage de description de soumission de t ches Job Submission Description Language JSDL 51 propos fin 2005 par le forum ouvert de la grille Open Grid Forum OGF En plus de la commande ce langage permet de sp cifier des variables d environnement des fichiers placer avant et d placer apr s l ex cution des dur es totales d ex cution et m me des caract ristiques de ressources de calcul attendues Ces caract ristiques sont sp cifi es dans les termes simples des langages de description de ressources pr sent s ci dessus Par exemple une description JSDL peut comporter la capacit minimale en m moire vive de l ordinateur attendu Ces langages n offrent qu une description restreinte des applications 54 Issus du domaine du g nie logiciel les langages de description d architecture logicielle Ar chitecture Description Languages ADLs ont un autre objectif que les langages de soumission de t ches Ils permettent de sp cifier et de concevoir des applications notamment en d finissant des composants et des ports puis en associant les ports aux composants et enfin en connectant les ports Ces langages suivent le principe de s paration des pr occupations 52 et plus particuli re ment le patron de conception d inversion du contr le Inversion of Control IoC 53 Parmi ces langages figurent Acme 54 Wright 55 et Darwin 56 Acme a d abord t con u en t
30. senter l environnement de d ploiement du point de vue de l utilisateur comportant des ressources des syst mes d exploitation des appli 74 cations voire des outils de d ploiement auxquels cet utilisateur aurait acc s Cet environnement changeant dans le temps ce langage permet de repr senter autant les l ments informatiques que les actions sur ces l ments et les v nements en provenance de ces l ments v nements qui les ont fait font ou feront changer Ces caract ristiques justifient le nom System Abstrac tion Model for User Resources and Applications Actions on Instances of and Events from SAMURAAIE Cette section pr sente d abord la structure g n rale de SAMURAAIE que sont les graphes orient s de contenant de contenu et d association Puis elle pr sente les trois niveaux d informa tion dans SAMURAAIE que sont les instances les actions et les v nements Elle fournit ensuite une table de symboles permettant de figurer des abstractions SAMURAAIE Elle propose des exemples illustrant SAMURAAIE Enfin elle discute ce mod le d abstraction 4 3 1 Contenant contenu et association SAMURAATE permet d abstraire trois types de contraintes Les deux premiers correspondent aux contraintes du processus de d ploiement introduites dans le chapitre pr c dent c est dire les contraintes de compatibilit et de faisabilit Le troisi me type de contraintes correspond la consistance de l abstractio
31. 3 2 Cycle de vie des applications sur les ressources 32 11 D veloppement 226 4 4 4 4 da best die ardt nn de ti une Ans 3 2 2 D ploiement 6 2 84 5a bonis DEA Pe PERE Re E CRA es 45 3 2 3 Contexte de l informatique haute performance A7 Respect du principe de compatibilit A7 Respect du principe de faisabilit 48 3 3 Exemples de d ploiement 48 3 3 1 Application param trique sur ordinateur 48 GCas de d ploiement z m maus wea eet ok iti a N Eg a UE mn Pa ee a 48 Processus de d ploiement 49 3 3 2 Application parall le sur grappe d ordinateurs 50 Cas de d ploiement 50 Processus de d ploiement 51 3 3 3 Application en flot de travail sur grille d ordinateurs 51 Cas de d ploiement 52 Processus de d ploiement 52 Id DISCUSSION e s ria BA se BAR Un eek Pte we ek ns d Halle ae L 2 53 3 4 Allocation installation et ex cution 54 SAT Allocation ssl ta A et Se ee d ln Z SN a A 54 Langages de description 54 Syst mes d information 56 Ordonnanceurs a eA ol e TM eh As 57 3 42 5 Installations ess fic te an a ee oe ete dns
32. ANGE 101 A rato wt eS Oe A int Mt te th ok Et ok ato Aa 101 5 27 G n ralit se 22 a So a ee OP a Ee A A LS 101 5 3 Implantation de SAMURAAIE 102 5 3 1 Abstractions l ments et relations 102 5 3 2 Caract ristiques des l ments et des relations 103 5 3 3 Sauvegarde des caract ristiques dans une base relationnelle 103 54 Tmplantationd ODD macia d a is A dan op Bold on SW G AVR Beene 104 Bd Gestionnatres it te EM pates A ek ds Be LE subie he 105 0 4 27 ADStraCteUrS ut oh Mu a pret AN Gok Oe ANR ee ae A 105 54 37 Traducteurs x c ra du dun in DE din E But S R VE done oe Leslie 3 105 BALA Connecteurs A A ee ae de RE ND PE d EM NDS nn 106 5 5 Ajout du support d une technologie 106 DH DISCUSSION inn me Me unes A A Wl BASE DE noms US tes Se eh Al 107 SIES CONCIUSION LES HU ANR A he RA ARR Ae e RIA ee a 108 IV Validation 109 6 Automatisation du d ploiement d applications parall les param triques et en flot de travail 111 621 Introductions A A ET AS 111 6 22 RIMCIDES ate ach rit he POS fe S RE BOY Got Oe te heed 111 6 3 D ploiement sur ordinateurs d applications parall les 112 6 3 1 Un ordinateur et une application parall le 112 6 3 2 TraitementavecODD SAMURAAIE 113 5 Abstraction avec SAMURAAIE 2 0 113 Automatisation avec ODD
33. C est par exemple le cas de l outil d installation compl tement automatis e Fully Automated installation FAI 70 pour le syst me d exploitation Debian GNU Linux Toutefois les applications elles m mes sont rarement conditionn es sous la forme d images disques Archives Une archive est un fichier contenant d autres fichiers et r pertoires de fichiers G n ralement compress e une archive est facile transmettre GNU Tar GNU cpio RAR et ZIP sont des exemples d outils d finissant des formats d archives et permettant d en manipuler Lorsque seul le code source d une application est disponible ou bien que des optimisations suppl mentaires du code binaire puissent tre obtenues avec cette tape l installation comporte galement une tape de compilation Les outils GNU autotools et GNU Compiler Collection permettent de compiler du code source crit dans de nombreux langages de programmation Paquets Un paquet est une archive de fichiers laquelle ont t ajout es des meta donn es Ces meta donn es sont g n ralement d crites dans un fichier particulier lui m me contenu dans l archive Un paquet peut contenir des fichiers de toute sorte S il contient des fichiers de code source seulement alors un paquet est g n ralement qualifi de paquet source sinon de paquet binaire Les meta donn es peuvent par exemple comporter le nom du paquet sa description sa version les noms des paquets dont il d pend une s quenc
34. Connecteur correspondants Services Le syst me d exploitation de l ordinateur personnel de l utilisateur celui de la station de travail laquelle il a acc s et leurs services de m morisation et d ex cution sont abstraits dans l abstraction Services Le syst me d exploitation de l ordinateur personnel est un l ment Syst me agr geant trois l ments Service de m morisation Ces services permettent de cr er copier ou supprimer des fichiers dans le r pertoire personnel de l utilisateur tels sont donc leurs types d action Quatre relations de port e relient l l ment Syst me l l ment Ordinateur de l utilisateur et les l ments Service l l ment M moire de son r pertoire personnel Tous ces l ments ont l tat OK Le syst me d exploitation de la station est galement un l ment Syst me Cet l ment agr ge sept l ments Service de m morisation et d ex cution Ces services permettent de cr er copier 114 et supprimer des fichiers dans les m moires de masse de la station et de d marrer suspendre reprendre ou arr ter des activit s sur ses processeurs 3 x 2 1 4 8 39 relations de port e relient les l ments Service de m morisation aux l ments M moire de masse de la station l l ment Service de copie de fichiers galement l l ment M moire de masse de l ordinateur de l utilisateur et les l ments Service d ex cution aux l ments Processeur de la station Tous ces
35. EXT4 de GNU Linux le syst me de fichiers partag en r seau Networked File System NFS le syst me de fichiers virtuel parall le Parallel Virtual File System PVFS 49 et le syst me de fichiers r parti et parall le Lustre 42 Ex cution Afin d ex cuter les applications qu on leur soumet les syst mes d exploitation comportent un service d ex cution qui organise le partage des ressources diff rents niveaux et la fois dans le temps et dans l espace Pour le partage dans le temps bas niveau les traitements utilisent les processeurs par intermittence haut niveau avant d tre ex cut es les applications peuvent patienter dans des files d attente Pour le partage dans l espace bas niveau des traitements sont ex cut s simultan ment sur diff rents processeurs et se partagent ventuellement l acc s des m moires vives haut niveau les applications sont ex cut es sur des partitions de l ensemble des ressources Les services d ex cution comportent les cinq parties suivantes Une interface de soumission d applications Un m canisme de gestion de files d attente Un ordonnanceur Un m canisme d ex cution d applications Un m canisme de suivi de processus sur des processeurs Les administrateurs d cident de la politique d ex cution mise en uvre par l ordonnanceur du service d ex cution entre une ex cution imm diate sur des ressources ventuellement d j utili s es ou une ex
36. En pratique il fournit deux fonctions appel es map_module_on_host et get_container_name_in_naming_service dont les param tres sont respectivement des noms de modules et d ordinateurs associ s et le nom d un conteneur pr alablement de mand La fonction map_module_on_host ajoute dans l abstraction SAMURAAIE de carte l association entre le module et l ordinateur La fonction get_container_name_in_naming_service construit le nom du conteneur dans le service de d signation d objet CORBA Pour ce faire elle cherche dans l abstraction SAMURAAIE de carte une association entre le conteneur et un ordinateur Traducteur de programme Le traducteur de programme traduit l abstraction SAMURAAIE de programme en commandes pour les implantations de conteneurs En pratique il fournit une fonction appel e args dont le param tre est la requ te SAMU RAAIE de cr ation d un conteneur Cette fonction construit les arguments de la commande permettant d ex cuter le conteneur Pour ce faire elle cherche dans l abstraction SAMU RAAIE d application le processus du conteneur Fonctionnement Une fois con us les connecteurs et les traducteurs ODD pour SALOME afin de respectivement capter et traduire les donn es de d ploiement l int gration de l approche de d ploiement de SALOME et l architecture de d ploiement dynamique ODD SAMURAAIE fonctionne comme suit 1 Le connecteur de ressources transmet les meta donn es d ordinateurs ainsi que les noms d
37. Green500 7 encourage les acteurs de l informatique haute performance prendre en compte la durabilit de leurs infrastructures Le projet EcoGrappe va galement dans ce sens S ils peuvent tre tudi s les co ts les surfaces l nergie consomm e et le nombre d op rations perdues sont toutefois encore peu pris en compte dans l laboration du classement principal 2 2 2 Facteurs d am lioration des performances Le second principe de la classification que propose ce chapitre est de distinguer trois facteurs am liorant l informatique Outre l am lioration individuelle ces facteurs sont la multiplication la sp cialisation et la variation du nombre d l ments impliqu s L am lioration individuelle des l ments mat riels suit la loi ou proph tie auto r alisatrice de Moore 8 illustr e par la figure 2 2 page 25 loi qui stipule que le nombre de transistors dans les ressources doublerait tous les 24 Loi de Moore 1200000000 1000000000 800000000 600000000 Acc l ration 400000000 200000000 0 1958 1961 1964 1967 1970 1973 1976 1979 1982 1985 1988 1991 1994 1997 2000 2003 2006 2009 2012 2015 2018 Ann e FIGURE 2 2 Loi de Moore deux ans Pour les l ments logiciels cette am lioration correspondrait l optimisation de leur programmation Les d finitions des trois facteurs d am lioration sont les suivantes Parall liser Multiplier des l ments homog nes mat riels et logici
38. Modification Restitution FIGURE 4 12 Interactions des classes d acteurs ODD autant de l infrastructure informatique que de l application voire d interface avec l utilisateur En d autres termes ils constituent une double interface de programmation La premi re est destin e l environnement afin que celui ci manipule l implantation du mod le ODD La seconde est destin e cette implantation afin qu elle manipule l environnement La technologie support e caract rise un connecteur Les connecteurs ODD peuvent tre actifs de plusieurs mani res D abord ils distribuent aux traducteurs l information obtenue de l environnement et r ciproquement Les connecteurs de ressources ou de services peuvent par exemple indiquer aux traducteurs d application que sont d j m moris s des fichiers ex cutables l mentaires tels que des outils d archivage ou des compilateurs Ils peuvent galement utiliser les abstractions afin d adapter une partie de l environnement au reste de celui ci Par exemple un connecteur de ressources peut en r server partir du nombre d activit s en attente De m me un connecteur d application peut choisir une implantation partir de l architecture de jeu d instructions des processeurs op rationnels mais non associ s En connectant l implantation du mod le ODD d automatisation du d ploiement d applica tions l environnement de d ploiement les connecteurs ODD consultent et modifient toutes les abst
39. Networks VPNs tels que OpenVPN et les applications pair pair dont Chord 38 et les tableaux d indexation r partie Distributed Hash Tables DHTs sont des mod les et JXTA et Gnunet des implantations Les traitements utilisant ces protocoles afin de communiquer peuvent ainsi le faire ind pendamment des connecteurs Discussion La performance de l informatique d pend non seulement de celle de son infrastructure mais galement de l ad quation des technologies d applications qui sont utilis es En effet le nombre de technologies d applications est grand mais toutes ne permettent pas d obtenir des perfor mances quivalentes L ad quation des technologies d applications utilis es est double celle par rapport au probl me que l application traite d une part et celle par rapport aux technologies de ressources d autre part L ad quation des technologies d applications au probl me trait est de la responsabilit du d veloppeur Pour implanter un grand nombre de traitements ind pendants celui ci choisira par exemple une technologie d application param trique Cette ad quation peut galement tre ren forc e par l optimisation des algorithmes utilis s c est dire par la ma trise de leurs complexit s 36 en occupation du processeur temps et de la m moire vive espace Elle peut galement voluer avec le probl me trait que celui ci grossisse ou se complexifie L augmentation du nombre de points d un maillage et
40. ODD doit tre enrichie Dans cette premi re implantation les algorithmes des gestionnaires Associateur et Conseiller sont na fs Plusieurs techniques permettraient de les am liorer Ils pourraient comporter des heu ristiques tre distribu s sur plusieurs ordinateurs tre remplac s par des meta heuristiques par un solveur de probl me de satisfaction de contraintes ou par un syst me expert Dans ce do maine des r sultats en recherche op rationnelle peuvent ainsi tre appliqu s afin de perfectionner la logique de d ploiement Le connecteur fourni d embl e par cette premi re implantation est limit En particulier l agent des connecteurs POSIX et POSIX par SSH savent effectuer les instructions que leur envoie la partie centrale du connecteur ils ne savent cependant pas retransmettre ces ins tructions d autres agents lorsque celles ci ne leur sont pas destin es Bien que l architecture ODD SAMURAAIE le permette ceci emp che ANGE d envoyer des instructions au del des 107 ordinateurs auxquels la partie centrale est directement connect e Par ailleurs davantage de connecteurs sont attendus en particulier pour les ordinateurs exploit s par des gestionnaires de lots ou pour les intergiciels d applications MPI CCM CORBA et en flot de travail 5 7 Conclusion En moins de 3300 lignes uniques de code le moteur ANGE est la premi re implantation de l architecture ODD SAMURAAIE de d ploiement dynamique d applications L
41. SLOCs Le langage de programmation de cette biblioth que Python 97 est orient objet typ dynamiquement et interpr t Les d pendances entre les classes de la seconde partie sont inject es hors de leur d fi nition dans celle de la biblioth que selon le patron de conception injection de d pendances 53 Le code source d ANGE est conforme aux conventions Python et comporte des tests ainsi qu une documentation embarqu e La conformit du code a t test e avec l outil de validation statique pylint 98 En plus des traditionnels tests unitaires certains tests sont embarqu s dans la documentation gr ce aux conventions doctest de Python Cette documentation est elle m me embarqu e dans le code source gr ce la fonctionnalit docstrings de Python Une archive de ce code est disponible sur demande 101 A Abstraction Element IX A A AbstractionRessources AbstractionApplication Agr gation Liaison E SS i E E F AbstractionCarte AbstractionServices Acc s ps ES os O m EY AY EAS EA k AbstractionProgramme AbstractionD ploiement Blob Processus Copie E Y E EY F AbstractionCapteurs AbstractionMessages Activit Fourniture ET ol Activit ST EE nl A AbstractionJournal Service TA ss Oia A 7 n D lt 2 4 5 D 3 o z a 5 D Message FIGURE 5 1 Hi rarchie des classes d objets de l implantation du
42. USA p 235 245 Morgan Kauf mann Publishers Inc 1973 STOICA 1 MORRIS R KARGER D et al Chord A Scalable Peer to Peer Lookup Service for Internet Applications dans Proceedings of the 2001 Conference on Applica tions Technologies aRchitectures and Protocols for Computer Communications p 149 160 2001 JHA S KAISER H MERZKY A et WEIDNER O Grid Interoperability at the Application Level Using SAGA dans ccepted for International Grid Interoperabilty and Interoperation Workshop 2007 IGIIW 2007 2007 BOVET D P et CESATI M Understanding the Linux Kernel Oreilly octobre 2000 SCHMUCK F et HASKIN R GPFS A Shared Disk File System for Large Computing Clusters dans FAST 02 Proceedings of the 1st USENIX Conference on File and Storage Technologies Monterey CA USA p 19 USENIX Association 2002 Lustre Operations Manual version 1 8 mai 2009 Morin C GALLARD P LOTTIAUX R et VALL E G Towards an Efficient Single System Image Cluster Operating System Future Generation Computer Systems vol 20 n 2 janvier 2004 JEANVOINE E RILLING L MORIN C et LEPRINCE D Using Overlay Networks to Build Operating System Services for Large Scale Grids Scalable Computing Practice and Experience vol 8 n 3 2007 p 229 239 Special issue on Practical Aspects of Large Scale Distributed Computing selected paper and extended version
43. actions ou d v nements 4 3 2 Instances actions et v nements Afin de g rer le d ploiement d applications sur des ressources dans le contexte de l infor matique haute performance SAMURAAIE permet d abstraire les instances de ressources et d applications les actions sur les ressources pour les applications et les v nements portant sur ces instances et ces actions ces trois niveaux d abstraction correspondent les trois types de contraintes introduites ci dessus qui peuvent galement tre qualifi es de contraintes architec turales logistiques et de consistance chacun de ces trois niveaux correspondent trois graphes orient s ou abstractions les graphes de contenant de contenu et d association Ce d coupage donne neuf abstractions dont les noms figurent dans le tableau 4 2 page 78 Ressources Application et Carte Le premier niveau d abstraction le niveau Instances comporte les abstractions Ressources Application et leur ventuelle association Carte Les sommets de ces abstractions sp cialisent les sommets de base et les abstractions Ressources et Application introduisent de nouveaux types d arcs l ments d instance Les types de sommets des abstractions Ressources et Application fi gurent le d coupage en information op ration et transmission introduit pour la classification pr sent e dans les deux chapitres pr c dents Ils figurent galement les caract ristiques de ces trois sous classes
44. applications Le processus de d ploiement est r gl par deux principes la compatibilit des ressources et des applications d une part et la faisabilit de l allocation de ressources de l installation des applications et de leur ex cution gr ce aux syst mes d exploitation des ressources d autre part Respecter ces principes dans le cas d une station de travail et d une application s quentielle est simple Pour ce faire il suffit de v rifier que les technologies de la station et de l application 45 Allocation Installation Empreinte M moire Empreinte M moire Barrette M moire Barrette M moire Traitement Traitement Processeur Processeur Fichier ex cutable Fichier ex cutabl Disque Dur Disque Dur Empreinte M moire eS Barrette M moire Traitement de Processeur ichier ex cutabl Disque Dur FIGURE 3 2 Intuition du processus de d ploiement 46 Compatibilit Faisabilit Parall lisme Correspondance topologique simple Support technologique r parti H t rog n it Correspondance topologique complexe Support technologique multiple Dynamicit Correspondance topologique variable Support technologique adaptatif TABLE 3 1 Probl mes du d ploiement en informatique haute performance soient compatibles et que le syst me d exploitation de la station permette l allocation de la station l installation de l application et son ex cution La plupart des utilisateurs f
45. association objet base relationnelle rend les abstractions SAMURAAIE persistantes et permet d interroger facilement celles ci L injection des d pendances entre objets qui a lieu lors de l initialisation du moteur facilite l ajout du support de davantage de technologies Ce support prend simplement la forme de sp cialisations des classes Traducteur et Connecteur A priori des implantations r par ties des abstractions et des acteurs tant possibles la taille des infrastructures et de l application support es ne semble pas limit e Bien que des am liorations soient d j envisag es cette premi re implantation va permettre de mener dans un chapitre suivant les exp riences qui valideront pratiquement l architecture ODD SAMURAAIE propos e dans le chapitre pr c dent 108 Quatri me partie Validation 109 Chapitre 6 Automatisation du d ploiement d applications parall les param triques et en flot de travail 6 1 Introduction Les deux chapitres pr c dents proposent respectivement ODD SAMURAAIE une architec ture de d ploiement dynamique d application et ANGE un prototype de cette architecture Gr ce au mod le SAMURAAIE sur lequel il se fonde le mod le ODD peut automatiser diff rents cas de d ploiement pour l utilisateur Cette architecture est particuli rement destin e aux cas de d ploiement impliquant des technologies parall les h t rog nes et dynamiques Quant ANGE il a t d
46. bas niveau propre leur architecture Par cons quent si le jeu d instructions utilis par un programme donn diff re de celui offert par un processeur donn alors ce programme risque de ne pas fonctionner directement sur ce processeur Le cas ch ant et si cela s av rait opportun un programme d di pourrait tre crit en utilisant le jeu d instructions du processeur afin d offrir un autre jeu d instructions on parle alors d mulation voire de virtualisation Toutefois en augmentant le nombre d appels aux instructions pour fonctionner un tel programme restreint la puissance de calcul disponible Par exemple un programme utilisant un jeu d instructions 1686 ne peut pas fonctionner directement sur un processeur ayant un jeu d instructions AMD64 Un tel programme aurait besoin d un mulateur de processeur 1686 pour AMD64 Installation Afin d installer son application sur l ordinateur allou l utilisateur doit d abord transf rer le sous r pertoire de cette application depuis son r pertoire personnel sur son ordina teur vers celui sur l ordinateur allou Pour ce faire il doit utiliser le protocole de transfert de fichiers disponible sur cet ordinateur SCP L utilisateur doit ensuite consid rer les nouveaux chemins d acc s aux r pertoires de son application et d criture temporaire dans la perspective de l ex cution de son application En effet les chemins d acc s son r pertoire personnel et au 49 r pe
47. ci sous forme de graphes orient s avec les symboles du mod le SAMURAAIE 5 4 4 Connecteurs Les connecteurs ODD connectent les technologies de l environnement celle de l implantation d ODD et r ciproquement Les implantations de ces connecteurs diff rent donc d une technolo gie une autre La premi re connexion que propose cette implantation est une console afin de suivre le fonctionnement de cette implantation Outre cette connexion directe en Python cette implantation fournit d embl e des connecteurs POSIX POSIX par SSH et YAML RPC L im plantation de ces connecteurs comporte 100 lignes uniques de code soit 4 de l implantation du mod le ODD et 3 de l implantation compl te Les connecteurs POSIX et POSIX par SSH permettent d utiliser des ordinateurs locaux ou distants exploit s par des syst mes GNU Linux et sur lesquels des serveurs SSH attendent les connexions des utilisateurs En effet lorsque des traducteurs ajoutent de nouveaux ordinateurs et les syst mes POSIX qui les exploitent le connecteur de services POSIX par SSH s y connecte puis y installe et y ex cute un agent au nom de l utilisateur Ces agents attendent la r ception d instructions telles que la soumission de commandes ou le transfert de fichiers Ce m canisme d auto d ploiement repose sur la biblioth que d ex cution distance de code Python appel e execnet que d veloppe et distribue l entreprise CodeSpeak Le connecteur YAML R
48. crivent constate qu aucune autre activit ne les lit mais qu ils sont reli s par des relations de copie Il ajoute alors des requ tes de copie portant sur les copies de ces fichiers et les relie avec celles de d marrage des activit s qui en crivent les originaux par des relations de pr c dence Enfin il agr ge toute ces requ tes dans une t che et met le tout en attente 117 Ex cuteur Le gestionnaire Ex cuteur d clenche les t ches en attente et les flots de requ tes que ces t ches comportent afin qu elles soient r alis es Dans le cas de d ploiement consid r son intervention concerne la t che de copie du r pertoire des fichiers de l application le d marrage des activit s de celle ci et la copie de ses fichiers de r sultats Apr s avoir attendu que de nouvelles actions soient d cid es Ex cuteur constate effectivement que cette t che est en attente et associ e avec le syst me d exploitation de la station de travail Il analyse les relations de pr c dence des requ tes que cette t che agr ge et pr voit de d clencher la t che ainsi que la requ te qui n est pr c d e d aucune autre la requ te de copie du r pertoire des fichiers de l application Il d clenchera ensuite toutes les requ tes qui succ dent directement cette premi re requ te celles de d marrage des activit s Enfin il d clenchera les derni res requ tes de la t che celles de copie des fichiers de r sultats Son intervention s
49. cution diff r e sur des ressources r serv es Le service d ex cution des syst mes d exploitation des ordinateurs tel que celui de GNU Linux le service d ordonnancement des 39 syst mes image unique et les outils de soumission de commande distance tels que le shell s curis Secure SHell SSH mettent en uvre une politique d ex cution imm diate En re vanche des services d ex cution suppl mentaires tels que les gestionnaires de lots mettent en uvre une politique d ex cution diff r e Ces gestionnaires sont ex cut s avec le syst me d exploi tation des ordinateurs qu ils exploitent ils ajoutent donc un niveau dans le service d ex cution global Les gestionnaires de lots produits afin d exploiter les grappes d ordinateurs comportent g n ralement deux parties La premi re appel e serveur implante l interface de soumission le m canisme de gestion de files d attente et l ordonnanceur La seconde appel e client implante les m canismes d ex cution et de suivi des processus Le serveur est g n ralement ex cut sur le n ud frontal et les clients sur les n uds de calcul ces derniers communiquant avec le premier par le r seau Parmi les gestionnaires de lots figurent par exemple le niveleur de charge LoadLeveler d IBM TORQUE et le moteur de grille N1 N1 Grid Engine de Sun Microsystems Adressage Lorsque des traitements sont ex cut s sur des processeurs ils acc dent l em preinte en m moir
50. d appli cations desquelles font partie les modules qui fournissent ces composants Par ailleurs lorsque la d finition d un conteneur abstrait comporte un nom d ordinateur l allocation d ordinateur pour le conteneur de composants qui co ncide avec lui est forc e Discussion Avant d utiliser la plate forme SALOME afin de r aliser ses simulations num riques l utili sateur doit construire ses ressources SALOME Construire ses ressources consiste allouer des ordinateurs auxquels il a acc s y installer SALOME et d clarer ses ressources SALOME aupr s de cette plate forme Les applications SALOME ne sont pas les simulations num riques elles m mes elles sont seulement des vues coh rentes de modules SALOME construites sur les ordinateurs allou s Installer SALOME consiste donc d cider de la r partition des modules SALOME sur les ordinateurs allou s les y installer avec leurs d pendances selon cette r partition et y construire les applications SALOME Parce que les applications SALOME ne comportent pas toujours les m mes modules SALOME et parce que les r pertoires d installation 143 des modules SALOME n ont pas toujours les m mes chemins d acc s l utilisateur peut devoir construire autant d applications SALOME que d ordinateurs allou s Construire ses ressources SALOME est donc d licat mais n cessaire car l allocation des or dinateurs par SALOME qui est r partie entre le gestionnaire de ressources SAL
51. d application Appel par les connecteurs de ressources et de conteneurs de com posants le traducteur d application traduit en abstraction SAMURAAIE d application la 148 description des composants figurant dans les catalogues de modules ainsi que les demandes de conteneurs En pratique il fournit deux fonctions appel es add_module et add_container dont les pa ram tres sont respectivement les meta donn es de modules et les param tres de demandes de conteneurs La fonction add_module ajoute dans l abstraction SAMURAAIE d appli cation le blob correspondant au module En effet un module SALOME tant indivisible et ses d pendances vers des codes externes ne figurant pas dans les catalogues de mo dules un module est abstrait par un seul blob SAMURAAIE La fonction add_container ajoute dans l abstraction SAMURAAIE d application les blobs les flux les activit s et les processus d une part et les acc s internes et externes aux processus d autre part Traducteur de carte Appel par les connecteurs de ressources et de conteneurs le traduc teur de carte traduit en abstraction SAMURAAIE de carte la description des installations d applications et de leurs modules sur des ordinateurs description que fournit le catalogue de ressources Inversement il traduit en noms d objets CORBA de conteneurs les associa tions entre les processus des conteneurs et les ordinateurs associations qui figurent dans l abstraction SAMURAAIE de carte
52. d entr e sont disponibles c est dire quand tous les programmes qui le pr c dent dans le flot ont produit leurs donn es de sortie Autrement dit les donn es s coulent entre les programmes Parmi les mod les d applications en flots de travail figure par exemple le langage d ex cution de services Web de processus d affaires Web Services Business Process Execution Language WSBPEL 23 propos par l organisation pour l avancement de standards d information struc tur e Organization for the Advancement of Structured Information Standards OASIS dont une implantation est le moteur de chef d orchestration Orchestration Director Engine ODE 24 pour le serveur Web Apache Applications base de composants Une application base de composants est un ensemble de composants logiciels interconnect s 25 Un composant logiciel peut g n ralement tre un en semble de composants interconnect s un assemblage ou bien un programme Un composant exhibe des ports travers lesquels il consomme ou produit des donn es En plus de leur orien tation les ports sont typ s Deux composants peuvent tre interconnect s s ils offrent des ports compl mentaires c est dire d orientations contraires et de types compatibles Les mod les d applications base de composants ont les trois caract ristiques suivantes La mani re de sp cifier un composant Certains mod les proposent pour ce faire un langage de d finition d interfaces
53. d ordinateurs distants 51 Cas de d ploiement Un utilisateur veut d ployer son application en flot de travail et il a acc s une grille d ordinateurs distants Les d tails de la situation dans laquelle il se trouve suivent Grille d ordinateurs Les ordinateurs auxquels l utilisateur a acc s sont une grille de stations de travail multi processeur r parties en deux grappes Les deux grappes sont celles d crites pr c demment Le syst me d information et le gestionnaire de t ches s ex cutent sur les ordinateurs passerelles Application en flot de travail L application comporte neuf l ments un programme prin cipal un conteneur de composants cinq composants a b c et d un moteur de flot de travail une description de flot de travail et un jeu de donn es traiter Le programme principal est un fichier binaire GNU Linux 1686 32 bits activant le composant moteur de flot de travail dans un conteneur Le conteneur de composants est un fichier binaire GNU Linux 1686 32 bits dont le param tre est le chemin d acc s au composant qu il devra charger Les composants sont des biblioth ques binaires GNU Linux 1686 32 bits partag es Le composant moteur de flot de tra vail sait lire une description de flot de travail puis en charger et en connecter les composants dans des conteneurs Le composant a sait lire un jeu de donn es traiter et envoyer des donn es pr trait es deux composants b et c Les composants b et c savent
54. dans le r pertoire home user personnel de l utilisateur sur son ordinateur Enfin l utilisateur connait les param tres de l tude qu il veut mener mais ne sait pas combien d esclaves ex cuter 6 4 2 Traitement avec ODD SAMURAAIE Cette sous section pr sente d abord abstraction par abstraction comment le sc nario de d ploiement sur une grappe d ordinateurs d une application param trique est abstrait avec le mod le SAMURAAIE Elle pr sente ensuite acteur par acteur comment ce sc nario est auto matis avec le mod le ODD Afin d en am liorer sa lisibilit elle ne revient cependant pas sur les concepts d j illustr s dans le cas de d ploiement pr c dent Abstraction avec SAMURAAIE Ressources La grappe de stations de travail est un ensemble de 128 ordinateurs interconnect s Dans un premier temps toutes les stations ne sont qu enregistr es sauf la passerelle dont l tat est toujours OK Une fois r serv es pour l utilisateur en revanche leur tat devient OK galement Seul l tat des ordinateurs indique leur r servation ou leur panne La double interconnexion des stations de la grappe est abstraite par 2 128 256 l ments Connecteur Pour chaque station des relations d acc s en criture seulement relient tous les l ments Processeur des autres stations et l l ment M moire vive de la station consid r e avec 121 deux de ces l ments Connecteur Pour chaque paire de connecteurs le pr
55. de SALOME devraient tre r alis es afin qu elle puisse b n ficier de toutes les fonctionnalit s de d ploiement dynamique qu offrent l ar chitecture ODD SAMURAAIE et ANGE son implantation 7 4 Evolutions de SALOME pour le d ploiement dynamique 7 4 1 Introduction Afin de r soudre le probl me de d ploiement dynamique de simulations num riques SA LOME le second objectif tait que l architecture de d ploiement dynamique ODD SAMU RAAIE enrichisse la plate forme de simulation num rique SALOME Cet enrichissement qui remet en cause l approche de d ploiement de SALOME en proposant des volutions de la plate forme surviendrait chaque tape du d ploiement l allocation l installation et l ex cu tion 7 4 2 Allocation optimis e L architecture ODD SAMURAAIE pourrait optimiser l allocation d ordinateurs pour les conteneurs de composants SALOME En effet les algorithmes d ordonnancement du gestion naire ODD Associateur tiennent compte de toute l information disponible dans les abstractions SAMURAAIE de ressources et d application afin d tablir l allocation demand e c est dire modifier l abstraction SAMURAAIE de carte Ces algorithmes tiennent galement compte de l allocation courante ce qui permet l algorithme du gestionnaire ODD Conseiller d optimiser son tour le nombre d actions r aliser pour l allocation demand e Dans l int gration pr sent e dans la section pr c dente l architecture
56. de grande taille Beau coup d autres langages de description de flots de travail existent De m me que pour les langages de description d architecture logicielle ces langages sont ind pendants des implantations des t ches qu ils coordonnent Enfin ces quatre cat gories sont perm ables les unes avec les autres Par exemple le mod le de composants spatio temporel Spatio Temporal Component Model STCM 58 est un mod le de composants qui int gre une s mantique temporelle dans les connexions entre composants Ce mod le permet ainsi de d crire aussi bien des applications base de composants que des applications en flot de travail 59 Allocations Les langages de description d allocation sont beaucoup plus rares que les langages de description d application ou bien de ressources Dans la version 2 de sa sp cification du langage unifi de mod lisation Unified Modeling Language UML 59 l OMG propose cependant un type de diagramme appel diagramme de d ploiement dont l expression consiste repr senter des artefacts sur des n uds c est dire des l ments logiciels sur des l ments mat riels Dans les syst mes d information les l ments prenant part aux allocations sont g n ralement repr sent s par des ressources les l ments logiciels devenant des ressources leur tour Syst mes d information Les syst mes d information sont des outils permettant d obtenir de l information propos des ressources de c
57. de l application puis en d marrer les activit s et finalement en copier les fichiers de r sultats Associateur tente alors de les associer En analysant les types d action et les relations de port e de ces l ments Requ te avec des l ments Blob et Activit il les associe avec les l ments Syst me et Service portant sur la station de travail En particulier il valide que le service de copie de ce syst me porte effectivement sur les r pertoires de la station mais galement de l ordinateur afin que soient vou es au succ s les requ tes de copie depuis l ordinateur vers la station et r ciproquement Le gestionnaire Associateur est galement charg d associer les l ments Message en attente des l ments Capteur fonctionnant correctement De m me que pour les associations au niveau Actions Associateur doit analyser les types d v nement et les relations de port e de ces l ments afin de valider leur compatibilit Une fois deux l ments de contenu et de contenant compatibles il les relie par une relation de liaison qu il ajoute dans l abstraction Journal Conseiller Le gestionnaire Conseiller intervient d s que des relations de liaison relient au niveau Instances des l ments de contenu en attente avec des l ments de contenant Sa premi re intervention concerne donc les fichiers de r sultats En effet les l ments Blob de ces fichiers sont effectivement en attente et sont dans un premier temps as
58. de la base de registre ou bien les deux Documentation La documentation peut comporter des pages de manuel des pages HTML des fichiers PDF TeXinfo HLP etc Pour en faciliter la diffusion les fichiers d une application sont conditionn s sous forme d archive de paquet ou de composant voire d image disque Images disques Les images disques sont des copies compl tes des syst mes de fichiers dans lesquels figurent les syst mes d exploitation et toutes les applications qui y sont install es Elles comportent g n ralement une partie param trable afin par exemple d identifier chaque ordinateur Ce type de conditionnement est fr quemment utilis pour pr installer industriellement des syst mes d exploitation et des applications sur des ordinateurs homog nes chez des constructeurs d or dinateurs par exemple Ces images peuvent tre construites puis install es manuellement ou l aide d outils tels que SystemImager ou Kadeploy 69 Ces outils utilisent respectivement les capacit s d amor age par le r seau ou bien les interfaces d administration distance des ordi nateurs Certains outils permettent galement de r pliquer les modifications apport es une image disque sur tout un ensemble d ordinateurs l image originale tant appel e image d or Enfin certains outils construisent l image disque la vol e pendant son installation sur l ordi nateur partir d un autre conditionnement tel que des paquets
59. de mod les d applications les applications param triques parall les r parties en flots de travail et base de composants Puis elle pr sente les trois types d l ments logiciels des applications que sont les donn es les traitements et les flux Mod les d applications Les figures 2 5 a 2 5 b 2 5 c et 2 5 d page 32 illustrent respectivement les mod les d applications parall les param triques r parties et en flot de travail Applications parall les Une application parall le comporte un seul programme s ex cutant simultan ment sur plusieurs processeurs pendant une partie de la dur e de l ex cution de l ap plication Ce programme lit les donn es d entr e les traite et crit les donn es de sortie Ses ex cutions simultan es se partagent ces activit s et peuvent intercommuniquer pour ce faire On 31 lt a Application parall le b Application param trique Programme Client 1 Programme Client 5 Programme 5 Programme Client 2 Programme Serveur Programme Client 3 Programme A Programme B Programme Programme C Programme D Programme C Programme D c Application r partie d Application en flot de travail FIGURE 2 5 Mod les d applications 32 parle galement d applications mono programme multi flux de donn es Single Program Multiple Data SPMD Une application parall le peut tre dynamique En effet si
60. elle pr sente les trois types d l ments mat riels que sont les m moires les processeurs et les dispositifs d entr e sortie galement appel s connecteurs 25 Loi de Amdahl 25 Proportion d op rations s quentielles 0 01 01 0 25 0 5 0 75 0 99 Acc l ration 123 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Nombre de processeurs FIGURE 2 3 Loi d Amdahl 26 Nuage d ordinateurs Grille d ordianateurs Grappe d ordianateurs Grappe d ordianateurs Grappe d ordianateurs CSc 11 200 00 E lt d FIGURE 2 4 Architectures de ressources Architectures de ressources La figure 2 4 page 27 illustre les architectures d ordinateurs de grappes de grilles et de nuages d ordinateurs Ordinateurs Les ressources d un ordinateur ont deux caract ristiques que ne pr cise pas la d finition de FOLDOC d un ordinateur cit e page 21 Par rapport aux autres architectures de ressources celle d un ordinateur est la fois lectriquement ind pendante et indivisible En d autres termes les ressources d un ordinateur comportent effectivement des m moires des pro cesseurs et des connecteurs mais qu elles aient leur propre alimentation lectrique et qu aucune de leurs parties ne puisse f
61. en production EDF EDF R amp D anime le partenariat entre de nombreux acteurs scientifiques et techniques partenariat dont SALOME est issue Des ing nieurs chercheurs EDF et ailleurs utilisent SALOME pour leurs simulations num riques Lorsqu ils en d veloppent ces ing nieurs chercheurs int grent leurs pro grammes de simulation num rique dans SALOME Utilisant la puissance des ressources de calcul 131 GUI KERNEL FIGURE 7 1 Architecture g n rale de la plate forme SALOME haute performance la plate forme de simulation num rique SALOME est indispensable dans l activit de nombreux ing nieurs chercheurs EDF Apr s avoir pr sent son architecture g n rale et son mod le de composants cette section explique comment la plate forme SALOME est actuellement d ploy e 7 2 2 Architecture g n rale L architecture de SALOME est modulaire Au c ur SALOME comporte un module noyau KERNEL auquel peuvent s ajouter d autres modules Le module noyau offre l infrastructure de la plate forme le mod le de composants SALOME et g re l ex cution des conteneurs de composants SALOME sur les ordinateurs Les conteneurs permettent de charger et d charger des composants dans l infrastructure de la plate forme Le module de supervision de couplage Yet Another Coupling Supervisor YACS offre un superviseur D autres modules offrent une interface graphique GUI d change de donn es MED de mod lisation g om trique GEO
62. et Journal qui suivent voir la figure 4 8 page 87 Abstraction Capteurs Cette abstraction comporte un sommet d agr gation de type Zone un sommet simple de type Capteur les sommets de types Ordinateur Processeur et Connec teur de l abstraction Ressources un arc d agr gation et quatre arcs de port e Les carac 85 Traitement Processeur Processeur Disque Dur Fichier ex cutable FIGURE 4 7 Un ajout d un processeur un ordinateur t ristiques d tat de tous les sommets valent OK La caract ristique de type d v nement du capteur vaut AJOUTER Abstraction Messages Cette abstraction comporte un sommet d agr gation de type Modi fication cinq sommets simples de type Message les sommets Connecteur et le nouveau sommet Processeur de l abstraction Ressources un arc d agr gation neuf arcs de port e et quatre arcs de pr c dence Les caract ristiques d tat de tous les sommets valent OK l exception de celle du nouveau qui vaut ENREGISTR et des quatre messages pr c d s Les caract ristiques de type d v nement des messages valent AJOUTER et l information de type et d orientation des arcs d acc s depuis et vers le nouveau processeur Abstraction Journal Cette abstraction comporte tous les sommets des abstractions Capteurs et Messages ainsi que six arcs de liaison Ces arcs associent les l ments de contenant aux l ments de contenu correspondants 4 3 4 Discussion SAMURAATE est un mod le
63. exemple Cisco Myricom et Mellanox Discussion Distinguer un super ordinateur d une grappe d ordinateurs est parfois difficile En effet les super ordinateurs et les ordinateurs comportent toujours plus de processeurs et des processeurs comparables sinon similaires Blue Gene par exemple comporte m me des processeurs moins performants que ceux d un ordinateur de bureau Par ailleurs l ind pendance lectrique des sous parties des super ordinateurs se rapproche fortement de celle des ordinateurs d une grappe L int gration des ressources dans des armoires offre les m mes possibilit s lectriques En re vanche les super ordinateurs tels que Pleiades ou Blue Gene gardent une avance tr s nette sur les grappes d ordinateurs par rapport la performance de leur connecteurs et donc du rapport des performances des communications inter traitement celles des traitements Le nombre en constante augmentation des ressources les rend de plus en plus parall les et dynamiques On constate galement un int r t croissant pour des processeurs sp cialis s tels que les processeurs graphiques rendant les ressources de plus en plus h t rog nes Les trois facteurs d am lioration des performances coexistent donc dans les ressources des infrastructures informatiques actuelles 2 3 2 Applications Les applications sont les l ments logiciels programm s afin d tre ex cut s sur les ressources Cette sous section pr sente cinq types
64. faillances de la part des infrastructures 161 8 2 4 Vers une meilleure performance pour les applications d ploy es auto matiquement Une perspective importante pour ces travaux est l am lioration des performances des appli cations d ploy es automatiquement sur les infrastructures Le moteur ANGE peut en effet tre utilis non seulement en tant qu outil de d ploiement automatique mais galement comme un outil de suivi de tests d effort autant pour les infrastructures que pour les applications De plus en allouant des ressources pour l installation et pour l ex cution des applications de nombreuses optimisations sont d ores et d j envisageables Il s agirait par exemple d tendre le mod le SAMURAAIE afin que des crit res de consommation nerg tique soient pris en compte dans l ordonnancement Deux questions se posent galement quant aux volutions possibles de l architecture ODD SAMURAAIE et de son implantation ANGE La premi re concerne le passage l chelle du m canisme actuel de prise de d cision Comment remplacer l approche centralis e actuelle par une approche totalement r partie La seconde question est peut tre duale de la premi re Tel qu il est propos dans ce document le mod le SAMURAAIE est mono utilisateur De m me l objectif du m canisme de prise de d cision du mod le ODD correspond l int r t d un seul utilisateur Pourtant plusieurs utilisateurs seront vraisemblablement amen s utili
65. faire ce connecteur appelle les traducteurs de grappe d ordinateurs d application pour TORQUE et de syst me GNU Linux Ce connecteur est galement appel afin de r aliser la copie de l archive des pro grammes de l application le d marrage des activit s de l installation et de l application et la copie du fichier de r sultats Connecteur d application param trique Le connecteur d application param trique permet d abstraire une application param trique Il est appel par l utilisateur afin d abstraire son application En implantant une forme simple de comportement adaptatif il permet gale ment de fixer le nombre de processus esclaves s ex cutant parall lement Pour ce faire il appelle le traducteur d application param trique Si le nombre de processus esclaves s ex cutant parall lement ne lui est effectivement pas pr cis il le fixe d abord quatre puis appelle le traducteur d application param trique afin d abstraire l application Tant que tous les processus esclaves fonctionnent correctement il demande un processus esclave suppl mentaire Quand un processus esclave se termine il retire un ventuel processus esclave suppl mentaire toujours en attente et cesse d en ajouter 6 5 D ploiement sur grilles d ordinateurs d applications en flot de travail Dans cette section l utilisateur a acc s une grille d ordinateurs multi processeur Il veut y d ployer une application en flot de travail dont il dispose Apr
66. fichier existant est une archive et que le fichier ex cutable de l application demand e s y trouve alors le traducteur doit abstraire le processus de d sarchivage en abstrayant l application Les traducteurs de d ploiement traduisent les actions r alis es par le gestionnaire Ex cuteur en information pour les connecteurs de programme et de services De m me que les autres ces traducteurs font le relais entre la logique de d ploiement et celles des technologies impliqu es Par exemple un traducteur d application MPICH saurait construire l abstraction SAMU RAAIE d une application MPICH partir des param tres d une commande mpirun et saurait l ajouter dans l abstraction Application R ciproquement ce traducteur saurait construire les param tres d une commande mpirun partir d une abstraction SAMURAAIE d une application MPICH ajout e dans l abstraction Application La figure 4 11 page 93 illustre cet exemple Connecteurs Les connecteurs ODD interfacent le mod le d automatisation du d ploiement d applications et l environnement de d ploiement Ils prennent en charge l activit de l utilisateur consistant acqu rir de l information propos de l environnement et agir sur celui ci Ils connectent des traducteurs n cessairement implant s dans une technologie particuli re et les technologies 93 Classes d acteurs Gestionnaires Abstracteurs Traducteurs Connecteurs Environnement Temps Acquisition
67. geant d abord l l ment Blob du r pertoire des fichiers de l application huit l ments Blob d empreinte en m moire vive un l ment Blob de m moire partag e huit l ments Blob de fichiers de r sultats huit l ments Activit et 3 x 8 3 27 l ments Flux 9 x 8 3 75 relations d acc s relient en lecture en criture ou les deux les l ments Blob et Activit aux l ments Flux Contrairement ceux des ressources ces l ments ont d abord l tat ATTENDU puis OK puis TERMIN Les tailles des fichiers de r sultats sont 100 fois inf rieures celle du r pertoire des fichiers de l application L architecture de jeu d instruction des activit s est AMD et leur nombre de bits est 64 Le chemin d acc s des flux permettant aux activit s d crire dans les fichiers de r sultats est local output n o n est le rang du processus Enfin la ligne de commande d un des processus est a out 8 data in et celle des autres est vide partir de l tape d allocation des copies de fichiers sont ajout es dans l application Le r pertoire des fichiers de l application est copi et cette copie remplace l original dans les proces sus de l application De m me les fichiers de r sultats sont copi s Ces copies sont des l ments Blob qui sont reli s aux originaux par des relations de copie Carte La pr sence du r pertoire de l application puis des fichiers de r sultats sur l ordinateur personnel de l utilisateur
68. information et de ses algorithmes d termine la qualit des d cisions L architecture ODD SAMURAAIE propos e dans ce document a permis d automatiser l al location de ressources l installation et l ex cution d applications parall les param triques et en flot de travail sur un ordinateur une grappe d ordinateurs et une grille d ordinateurs Elle a galement permis d automatiser le d ploiement de simulations num rique SALOME Implant en Python le moteur de d ploiement ANGE est s quentiel et centralis Dans ANGE les don n es sont m moris es dans une base de donn es et les algorithmes sont na fs Cette implantation n a donc pas permis de livrer des mesures de performance En revanche elle a permis d implanter des traducteurs et connecteurs en particulier pour le d ploiement automatique des simulations 159 num riques SALOME Le moteur ANGE a permis d envisager une place possible pour le d ploiement automatique dans les syst mes informatiques haute performance actuels la rencontre des pr occupations des administrateurs des d veloppeurs et des utilisateurs Gr ce au mod le ODD ce moteur peut effectivement tre la fois un outil personnel de l utilisateur et un intergiciel pour des plates formes applicatives au dessus des syst mes d exploitation traditionnels que comportent ces syst mes On imagine ais ment l int gration d un tel outil au sein de passerelles r serv es l acc s aux syst mes informa
69. interactive afin de modifier le flot de travail pendant son d ploiement 6 6 Discussion Le mod le SAMURAAIE d abstraction des syst mes informatiques haute performance propose des concepts simples qui permettent cependant d abstraire des cas de d ploiement com plexes Les r seaux et sous r seaux d ordinateurs h t rog nes la compilation de code source 129 conditionn en archive la copie et recopie de fichiers et le partage de m moires de masse sont des exemples de cette complexit Telles que les cas de d ploiement pr sent s les ont illustr les abstractions de ces cas complexes sont cependant difficiles expliciter dans leur totalit car elles ne sont pas pr vues pour tre parcourues par des humains mais bien par les acteurs du mod le ODD Le mod le ODD d automatisation du d ploiement d applications propose un d coupage des r les qui permet chaque acteur d avoir un fonctionnement simple quelle que soit la complexit des cas de d ploiement trait s Ce fonctionnement simple pourrait cependant tre enrichi Tel est par exemple le cas des gestionnaires Conseiller et Ex cuteur Le gestionnaire Conseiller pourrait par exemple ajouter des requ tes afin de tester la pr sence d l ments de contenu ce qui pourrait viter la mise en attente d l ments de contenu produisant les premiers Par exemple un fichier de r sultats peut avoir t associ avec un r pertoire et mis en attente alors qu il est d j
70. l ments de contenu associ s sont en attente alors l objectif des actions est de les d ployer Par exemple l objectif d une action portant sur une activit en attente est de la cr er d une copie en attente d un fichier est de copier ce fichier S ils sont op rationnels alors l objectif est de les contr ler Par exemple l objectif d une action portant sur un flux op rationnel est de tester son existence S ils sont termin s arr t s proscrits ou en erreur alors l objectif est de les reployer Par exemple l objectif d une action portant sur un processus op rationnel associ un ordinateur proscrit est d arr ter ce processus Le gestionnaire Conseiller d termine galement les relations de pr c dence entre les actions entreprises Il le d duit des abstractions au niveau Instances elles m mes Par exemple une activit ne peut tre cr e sur un processeur qu apr s que tous les fichiers auxquels elle acc de soient op rationnels d une part et associ s avec des m moires auxquelles ce processeur a acc s d autre part Un fichier ne peut tre copi qu apr s que les activit s qui l acc dent en criture ne soient plus op rationnelles Conseiller connecte donc les requ tes de service qu il ajoute avec des arcs de pr c dence Le gestionnaire Conseiller peut r soudre des probl mes d tat de fonctionnement Un tel probl me advient par exemple quand un fichier est en attente mais que le processus qui l crit n est pas
71. l Universit d Innsbruck le cadriciel d enregistrement de d ploiement et d ap provisionnement d activit de grille Grid Activity Registration Deployment and Provisioning Framework GLARE 78 offre un service d information propos d applications Java Une fois enregistr es leurs applications les utilisateurs peuvent les demander sans se pr occuper de leur installation En effet lorsque des applications enregistr es mais pas encore install es sont deman d es ce service ex cute automatiquement les descripteurs d installation enregistr s avec elles Il est constitu des trois parties suivantes Un registre d applications disponibles Un registre d applications install es sur les ressources Un m canisme pour l enregistrement l ex cution et le suivi d installations d applications sur des ressources ORYA et l intergiciel conomique de grille ont des approches originales afin de traiter l allocation des ressources ORYA Open enviRonment to deploY Applications 79 offre un environnement permettant de d crire les besoins en logiciel des utilisateurs et de valider la compatibilit d une application avec ces besoins avant de l installer via des outils sp cifiques Dans leur intergiciel conomique de grille pour le d ploiement d applications 80 Joita et al proposent une approche de type march libre Dans cette approche les ressources sont comme des marchandises pour lesquelles des vendeurs sont mis en rel
72. la mani re d atteindre un objectif et l objectif lui m me soient ind pendants Dans la seconde partie les gestionnaires Ex cuteur et Contr leur se r partissent la r alisation et le suivi de ces ordonnances De la planification la r troaction les gestionnaires de d ploiement peuvent mettre en uvre des strat gies diverses La strat gie de planification supposerait extr mement que toutes les actions soient pr vues et qu aucun v nement impr vu n advienne La strat gie de r troaction supposerait inversement qu aucune action ne soit pr vue et que des v nements adviennent Dans la premi re les gestionnaires Associateur et Conseiller fixeraient l ordonnancement une fois pour toutes alors que dans la seconde ils le remettraient toujours en cause Les gestionnaires ODD peuvent mettre en uvre une de ces strat gies ou plus probablement une strat gie interm diaire L quilibre entre planification et r troaction dans la strat gie des gestionnaires est impor tant En effet la strat gie de planification peut permettre l optimisation de chaque tape du d ploiement En revanche elle peut ne jamais converger cause de l ind terminisme du mod le d acteurs ou de la complexit de la planification elle m me De m me la strat gie de r troaction peut permettre d augmenter l efficacit mais elle peut galement ne jamais converger cause du grand nombre d actions possibles Dans le mod le cet quilibre est d termin
73. le ODD et 12 de l implantation compl te 5 4 3 Traducteurs Les traducteurs ODD traduisent l information technologique en abstractions SAMURAAIE et r ciproquement Dans cette implantation ces traducteurs fournissent des m thodes d interro gation et de modification de leurs abstractions selon les interfaces des logiques des technologies qui les caract risent Ces m thodes utilisent celles des abstracteurs base de requ tes SQL et de transactions En effet comme les gestionnaires les traducteurs acc dent indirectement leurs abstractions c est dire seulement travers les abstracteurs L implantation des traducteurs comporte 987 lignes uniques de code soit 44 de l implantation du mod le ODD et 31 de l implantation compl te Cette implantation fournit d embl e plusieurs traducteurs Pour les abstractions de res sources d application et de carte elle fournit des traducteurs au format de document en 105 core un autre langage de balisage Yet Another Markup Language YAML Dans une syntaxe simple et lisible le format utilis permet de d crire l ordinateur local et les ordinateurs distants leurs interconnexions des fichiers et r pertoires et les emplacements de ceux ci sur les ordina teurs Pour les abstractions de services de programme et de d ploiement cette implantation fournit des traducteurs POSIX Enfin elle fournit des traducteurs au format DOT pour toutes les abstractions afin de figurer celles
74. le couplage de l application avec d autres en sont respectivement des exemples L ad quation des technologies d applications celles des ressources peut par exemple tre remise en cause quand une application doit tre ex cut e sur une infrastructure informatique aux caract ristiques sensiblement diff rentes de celles de l infrastructure pour laquelle elle avait t optimis e Un tel changement peut alors n cessiter de porter cette application c est dire de la reprogrammer partiellement voire totalement avec des technologies d applications plus adapt es De m me que les ressources sur lesquelles ils sont ex cut s les programmes peuvent tre multipli s sp cialis s et leur nombre peut varier pendant la dur e de l ex cution de l application laquelle ils appartiennent Afin d am liorer leur performance les applications peuvent donc tre parall les h t rog nes et dynamiques 2 3 3 Syst mes d exploitation Les syst mes d exploitation sont les l ments logiciels permettant aux applications d tre ex cut es sur les ressources autrement dit d exploiter ces ressources pour ces applications Apr s en avoir pr sent les principes cette sous section pr sente des exemples de syst mes d exploitation d ordinateurs de grappes et de grilles d ordinateurs Puis elle pr sente les trois types de services d un syst me d exploitation que sont la m morisation l ex cution et l adressage Principe
75. le nombre de processeurs requis simultan ment varie pendant la dur e de l ex cution de l application alors cette application est dynamique Parmi les technologies qui permettent de programmer des applications parall les figurent par exemple les blocs de construction de fils d ex cution Threading Building Blocks TBB 12 les fils d ex cution POSIX la biblioth que de fils d ex cution POSIX natifs Native POSIX Threads Library NPTL le langage de programmation Fortran de haute performance High Performance Fortran HPF 13 le standard de multi traitement ouvert Open Multi Processing OpenMP 14 et l interface de passage de messages Message Passing Interface MPI 15 La plupart de ces technologies permettent de programmer des applications non seule ment parall les mais galement dynamiques Applications param triques Une application param trique comporte g n ralement deux parties La premi re est un programme appel serveur ma tre ou lanceur Le serveur lit les donn es d entr e crit les donn es de sortie et est ex cut pendant toute la dur e de l ex cution de l application La seconde partie est un ou plusieurs programmes appel s clients esclaves ou codes param triques Les clients sont ex cut s plusieurs fois par application en s rie en parall le ou les deux Pendant leurs ex cutions les clients communiquent avec le serveur afin de recevoir des donn es traiter les traitent puis communique
76. lui m me en attente ou bien a chou De m me afin d crire ce fichier ce processus a besoin de lire d autres fichiers et ceux ci peuvent galement ne pas tre dans un tat op rationnel Si remonter ce flot ne convergeait pas vers des l ments op rationnelles alors il n y aurait aucun moyen d crire ce fichier Sinon Conseiller peut changer l tat de ces l ments d application afin qu ils passent ou repassent en attente Le gestionnaire Conseiller peut galement r soudre des probl mes de port e Un tel probl me advient par exemple quand aucun service de copie n a sa port e les l ment de contenant associ s respectivement un l ment de contenu et une de ses copies Conseiller peut alors chercher des l ments de contenant interm diaires la port e de services de copie ayant deux deux un l ment de contenant commun leur port e S il en trouvait alors il entreprendrait autant de copies interm diaires que n cessaires c est dire qu il d connecterait la copie d j associ e de l original connecterait de nouvelles copies jusqu celle ci et ajouterait les requ tes de copie qui iraient alors bien En entreprenant des actions le gestionnaire Conseiller consulte les abstractions des niveaux Instances et Actions I ne modifie que l abstraction Programme En transformant les associations au niveau Instances par des l ments de contenu au niveau Actions Conseiller collabore avec Associateur
77. ments des ressources les pseudo chemins SAMURAAIE les syst mes GNU Linux la commande tar de la s quence de compilation la s quence de commandes de compilation et les commandes pour l application en flot de travail chacune de ces technologies correspond donc un traducteur ODD dont certains ont t pr sent s dans le cas de d ploiement pr c dent Traducteur de grille d ordinateurs Le traducteur de grille d ordinateurs traduit l infor mation technologique propos d une grille d ordinateurs en l ments et relations entre l ments pour l abstraction Ressources Par rapport au traducteur de grappe d ordinateurs ce traducteur accepte de l information sp cifique une grille telle que le nombre d ordinateurs le nombre de grappes et la topologie de ceux ci Le traducteur de grille d ordinateurs est appel une fois Il s agit d abstraire la grille de stations de travail laquelle l utilisateur a acc s Traducteur d application en flot de travail Le traducteur d application en flot de travail traduit l information technologique propos d une application en flot de travail en l ments et relations entre l ments pour l abstraction Application Cette information fournie en 128 param tre par un connecteur comporte en particulier n le nombre de processus les relations de pr c dence entre ces processus et le chemin d acc s et la taille des fichiers ex cutables d entr es et de sorties Le traducteur d ap
78. nombre de processeurs disponibles dynamiquement aucune huit douze dix puis aucune Services Les syst mes d exploitation des stations ordinaires de la grappe sont similaires celui de la station passerelle Leur diff rence avec celui du cas de d ploiement pr c dent est cependant que ces syst mes n ont l tat OK que quand les stations qu ils exploitent sont r serv es c est dire OK elles m mes La port e des services de copie de fichiers et de r pertoires de ces syst mes reste cantonn e aux sous r seaux dans lesquels ces stations sont interconnect es Programme Au flot de requ tes de services correspondent plusieurs l ments T che un pour l installation de l application sur la grappe un pour l ex cution du ma tre sur la station passerelle autant d l ments T che pour l ex cution des esclaves que d esclaves sur les stations ordinaires et un pour la copie du fichier de r sultats 122 L l ment T che pour l installation de l application sur la grappe agr ge deux l ments Requ te Le premier demande la copie de l archive des programmes depuis le r pertoire personnel de l utilisateur sur son ordinateur vers son r pertoire personnel sur la station passerelle de la grappe Le second l ment Requ te demande le d marrage sur un processeur de la station passerelle de l activit de manipulation de cette copie d archive Une relation de pr c dence relie le premier l ment Requ te au second Chaqu
79. ns ee ad 57 Images disqu s areni mni Ea gra H DE nur don a E e C R MA a 1 58 ATChIVES ane oh AR ee A B A it Ae ey AS ZE di Haras 58 Paquets sersa ae es hase Ryne LORD SAN ach a gs Ter ed 58 Composants grate um ds i at tse A ces eme Bete die de dees 59 FAS EXECU ON ode mu ne ee aye ee oe Re ate she ee ee 59 3 5 D ploi ment srira sua A Pee ee eh a Bb al ae ee doit 59 3 5 1 Administration de ressources 60 3 5 2 Gestion d applications base de composants 61 COM 2s ich ie LE Loi A 2 OE ee than deb A ee 61 A ce te iets tet Hk dts ot ete a thie ty AR SN he hd hats 62 3 5 3 Outils de d ploiement 63 GODIE Pop acct pis a LER AGO N LNG Oe ee A D ans 63 AA une SEA DAZ tin we PS A ie het tlk ae Ss AT ain 64 CORDAGE os EE ds ae SO hr CES teen aoe RSR EM PNR as 64 3 0 DISCUSSION ES a A Bee A se ak ta izo 65 3 CONCLUSION e 242 nb ieee The E O Ak Mens RE Ne he ae ek 7 68 III Contribution 71 4 Architecture ODD SAMURAAIE de d ploiement dynamique d application 73 AY Titroduction a He She lh te ed MEN RS DER pains DS RS Bo eS 73 AD Principes a a MES E De E A Tec de A oa Ha ee mas AY 73 4 2 1 Mod lisation sas 20 a Beg EO ve Se Bee 2485 A 73 42 25 Permanen te oi ch lhe go Boek ket Se ROE AS MAS es es RS NS RA 74 4 3 Mod le SAMURAAIE d abstraction des syst mes informatiques 74 4 3 1 Contenant contenu et association
80. of ISPDC 06 LAFORENZA D XtreemOS Towards a Grid Enabled Linux Based Operating Sys tem dans BNCOD p 241 243 2008 FOSTER I T Globus Toolkit version 4 Software for Service Oriented Systems Journal of Computer Science and Technology vol 21 n 4 2006 p 513 520 FOSTER 1 What is the Grid a three point checklist GRIDtoday vol 1 n 6 juillet 2002 RUSSELL R QUINLAN D et YEOH C Filesystem Hierarchy Standard 2004 CARNS P H LIGON III W B Ross R B et THAKUR R PVFS A Parallel File System for Linux Clusters dans Proceedings of the 4th Annual Linux Showcase and Conference Atlanta GA USA p 317 327 USENIX Association 2000 ANDREOZZI S BURKE S EHM F et al GFD 147 GLUE Specification version 2 0 GLUE WG Open Grid Forum mars 2009 REC ANJOMSHOAA A BRISARD F DRESCHER M et al GFD 136 Job Submission Description Language JSDL Specification version 1 0 JSDL WG Open Grid Forum septembre 2008 REC DIJKSTRA E W Selected writings on computing a personal perspective chap On the role of scientific thouht p 60 66 Springer Verlag New York Inc 1982 FOWLER M Inversion of Control Containers and the Dependency Injection Pattern http www martinfowler com articles injection html janvier 2004 GARLAN D MONROE R T et WILE D Acme Architectural Description of Component Based S
81. parall le param trique r partie en flot de travail ou base de composants voir les d finitions ci dessus Ces mod les purs peuvent galement tre m lang s GridCCM par exemple offre des composants parall les Flux Un flux est un envoi une r ception ou les deux de donn es par un traitement Les flux sont support s par les connecteurs Ils permettent aux traitements de m moriser et retrouver des donn es d une part et de communiquer entre eux ou avec le monde ext rieur d autre part L organisation des flux d une application permettant ses traitements de communiquer d ter mine son mod le de communication communication en m moire partag e en transmission de messages voire un mod le m langeant ces deux approches Partage de M moire Des traitements peuvent communiquer en partageant une m me zone de m moire Parmi les technologies permettant de faire communiquer des traitements par m moire partag e figurent les variables partag es entre des fils d ex cution POSIX les commu nications inter processus InterProcess Communications IPCs et les m moires partag es r parties Distributed Shared Memories DSMs 32 Contrairement aux variables partag es entre fils d ex cution POSIX et aux communications inter processus les m moires partag es r parties impliquent plusieurs m moires vives Pour ce faire leurs implantations utilisent g n ralement l autre mod le de communication le passag
82. parties Donn es traitements et flux Donn es Les donn es sont des l ments d information structur s et m moris s par les m moires Elles sont les l ments d information qui ont t sont ou seront trait es par les pro cesseurs et acc d s gr ce aux connecteurs En effet le sens commun des donn es exclut les programmes qui depuis l architecture de Von Neumann sont pourtant galement des donn es Les principaux types de donn es sont les empreintes en m moire vive les fichiers en m moire de masse et les bases de donn es combinant m moires vive et de masse 34 Empreintes La gestion de l empreinte en m moire vive d un programme varie selon les langages de programmation Les langages de programmation de bas niveau tels que Fortran et C requi rent des d veloppeurs qu ils programment l allocation et la lib ration de m moire vive pour leurs programmes Cependant les langages de programmation de plus haut niveau tels que Java OCaml et Erlang g rent automatiquement la m moire vive Fichiers La structure des fichiers est appel e format Parmi les formats figurent par exemple le format ex cutable et capable de liaison Executable and Linkable Format ELF le format de valeurs s par es par des virgules Coma Separated Values CSV de donn es hi rarchiques Hierarchical Data Format HDF le format de donn es commun en r seau Network Common Data Format NetCDF le format de maillages Silo
83. ployer une application parall le sur un ordinateur une application param trique sur une grappe d ordinateurs et une application en flot de travail sur une grille d ordinateurs Le chapitre 7 page 7 valide la combinaison des deux mod les et l implantation propos s en automatisant avec l architecture ODD SAMURAAIE et le moteur ANGE le d ploiement de simulations num riques SALOME Enfin le chapitre 8 page 159 pr sente la conclusion et donne des perspectives pour ces travaux 18 Deuxi me partie Contexte et probl matique Chapitre 2 Informatique haute performance 2 1 Introduction Du calcul mental de la monnaie rendre par un commer ant la simulation num rique de ph nom nes naturels et artificiels par des ing nieurs la manipulation des nombres est une activit avec laquelle les humains ont une longue exp rience De nombreuses techniques ont progressivement vu le jour des abaques grecques au syst me arithm tique positionnel arabe en passant par la r gle calcul ou la pascaline Les notations m mes des nombres ont volu avec ces techniques de simples juxtapositions de b tons aux nombres arabo europ ens en passant par les nombres romains Les cailloux avec lesquels les humains comptaient ont donn leur racine latine cette activit calculer Aujourd hui les humains apprennent toujours calculer de t te et avec des outils rudimen taires pour poser leurs op rations Ils font cependan
84. pr sente les quatre classes d acteurs ODD que sont les gestionnaires de d ploiement les abstracteurs de d ploiement les traducteurs de technologie et les connecteurs 88 Gestionnaires de d ploiement Abstracteurs de d ploiement Traducteurs de technologie Connecteurs de technologie FIGURE 4 9 Classes d acteurs ODD de technologie Elle d taille ensuite les interactions des acteurs lors des diff rentes tapes du cycle de vie du mod le ODD Enfin elle discute ce mod le d automatisation du d ploiement d applications 4 4 1 Acteurs Afin de g rer le d ploiement sur demande le mod le ODD articule des acteurs lesquels se r partissent en quatre classes voir la figure 4 9 page 89 Les gestionnaires ODD g rent l environ nement de d ploiement Les abstracteurs ODD g rent les abstractions SAMURAAIE de l envi ronnement de d ploiement Les traducteurs ODD traduisent l information de technologie non SAMURAAIE en abstraction SAMURAAIE et r ciproquement Enfin les connecteurs ODD assurent la communication entre les traducteurs ODD et les technologies de l environnement de d ploiement Gestionnaires Dans le mod le ODD l automatisation du d ploiement d applications revient principalement quatre acteurs voir la figure 4 10 page 90 Le premier associe des contenants et des contenus d instance d action et d v nement il est appel Associateur Le deuxi me conseille des actions partir d associations
85. processeurs Publi e en mars 2009 par les membres du groupe de travail GLUE WG du forum ouvert de la grille Open Grid Forum OGF la version 2 0 de la sp cification GLUE 50 propose un mod le abstrait d information pour les grilles particuli rement abouti Ce mod le distingue les domaines des administrateurs organisations r elles et les domaines des utilisateurs organisa tions virtuelles ces deux types d organisation pouvant tre hi rarchiques Ces domaines peuvent avoir acc s des services de calcul ou bien de m morisation via des points terminaux endpoints et selon des politiques d acc s Ces services exploitent des ressources potentiellement partag es et leur technologie est pr cis ment d crite Ce mod le d crit galement les activit s et les donn es des domaines utilisateurs ainsi que les environnements d ex cution et de m morisation dont ils disposent au sein de la grille Applications Les langages de description d applications peuvent tre regroup s en quatre cat gories les langages de soumission de t ches jobs les langages de description d architecture logicielle les langages de description et d assemblage de composants logiciels et les langages de flot de travail volutions des commandes she11 les langages de soumission de t ches offrent une description minimale des applications afin de r ussir leur allocation Ces langages sont notamment utilis s par des ordonnanceurs de lots tels que ceux cit
86. propos d un environnement de d ploiement que SAMURAAIE permet de collecter est grande Cette collecte peut tre effectu e par les administrateurs d infra structure ou par les d veloppeurs d application voire effectu e automatiquement Cette informa tion peut en effet exister dans l environnement sous d autres formes telles que par exemple dans un syst me d information propos de l infrastructure informatique ou dans les meta donn es de l application Cette information peut galement tre obtenue activement par des techniques de sondage de l infrastructure ou de profilage de l application la limite un peu d information peut galement tre fournie par l utilisateur lui m me Un objectif de la seconde partie de l architecture que propose ce chapitre est justement d entretenir les abstractions afin de g rer automatiquement le d ploiement 4 4 Mod le ODD d automatisation du d ploiement d applications ODD est un mod le d automatisation du d ploiement d applications Constitu d acteurs il offre une automatisation du d ploiement pour des technologies la fois parall les h t rog nes et dynamiques Pour ce faire il utilise un double m canisme de traduction et de connexion de et avec son environnement Ce m canisme est fond sur le mod le SAMURAAIE d abstraction des syst mes informatiques pr sent dans la section pr c dente Ces caract ristiques justifient le nom On Demand Deployment ODD Cette section
87. qui permet d abstraire l ensemble des l ments informatiques d un environnement de d ploiement Les ressources l application les syst mes d exploitation l utilisation de ces syst mes et les changements de ces l ments peuvent effectivement tre abs traits avec SAMURAAIE Pour ce faire ce mod le est fond sur les trois distinctions suivantes Information op ration et transmission Cette distinction reprend la structure g n rale de l informatique illustr e par la figure 2 1 page 23 Instances actions et v nements Cette distinction permet d abstraire autant les l ments informatiques que les actions qu ils permettent et les v nements qui les concernent 86 pj ut d ac depuis m moir Aj ut d acc s depuis m moir FIGURE 4 8 Abstraction SAMURAAIE d un ajout d un processeur dans un ordinateur Contenants et contenus Cette distinction permet d exprimer des contraintes entre des r seaux d l ments informatiques La s paration entre les l ments informatiques de transmission d une part et les relations d acc s entre l ments d autre part permet une abstraction fine des r seaux dans l environnement de d ploiement En effet il est ainsi possible d abstraire le partage par plusieurs processeurs d une m me m moire Si ces processeurs utilisent un m me connecteur alors l abstraction de la concentration de leurs acc s comporte des arcs d acc s conn
88. relie l original avec la copie formant ainsi un cycle Le processus d installation de l application est le processus traditionnel d installation d un code source sous GNU Linux d sarchiver configurer compiler et installer Pour chaque type de processeur attendu ce processus est donc abstrait par quatre l ments Processus reli s par des relations de pr c dence Les blobs d entr e et de sortie de ces s quences sont l archive du code source et un des r pertoires des programmes install s Les processus de l application sont d autres l ments Processus reli s par des relations de pr c dence afin d abstraire le flot de travail Les processus de l application sont interconnect s deux niveaux par des l ments Flux Au premier niveau se trouvent les processus du composant parall le Au second niveau se trouvent les processus du moteur d ex cution du gestionnaire de base de donn es et de son mandataire des trois composants s quentiels et d un des processus du composant parall le En particulier cause du caract re dynamique de cette application aucun de ces flux ne se trouve entre des processus reli s eux m mes par une relation de pr c dence Carte La pr sence du processus d installation de l application sur la station passerelle de chaque grappe que comporte la grille est abstraite par deux groupes de relations de liaison La pr sence des processus de l application sur ces grappes est galement abstraite par des rela
89. s avoir d taill cette grille et cette application cette section explique comment l architecture ODD SAMURAAIE traite ce cas de d ploiement 6 5 1 Une grille d ordinateurs et une application en flot de travail La grille consid r e d ordinateurs est une grille de stations de travail multi processeur Cette grille comporte deux grappes d ordinateurs interconnect es au sein d un sur r seau longue distance La premi re grappe comporte 64 stations de travail dont une station passerelle toutes du type de celle impliqu e dans le premier cas de d ploiement et interconnect es au sein d un sous r seau TCP IP sur Ethernet Gigabit La seconde grappe est identique celle impliqu e dans le deuxi me cas de d ploiement Ces grappes dont les processeurs sont diff rents comportent galement un outil de manipulation d archives et une suite de compilation de code source Enfin un intergiciel permet de soumettre des commandes et de transf rer des fichiers sur toutes les ressources de cette grille L application consid r e est un flot de travail base de composants Les composants des bi blioth ques partag es sont charg es dans des conteneurs un fichier ex cutable Cette application comporte les six composants suivants Un moteur d ex cution de flot de travail Ce moteur charge connecte d connecte et d charge des composants en fonction d une description de flot de travail La description d un flot de travail est m moris
90. se concentrer sur les infrastructures Ils pourraient retirer des ressources d fectueuses et ajouter de nouvelles ressources sans s inqui ter de leur homog n it ni de l ins tallation d applications sur elles Les d veloppeurs pourraient se concentrer sur les applications Ils pourraient en augmenter la complexit sans s inqui ter de leurs d pendances logicielles ni de leur installation Enfin les utilisateurs pourraient se concentrer sur l utilisation des applica tions elles m mes Ils pourraient recourir beaucoup plus facilement aux syst mes informatiques haute performance Automatiser l utilisation des syst mes informatiques haute performance devrait ensuite per mettre de mieux les exploiter Par exemple en recourant des algorithmes qui tiennent compte non seulement des besoins en processeurs des applications mais galement de leurs besoins en m moire vive ou de masse en connexion et en ressources pour leur installation l ordonnancement pourrait tre meilleur Supporter les infrastructures et les applications dynamiques devrait ga lement permettre de r duire le nombre de ressources allou es mais inutilis es ainsi que le nombre de ressources non allou es am liorant ainsi la performance nerg tique des infrastructures 1 4 Abstraction des syst mes informatiques haute performance pour l automatisation du d ploiement d applications dyna miques Avant d automatiser l utilisation des syst mes informatiques
91. se pr occuper des alternatives qu ont choisies les d veloppeurs afin d int grer leurs programmes en composants SALOME Par ailleurs ces simulations peuvent tre la fois parall les et r parties h t rog nes et dynamiques 7 2 4 D ploiement Introduction Le d ploiement de simulations num riques SALOME est principalement manuel L utilisateur alloue des ordinateurs y installe SALOME et SALOME peut alors ex cuter les simulations num riques Cette sous section pr sente les tapes d installation et d ex cution de SALOME telles qu elles sont implant es dans la version 4 1 3 du code source ouvert puis cette sous section discute l approche de d ploiement de SALOME dans son ensemble Installation Pour utiliser la plate forme SALOME afin de r aliser ses simulations num riques l utilisateur doit d abord l installer La figure 7 3 page 137 illustre la r partition de modules sur diff rents ordinateurs Installer SALOME se d roule selon les trois tapes suivantes 1 Installer les modules SALOME et leurs d pendances sur des ordinateurs 2 Installer les applications SALOME sur les ordinateurs o sont install s les modules et leurs d pendances 3 D clarer aupr s de la plate forme les ressources SALOME pr par es dans les deux tapes pr c dentes 136 RESSOURCE LOCALE KERNEL DSC CORBA SALOME CORBA DSC CORBA SALOME CORBA DSC CORBA DSC CORBA DSC CORBA DSC CORBA SALOME CORBA DSC CORBA SALOME C
92. seau de la station L l ment Processeur de l ordinateur personnel crit donc directement dans l l ment M moire de la station et r ciproquement Application L implantation de l architecture ODD SAMURAAIE le r pertoire des fichiers de l application son processus et ses fichiers de r sultats sont abstraits dans l abstraction Appli cation Le connecteur ODD d application MPI fixe le nombre n avant de demander au traducteur d enregistrer l application aupr s de l abstracteur correspondant avant l tape d allocation du processus de d ploiement En l occurrence ce nombre est 8 Le r pertoire des fichiers de l appli cation est un l ment Blob Cet l ment a l tat TERMIN L implantation de l architecture ODD SAMURAAIE est un processus particulier puisque en quelque sorte il s abstrait lui m me Cette abstraction est n cessaire afin de d terminer la localit dans le r seau de l ordinateur sur lequel cette implantation est ex cut e Il s agit 113 d un l ment Processus agr geant un l ment Blob d empreinte en m moire vive un l ment Activit et deux l ments Flux Quatre relations d acc s relient en lecture et en criture les l ments Blob et Activit aux l ments Flux Tous les l ments ont l tat OK Les valeurs de leurs caract ristiques sont indiff rentes au traitement du cas de d ploiement consid r Les huit processus de l application sont des l ments Processus agr
93. un ordinateur personnel tel qu une station de travail ou bien un ordinateur portable Cet ordinateur est interconnect avec les ressources Sur cet ordinateur se trouvent le conditionnement des applications ainsi que l im plantation de l architecture ODD SAMURAAIE 6 3 D ploiement sur ordinateurs d applications parall les Dans cette section l utilisateur a acc s un ordinateur multi processeur Il veut y d ployer une application parall le dont il dispose Apr s avoir d taill l ordinateur et l application cette section explique comment l architecture ODD SAMURAAIE traite ce cas de d ploiement 6 3 1 Un ordinateur et une application parall le L ordinateur consid r est une station multi processeur de travail exploit e par GNU Linux Elle comporte deux processeurs AMD 64 bits ayant chacun quatre c urs Elle comporte gale ment 8 Go de m moire vive et deux disques durs SATA en RAIDO sur lesquels se trouvent le r pertoire home user personnel de l utilisateur ainsi qu un r pertoire local temporaire r pertoires de 100 Go chacun Cette station est connect e un r seau local TCP IP sur Ethernet Gigabit par seconde r seau dans lequel elle est appel e computer Elle accepte des commandes par SSH et des transferts de fichiers par SCP L application consid r e est une application multi processus compil e avec une implantation de MPI faisant communiquer ces processus par m moire partag e Compil e pour GNU Lin
94. veloppant des implantations de composants SALOME les d veloppeurs les d clarent dans les catalogues de modules Ces catalogues sont pratiquement des fichiers au format XML Pour installer les modules SALOME dont il a besoin afin de r aliser ses simulations nu m riques sur les ordinateurs auxquels il a acc s l utilisateur a deux solutions Il peut soit y d sarchiver des archives de modules compil s pour le syst me d exploitation de ses ordinateurs soit y compiler le code source de ces modules Quant aux ventuelles d pendances la mani re de les installer est ind pendante de SALOME Avant d utiliser SALOME afin de r aliser ses simulations num riques l utilisateur doit encore construire sur chaque ordinateur une vue coh rente des modules qu il a install s Cette vue est appel e application SALOME Applications Les applications SALOME sont des arborescences de fichiers qui offrent une vue coh rente de l implantation de la plate forme et des codes int gr s de simulation num rique Une application SALOME comporte des fichiers ex cutables des implantations de composants SALOME un script pour son lancement et des scripts pour la configuration de son environ nement Les fichiers ex cutables et les implantations de composants SALOME proviennent des modules SALOME eux m mes L utilisateur configure puis g n re au moins une application SALOME sur chaque ordina teur sur lequel il a install des modules Afin de configur
95. version 4 0 Available Specification n formal 2006 04 02 OMG avril 2006 MARVIE R MERLE P GEIB J M et VADET M OpenCCM une plate forme ouverte pour composants CORBA dans 2 me Conf rence Fran aise sur les Syst mes d Exploitation CFSE Paris France p 112 avril 2001 BAUDE F CAROMEL D MESTRE L et al Interactive and Descriptor based De ployment of Object Oriented Grid Applications dans Proceedings of the 11th IEEE In ternational Symposium on High Performance Distributed Computing Edinburgh Scotland p 93 102 IEEE Computer Society juillet 2002 DEPALMA N BOUCHENAK S BOYER F et al Jade un environnement d admi nistration autonome Technique et Science Informatiques vol 27 n 9 10 2008 p 1225 1252 BROTO L HAGIMONT D STOLF P et al Autonomic management policy spe cification in Tune dans Annual ACM Symposium on Applied Computing SAC 08 Fortaleza Ceara Brazil p 1658 1663 ACM mars 2008 167 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 FLISSI A DuBus J DOLET N et MERLE P Deploying on the Grid with Deploy Ware dans Proceedings of the 8th International Symposium on Cluster Computing and the Grid CCGRID 08 Lyon France p 177 184 IEEE mai 2008 CARON E CHOUHAN P K et DAIL H GoDIET A Deployment Tool for Dis
96. 91 Ex cuteur Le gestionnaire Ex cuteur r alise les actions Il prend en charge l activit de l uti lisateur consistant transformer en actes les choix de services pour les requ tes Pour ce faire il consulte les tats de fonctionnement des l ments associ s au niveau Actions d une part et les relations de pr c dence de ces l ments d autre part Il ne r alise aucune action qui ne serait pas en attente Une fois connues il rend op rationnelles les requ tes dans l abstraction Programme et attend que les autres acteurs modifient les abstractions jusqu ce que les associations d l ments au niveau Actions changent Le gestionnaire Ex cuteur organise la r alisation du programme d installation et d ex cution de l application la mani re d un moteur d ex cution de flots de travail il fonctionne en deux tapes analyser les relations de pr c dence entre les actions r aliser et r aliser parall lement celles qui ne sont pas pr c d es Il boucle sur ce fonctionnement jusqu ce qu il n y ait plus aucune action r aliser dans le programme En r alisant des actions le gestionnaire Ex cuteur consulte les trois abstractions du niveau Actions et ne modifie que l abstraction Programme En activant les requ tes d abord entreprises puis associ es Ex cuteur collabore avec Conseiller et avec Associateur Contr leur Le gestionnaire Contr leur traite les v nements Il prend en charge l activit de l utilis
97. ALOME sur les ordinateurs il faudrait donc que le superviseur communique les demandes ult rieures au connecteur de conte neurs 7 4 5 Conclusion L architecture de d ploiement dynamique ODD SAMURAAIE pourrait enrichir la plate forme de simulation num rique SALOME pour chaque tape du d ploiement Cet enrichissement n cessite cependant les volutions suivantes Le superviseur devrait communiquer au connecteur de conteneurs la topologie d taill e des conteneurs et les demandes ult rieures de conteneurs Le connecteur de ressources SALOME devrait tre renforc par un syst me d information qui connaisse la topologie d taill des ordinateurs Le module noyau devrait utiliser un gestionnaire de paquets ne n cessitant aucun privil ge pour les modules SALOME et leurs d pendances L application SALOME devrait elle m me tre dynamique 154 7 5 Conclusion La plate forme de simulation num rique SALOME est indispensable dans l activit de nom breux ing nieurs chercheurs EDF Pourtant son approche de d ploiement contraint la fois ses utilisateurs sa performance d ex cution et sa portabilit De nombreuses plates formes appli catives ont ce probl me en commun ce qui a donn lieu des travaux d di s au d ploiement automatique La plate forme de simulation num rique SALOME peut d l guer le d ploiement de ses conte neurs de composants l architecture de d ploiement dynamique ODD SAMURAAI
98. ANGE on a d velopp les connecteurs et les traducteurs avec le langage de programmation Python Pour les connecteurs implantation de la technologie CORBA que SALOME utilise OmniORB a permis de g n rer leurs interfaces Python partir des interfaces IDL que SALOME fournit pour les gestionnaires qu ils remplacent Quant aux traducteurs on a sp cialis les traducteurs de base que fournit ANGE en leur ajoutant les fonctions sp cifiques pour SALOME Les connecteurs communiquent avec les traducteurs par YAML RPC on a donc galement implant les mandataires de traducteurs auxquels les connecteurs font appel Les connecteurs les traducteurs et les mandataires de traducteurs sont disponibles dans le code source d ANGE Une fois ANGE tendu pour la technologie SALOME on a modifi l implantation de SA LOME afin qu elle utilise ANGE 150 Modification de SALOME pour l utilisation d ANGE Modifier l implantation de SALOME afin qu elle utilise ANGE a consist embarquer ANGE dans SALOME et remplacer les implantations des gestionnaires de ressources et de conteneurs de composants par celles des connecteurs ODD pour SALOME Les gestionnaires de ressources et de conteneurs de composants tant d velopp s avec le langage C on a d remplacer la pile d appel en C qui en cr aient les instances par une autre pile en Python Cette pile comportait seulement deux objets un objet appel lanceur qui cr ait effectivement les ins
99. Associateur puisse les associer Pour cela des tests correspondants leur niveau d abstraction doivent galement r ussir Au niveau Instances les caract ristiques offertes par les l ments de contenant doivent satisfaire les demandes des l ments de contenu Des l ments de contenant qui ne seraient pas connect s par des arcs d acc s ne peuvent pas tre associ s des l ments de contenu qui le seraient Aux niveaux Actions et v nements ce sont les types offerts et demand s d une part et les relations de port e d autre part qui doivent correspondre En associant des l ments de contenant aux l ments de contenu qui le demandent le ges tionnaire Associateur met en uvre une strat gie Cette strat gie peut par exemple tre de minimiser la dur e d ex cution de l application de minimiser la dur e du processus de d ploie ment pris dans son ensemble ou de minimiser les transferts de donn es Cette strat gie peut par exemple impliquer que Associateur vite d associer un m me l ment de contenant plusieurs l ments de contenu ou qu il ajoute des copies de donn es ou d activit s dans l abstraction de l application Dans certaines conditions aucune association n est possible ou du moins les associations possibles sont insuffisantes Cela advient quand les ressources sont incompatibles avec l appli cation quand les services sont incapables de r aliser le programme d installation et d ex cution de l
100. E Cette d l gation pourrait l enrichir L int gration de l approche de d ploiement de SALOME et de cette architecture a t con ue et implant e Cette int gration a permis de r aliser de mani re r partie et dynamique une simulation num rique impliquant un conteneur de composants L architec ture ODD SAMURAAIE peut d s lors enrichir SALOME pour chaque tape du d ploiement Cet enrichissement d aux d cisions des gestionnaires ODD requiert cependant que davantage d information soit disponible afin d am liorer la qualit des abstractions SAMURAAIE 155 156 Cinqui me partie Conclusion 157 Chapitre 8 Conclusion 8 1 Abstraire les syst mes informatiques afin d en automatiser l utilisation Ce document a montr comment abstraire les syst mes informatiques haute performance afin d automatiser le d ploiement d applications dynamiques Classifier les technologies de ces syst mes a en effet permis de structurer un mod le d abstraction sur lequel un mod le d au tomatisation du d ploiement d applications a pu tre fond Une preuve de concept d une telle architecture a pu tre implant e Enfin cette architecture et son implantation ont pu tre valid es avec trois cas de d ploiement de complexit croissante ainsi qu avec une tude du d ploiement de simulations num riques SALOME Le mod le SAMURAAIE est fond sur des concepts simples mais il permet d abstraire des syst mes informatiques complexes
101. ENAULT S Pylint User Manuel Logilab septembre 2009 Boyp L L Patterns of Event Objects in Large Scale Business Systems dans Proccedings of EuroPLoP 96 juin 1996 Doctrine project org Join Table Inheritance octobre 2008 GAMMA E HELM R JOHNSON R et VLISSIDES J Design Patterns Elements of Reusable Object Oriented Software Addison Wesley 1994 LEE J Python Actor Runtime Library http osl cs uiuc edu parley RIBES A et CAREMOLI C SALOME platform component model for numerical simulation dans COMPSAC 2 p 553 564 IEEE Computer Society 2007 PEREZ C PRIOL T et RIBES A A Parallel CORBA Component Model for Nume rical Code Coupling International Journal of High Performance Computing Applications IJHPCA vol 17 n 4 2003 p 417 429 Special issue Best Applications Papers from the 3rd International Workshop on Grid Computing WIENBERG A MATTHES F et BOGER M Modeling Dynamic Software Compo nents in UML dans UML99 The Unified Modeling Language Proceedings LNCS 1723 p 204 219 Springer Verlag 1999 168
102. Evolutions de SALOME pour le d ploiement dynamique 153 TAL 4 Introductionis de Mise bef Ta ne dec dda Sh Hin den D BIS BE 426385 E O A 153 74 2 Allocation optimis e 153 74 3 Installation la vol e 154 7 4 4 Ex cution anticip e 154 TAD lt CONIO J ot wel die et tes E EE dE he et RE ee ee Man 154 To CONCI SION i sx ANA RS ee AS Re aA ate ER AR AIN A 155 V Conclusion 157 8 Conclusion 159 8 1 Abstraire les syst mes informatiques afin d en automatiser l utilisation 159 8 2 PeTSpeCtives dea Mises ele er ROME Re e a he ne Be Dh ee 160 8 2 1 Poursuite de l effort d ing nierie et transfert en production 160 8 2 2 Evolutions de l architecture ODD SAMURAAIE 160 8 2 3 Vers une meilleure performance de l ordonnancement du d ploiement 161 8 2 4 Vers une meilleure performance pour les applications d ploy es automati O L Te rate APG bk ee 162 8 2 5 Vers un syst me personnel d exploitation 2 2 2 162 Table des figures 2 1 2 2 2 3 2 4 2 5 3 1 3 2 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 4 15 5 1 5 2 5 3 7 1 7 2 7 3 7 4 7 5 7 6 Structure g n rale de l informatique Lor de Mode drid ie Id cod he lt tas ee Raabe a EU b rd Amdahl 275 216 274 028 re eek ate Dh ee te a i tes Se Archite
103. ID5 sur lesquels se trouve le r pertoire personnel de l utilisateur ainsi qu un r pertoire d criture temporaire tmp de 50 Go chacun Ces deux ordinateurs sont interconnect s au sein d un r seau TCP IP local Ils fonctionnent sous GNU Linux 2 6 20 et acceptent des commandes par SSH et des transferts de fichiers par SCP 48 Application param trique L application comporte trois l ments un lanceur un code pa ram trique et un jeu de donn es traiter Le lanceur est un script shell qui construit et soumet localement simultan ment toutes les commandes pour les cas d tude impliquant chacun le code param trique lui m me Ses param tres sont le chemin d acc s au code param trique le chemin d acc s au jeu de donn es traiter et des param tres sp cifiques de l tude param trique Le code param trique lui m me est un programme binaire GNU Linux 1686 32 bits ayant deux fils d ex cution et dont les param tres sont le chemin d acc s au jeu de donn es traiter le chemin d acc s au jeu de donn es trait es et des param tres sp cifiques un cas de l tude param trique Enfin le jeu de donn es traiter est un fichier de 10 Go Conditions initiales L ordinateur de l utilisateur est connect au sein du r seau local dans lequel se trouvent les ordinateurs de calcul Les fichiers de l application param trique se trouvent dans un sous r pertoire etude_parametrique du r pertoire personnel de l utilisateur sur s
104. Interface Definition Language IDL ind pendant des langages de programmation La mani re d implanter un composant Certains mod les sp cifient pour ce faire des r gles de correspondance entre leur langage de d finition d interfaces et des langages de program mation ordinaires La mani re de sp cifier les communications entre les composants Certains mod les sp ci fient pour ce faire un langage de description d architecture Architecture Description Lan guage ADL dans lequel des assemblages de composants peuvent tre d crits proposent dans leur implantation une interface de connexion de composants ou les deux Parmi les mod les d applications base de composants figurent par exemple l architecture com mune de composants Common Component Architecture CCA 26 le mod le de composants CORBA CORBA Component Model CCM 27 Fractal 28 et l architecture de composants de services Service Component Architecture SCA 29 Les mod les de composants permettent de programmer aussi bien des applications parall les param triques r parties q en flots de travail Par exemple GridCCM 30 est une extension de CCM supportant des composants parall les Un composant parall le GridCCM est un ensemble de composants CCM ordinaires mais strictement identiques H ritant des propri t s de CORBA sur lequel CCM est fond GridCCM ajoute le parall lisme l h t rog n it et la dynamicit des applications r
105. La partie I page 21 pr sente le contexte et cerne la probl matique des travaux Elle contient les chapitres 2 Informatique haute performance et 3 D ploiement dans le contexte de l informatique huate performance Le chapitre 2 page 21 classifie les technologies impliqu es dans les syst mes informatiques haute performance Cette classification met en vidence les propri t s de parall lisme et r partition d h t rog n it et de dynamicit des technologies de ressources d applications et de syst mes d exploitation Le chapitre 3 page 43 d finit le d ploiement d applications et dresse un tat de l art des tra vaux existants dans ce domaine Parmi les travaux dans ce domaine peu adressent ce processus dans sa globalit et moins encore supportent toutes les propri t s des technologies impliqu es dans les syst mes informatiques haute performance La partie III page 73 pr sente les contributions Elle contient les chapitres 4 Architecture ODD SAMURAAIE de d ploiement dynamique d applications et 5 Prototype ANGE En r ponse l analyse des technologies la section 4 3 page 74 du chapitre 4 propose un premier mod le le mod le d abstraction des syst mes informatiques haute performance Ce mod le est appel mod le d abstraction syst me pour les actions les instances et les v nements de l utilisateur des ressources et des applications SAMURAAIE Il permet d abstraire les
106. M etc La figure 7 1 page 132 illustre cette architecture Comme son nom l indique le module d interface graphique permet l utilisateur et aux autres modules de dialoguer dans un paradigme graphique Cependant en vertu des bonnes pratiques de conception informatique dialoguer selon ce paradigme et donc le module d interface graphique sont optionnels 7 2 3 Mod le de composants Introduction Dans le mod le de composants SALOME 103 les composants sont appel s services Ces services ont des ports qui ont un type ports de flot de donn es de flux de donn es ou de contr le d ex cution Un flot de donn es r sulte d une connexion entre un port de flot de donn es sortantes d un service et un port de flot de donn es entrantes d un autre service Quand le premier service se termine des donn es sont transmises l autre service qui d marre Au contraire un flux de donn es est une transmission de donn es entre des services s ex cutant parall lement Un port de flux de donn es sortantes peut tre connect plusieurs ports de flux de donn es entrantes et inversement Quant aux ports de contr le d ex cution ils permettent de d finir des pr c dences entre les ex cutions des services Un contr le d ex cution en l occurrence 132 eFl sfl SEX e FXT bsc coRBA eFl sfl DSC PACO es sc A Flot Controle e Fl S DSC CORBA ec sc Flux e Fx e Fx SALOME CORBA DSC PACO Flot Contr
107. N d ordre 4063 ANN E 2009 eh ue UNIVERSIT DE e RENNES 1 N S TH SE UNIVERSIT DE RENNES 1 sous le sceau de l Universit Europ enne de Bretagne pour le grade de DOCTEUR DE L UNIVERSIT DE RENNES 1 Mention INFORMATIQUE Ecole doctorale MATISSE pr sent e par Boris DAIX pr par e l unit de recherche 6074 IRISA Institut de Recherche en Informatique et Syst mes Al atoires IFSIC Th se soutenue Rennes le 11 d cembre 2009 devant le jury compos de Abstraction des syst mes Thierry PRIOL informatiques a haute Directeur de recherche INRIA Rennes pr sident Daniel HAGIMONT performance pour Professeur ENSEEIHT rapporteur Philippe MERLE l automatisation du Charg de recherche INRIA Lille rapporteur Marco DANELUTTO d ploiement d 9 applicat ions a Sie nie de Pise examinateur ristine ORIN Directrice de recherche INRIA Rennes directeur de dynamiques these Christian PEREZ Charg de recherche INRIA Grenoble co directeur de th se Samuel KORTAS Ing nieur chercheur EDF R amp D co directeur de th se Mes remerciements vont MM Hagimont et Merle rapporteurs M Danelutto examinateur ainsi qu M Priol pr sident du jury Merci vous pour vos critiques vos questions et votre enthousiasme concernant cette th se Je remercie galement les membres de l quipe qui a dirig mes travaux M Morin ainsi que MM Kortas et P rez Attentifs
108. ODD SAMURAAIE ne dispose pas de suffisamment d information propos des conteneurs en provenance de la plate forme SALOME afin d optimiser l allocation des ordinateurs pour les conteneurs En effet si ces conteneurs sont d termin s par les demandes au connecteur de conteneurs les communications qui vont avoir lieu entre les composants SALOME que ces conteneurs vont charger ne le sont pas Or les ordinateurs allou s pour deux conteneurs dont les composants communiquent intens ment doivent probablement diff rer des ordinateurs allou s pour deux conteneurs dont les composants ne communiquent pas En outre si les sch mas de calcul ne quantifient pas les d bits les latences ni les technologies de communication attendues entre des n uds de calcul faisant appel des composants SALOME au moins ils d crivent indirectement quels composants communiquent De m me l architecture ODD SAMURAAIE ne dispose pas non plus de suffisamment d in formation propos des ordinateurs en provenance de la plate forme SALOME afin d optimiser leur allocation pour des conteneurs En effet si ces ordinateurs sont d crits dans le catalogue de ressources les connecteurs les interconnexions et leurs technologies ne le sont pas Or les ordi nateurs allou s pour deux conteneurs dont les composants communiquent intens ment doivent probablement diff rer des ordinateurs allou s pour deux conteneurs dont les composants ne com muniquent pas En outre des sy
109. OME le ges tionnaire de conteneurs de composants SALOME et le superviseur est restreinte aux ressources SALOME Cette allocation a d autres restrictions Par exemple dans la pile d ex cution res sources conteneurs composants et n uds d crite dans la figure ci dessus les communications ne sont d crites qu au niveau des n uds de calcul L allocation de ressources de conteneurs et de composants ne peut donc pas en tenir compte Tous les niveaux d ex cution se pr occupent des ressources Afin de trouver d marrer ou donner des conteneurs de composants leur gestionnaire scrute leurs noms dans le service de d signation d objets CORBA Ces noms comportent les noms des ordinateurs sur lesquels sont ex cut es leurs implantations Le gestionnaire a donc besoin de conna tre les noms des ordina teurs non seulement pour y ex cuter distance les implantations des conteneurs mais galement pour les identifier Par ailleurs en plus des noms des composants qu il veut charger le supervi seur sp cifie dans ses demandes de conteneurs les caract ristiques des ordinateurs sur lesquels il veut obtenir ces conteneurs Enfin SALOME traite l allocation de ressources et l ex cution des applications au niveau des conteneurs de composants et non pas au niveau des composants Les conteneurs sont pourtant syst matiquement allou s en fonction des composants Conclusion En r sum avant de r aliser des simulations num riques faisant appel
110. ORBA DSC CORBA SALOME CORBA RESSOURCE DISTANTE A KERNEL DSC CORBA SALOME CORBA DSC CORBA SALOME CORBA DSC CORBA DSC CORBA RESSOURCE DISTANTE B KERNEL DSC CORBA SALOME CORBA DSC CORBA FIGURE 7 3 Installation de la plate forme SALOME 137 Modules Les modules SALOME sont des arborescences de fichiers qui fournissent des parties de l implantation de la plate forme elle m me ainsi que des codes int gr s de simulation num rique leurs d pendances Un module SALOME comporte des fichiers ex cutables des fichiers d interfaces et d implantations de composants SALOME des fichiers de documentation des fi chiers d exemples etc ainsi qu un catalogue de module d clarant des meta donn es propos des fichiers pr c dents dans la perspective de leur utilisation Le module noyau KERNEL fournit les implantations des conteneurs de composants SALOME dans lesquels sont charg s les composants SALOME pendant l ex cution de la plate forme Tout module fournissant des implantations de composants a donc besoin du module noyau Les im plantations des conteneurs qui varient selon les implantations des composants sont des fichiers ex cutables Il y a deux types d implantation de conteneurs les s quentiels et les parall les Les s quentiels peuvent contenir des composants SALOME base d objets SALOME les parall les des composants SALOME base d objets PACO Ces conteneurs requi rent des d velop peurs de compos
111. Ordinateur et Pro cesseur de l abstraction Ressources un arc d agr gation et deux arcs de port e Les ca ract ristiques d tat de tous les sommets valent OK La caract ristique de type d action du service d ex cution vaut ENLEVER Abstraction Programme Cette abstraction comporte un sommet d agr gation de type T che un sommet simple de type Requ te d ex cution les sommets Processus et Activit de l abstraction Application un arc d agr gation et deux arcs de port e Les caract ristiques d tat de tous les sommets valent OK La caract ristique de type d action de la requ te d ex cution vaut ENLEVER Abstraction D ploiement Cette abstraction comporte tous les sommets des abstractions Ser vices et Programme ainsi que deux arcs de liaison Ces arcs associent les l ments de contenant aux l ments de contenu correspondants Ajout d un processeur Un exemple au niveau v nements est l ajout d un processeur l ordinateur des exemples pr c dents La figure 4 7 page 86 illustre cet exemple L ordinateur est dans une zone qui com porte un capteur portant sur les connecteurs entre le processeur existant et les m moires de cet ordinateur La modification comporte cinq messages portant sur les connecteurs entre le processeur existent et les m moires de cet ordinateur d une part et sur le nouveau processeur d autre part Les abstractions SAMURAAIE qui correspondent cet exemple sont les abstrac tions Capteurs Messages
112. PC permet des applications utilisant cette technologie de se connec ter distance ANGE YAML RPC est une proposition de protocole d appel distance de proc dures dont les messages sont format s dans le standard YAML Pour cette technologie le moteur ANGE est ex cut dans une forme de serveur et des clients peuvent alors l appeler distance Pr sent e dans un chapitre pr c dent parmi les technologies d application CORBA l architecture commune de courtier en requ tes d objets est un des standards mondiaux en programmation r partie base d objets 5 5 Ajout du support d une technologie ANGE a vocation supporter de front une multitude de technologies Qu il s agisse de formats de description ou de syst mes d information propos des ressources de syst mes ou d intergiciels d exploitation de plates formes d applications ou d interfaces utilisateur ANGE est con u pour les accueillir L ajout ANGE du support d une technologie comporte deux tapes La premi re est d implanter les connecteurs et les traducteurs pour cette technologie La seconde est d ajouter ces connecteurs et traducteurs dans la biblioth que Dans le mod le ODD d automatisation du d ploiement d applications les connecteurs consti tuent une double interface de programmation et les traducteurs transforment l information Les interfaces externes des connecteurs sont libres mais il est recommand qu elles soient les plus conform
113. RDAGE oui oui applications TABLE 3 3 Propri t s support es par les produits existants supportant toutes les tapes du d ploiement est un environnement galement r parti sur toute une organisation mais son r le est restreint la r solution des d pendances logicielles Du c t des gestionnaires d applications base de composants les sp cifications du d ploiement et de la configuration D amp C de l OMG proposent un mod le de conditionnement de m morisation de description d assemblage et de chargement d chargement de composants CCM Cependant ce mod le ne sp cifie pas comment les conteneurs et par eux les ressources sont allou s aux composants Bien que les implantations de CCM sachent charger et connecter des composants sur demande le chargement d chargement d un assemblage dans MDA D amp C ne peut pas se faire par partie Le mod le de d ploiement ne supporte donc pas les applications dynamiques Issus de la technologie d applications base de composants Fractal Proactive et Deploy Ware FDF ne traitent pas l allocation de ressources aux composants En revanche gr ce son meta mod le DeployWare FDF permet de valider la faisabilit d une installation partir de l information propos des ressources et de l application d crites dans son langage de descrip tion Gr ce sa boucle de contr le Jade permet d allouer les ordinateurs d une grappe aux applications qu il d ploie Afin de r ussir l
114. aire de conteneurs de composants Afin de charger et connecter des composants SALOME il est d abord n cessaire d obtenir des conteneurs Un l ments qui en a particuli rement besoin est le superviseur de couplage Pour ce faire le gestionnaire de conteneurs de composants peut r aliser les cinq op rations suivantes Trouver ou d marrer un conteneur de composants s quentiels Trouver ou d marrer un conteneur de composants parall les D marrer un conteneur de composants s quentiels ou parall les Cr er un nouveau conteneur de composants Arr ter tous les conteneurs de composants Afin de trouver d marrer et cr er des conteneurs de composants le gestionnaire consulte le ges tionnaire de ressources et les catalogues des modules install s sur les ordinateurs En consultant le gestionnaire de ressources le gestionnaire de conteneurs de composants obtient les meta donn es d un ordinateur sur lequel est install le module fournissant les composants demand s pour le conteneur demand ainsi que le chemin d acc s au r pertoire d installation de l appli cation Quant aux catalogues de modules il les consulte afin d obtenir les meta donn es des composants demand s et peut ainsi d terminer l implantation du conteneur compatible avec l implantation des composants demand s Afin de d marrer ou de cr er un nouveau conteneur de composants une fois toute l informa tion obtenue du gestionnaire de
115. alcul des applications et des allocations selon leurs sp cialit s Ces outils peuvent utiliser les langages de description pr sent s ci dessus afin de pr senter cette information L information qu ils fournissent a une dur e de vie limit e c est pourquoi ils doivent la rafrai chir r guli rement Par exemple le syst me d exploitation GNU Linux comporte un syst me d information enregistrant dans des fichiers et en m moire vive les tats presque instantan s des ressources de calcul du syst me d exploitation et des applications Cette information peut tre obtenue en consultant ces fichiers en appelant des commandes voire en utilisant l interface de programmation du syst me Pour obtenir les caract ristiques des processeurs on peut consulter le fichier procinfo pour la capacit m moire disponible utiliser la commande top et pour le type d un fichier utiliser la biblioth que libmagic etc Au niveau du syst me d exploitation l information est brute et donc difficile utiliser Des syst mes d information pour des r seaux d ordinateurs permettent de consolider toute l information disponible sur chacune d elle et d alerter les administrateurs en cas d incident Par exemple Ganglia et Nagios sont couramment utilis s afin de surveiller des parcs entiers d or dinateurs Gr ce un syst me avanc de sondes Nagios permet de surveiller non seulement le mat riel mais galement certaines ressources de plus haut niveau tell
116. ance fixent les tech nologies de l application En effet en concevant une application les d veloppeurs d cident de ses mod les de donn es de traitements et de communication En la r alisant puis en la mainte nant ils choisissent ses d pendances vers des codes externes ainsi que les syst mes d exploitation et les architectures des ressources sur lesquels elle sera ex cut e En la conditionnant enfin ils choisissent la mani re avec laquelle elle sera install e Ces tapes d terminent donc le processus de d ploiement 3 2 2 D ploiement Le d ploiement d une application est un processus qui la m ne d un tat de conditionnement un tat de fonctionnement processus qui incombe ses utilisateurs Le processus inverse est appel repliement Regroup s sous ce terme les utilisateurs d une application peuvent comporter des d veloppeurs des administrateurs de ressources des installateurs des utilisateurs finaux etc Le d ploiement se d roule sur les ressources de ces utilisateurs et comporte les trois tapes suivantes Allocation Allouer des ressources une application est d couvrir s lectionner r server ou n gocier des ressources dont elle aura besoin afin d tre install e et ex cut e c est dire la placer sur des ressources afin de continuer le processus de son d ploiement Installation Installer une application est l acheminer la d conditionner la compiler la para m trer ou la conf
117. ant que langage d change de description d architecture entre applications Il permet notamment de d finir et d analyser des styles d architecture Wright apporte un formalisme permettant de valider la consistence d une architecture Enfin b n ficiant d un environnement d ex cution Darwin permet galement de d finir le comportement temporel d une architecture tout en le contrai gnant afin d viter des dysfonctionnements S ils d crivent bien les applications ces langages restent ind pendants des implantations qu ils d crivent Les langages de description et d assemblage de composants logiciels font partie des technolo gies d applications base de composants pr sent es dans le chapitre pr c dent Ces technologies visent porter les bonnes pratiques du domaine du mat riel vers le domaine logiciel S ils ne sont g n ralement pas li s un langage de programmation ces langages d finissent cependant les applications en combinant des implantations des composants que celles ci comportent Dans son mod le de composants CORBA CORBA Component Model CCM 27 le groupe de gestion d objets Object Management Group OMG propose un langage de description et d assemblage de composants respectivement appel s langage de description de composant logiciel C omponent Software Descriptor CSD et langage de description d assemblage de composants Component Assembly Descriptor CAD Fractal 28 et SCA 29 ont des langages similaires T
118. ants Le premier fichier est le programme ma tre un binaire ex cutable faisant appel la bi blioth que partag e Ce programme accepte quatre param tres les nombres de limites inf rieure et sup rieure de l tude le nombre de pas de l tude et le chemin d acc s au fichier de r sultats Le second fichier est le programme esclave un autre binaire ex cutable faisant appel la biblioth que partag e Ce programme accepte un param tre l adresse du processus ma tre sur le sous r seau Infiniband De m me que pour le cas de d ploiement pr c dent l utilisateur a ouvert une session de tra vail sur son ordinateur personnel Il a un compte sur la grappe distante d ordinateurs grappe dont il conna t l identifiant sur le r seau et qui contrairement la station de travail du cas de d ploiement pr c dent est partag e par plusieurs utilisateurs Hors de ses sous r seaux cette grappe est effectivement atteignable par la station passerelle Cette passerelle permet aux utili sateurs de soumettre des t ches TORQUE et de lire et crire dans leurs r pertoires personnels respectifs L ordinateur personnel et la passerelle sont interconnect s au sein du m me r seau local TCP IP sur Ethernet Gigabit Quatre puis deux stations de cette grappe sont r serv es pour l utilisateur et la premi re tombe en panne avant que sa r servation ne soit r volue Les fichiers de l application se trouvent dans une archive appli tar
119. ants que leurs implantations soient des biblioth ques dynamiques C ou bien des modules Python Le module noyau fournit galement des scripts et des squelettes pour la construction et l ex cution d applications SALOME voir ci dessous Une d pendance du mo dule noyau est OmniORB une implantation de CORBA comportant notamment un compilateur d interfaces IDL pour plusieurs langages de programmation ainsi qu un service de d signation naming service d objets CORBA Le module de supervision de couplage YACS fournit quant lui l implantation du supervi seur Cette implantation comporte un fichier binaire ex cutable et une biblioth que partag e Les fichiers ex cutables ou les implantations de composants que fournissent les modules SALOME peuvent avoir des d pendances particuli res vers des codes externes L int gration de codes externes de simulation num rique en composants SALOME repose sur cette possibilit Installer un module qui aurait des d pendances implique d installer galement ces d pendances Un catalogue de module contient toutes les meta donn es n cessaires l utilisateur afin que celui ci puisse utiliser les composants SALOME dans ses simulations num riques En ef fet ces meta donn es sont par exemple utilis es pour programmer des sch mas de calcul Ces meta donn es comportent le mod le de l implantation des composants la description de leur interface etc Lorsqu ils contribuent des modules SALOME en d
120. application ou quand aucun capteur ne peut traiter les modifications demand es Dans ces 90 conditions le gestionnaire Associateur attend que d autres acteurs modifient les abstractions jusqu ce que ces conditions changent En g rant les associations entre l ments de contenant et de contenu tous les niveaux d abs traction le gestionnaire Associateur consulte toutes les abstractions SAMURAAIE et modifie les abstractions Carte D ploiement et Journal voire Application quand il ajoute des copies de donn es ou d activit Cela lui conf re un r le central parmi les quatre gestionnaires Conseiller Le gestionnaire Conseiller d cide des actions entreprendre Il prend en charge l ac tivit de l utilisateur consistant transformer en requ tes les choix de ressources pour l applica tion Afin de prendre sa d cision il consulte les tats de fonctionnement des l ments associ s au niveau Instances d une part et les relations de ces l ments d autre part Il n entreprend aucune action pour des l ments sur lesquels porteraient d j des actions en attente ou op rationnelles Une fois sa d cision prise il ajoute des requ tes de service dans l abstraction Programme et at tend que les autres acteurs modifient les abstractions jusqu ce que les associations d l ments au niveau Instances changent Les actions que le gestionnaire Conseiller entreprend ont un objectif d ployer contr ler ou reployer Si les
121. application en des listes d arguments correspondants aux param tres des lignes de commande Ce traducteur est donc appel plusieurs fois Connecteurs Connecteur d intergiciel de grille Le connecteur d intergiciel de grille permet d abs traire des ordinateurs exploit s localement par des syst mes POSIX et globalement par cet intergiciel de grille ainsi que d abstraire ces syst mes eux m mes En s attachant aux interfaces de ces syst mes il permet galement de r server des ordinateurs et de r aliser des actions sur eux Ce connecteur est donc appel afin d abstraire la grille de stations de travail laquelle l utilisateur a acc s et les syst mes d exploitation que sont l intergiciel de grille et GNU Linux des stations Pour ce faire ce connecteur appelle les traducteurs de grille d ordinateurs d appli cation pour intergiciel de grille et de syst me GNU Linux Ce connecteur est galement appel afin de r aliser les copies et la recopie de blobs ainsi que le d marrage d activit s de l application Connecteur d application en flot de travail Le connecteur d application en flot de travail permet d abstraire une application en flot de travail Il est appel par l utilisateur afin d abstraire son application Pour ce faire il accepte la description du flot de travail et appelle le traducteur d application en flot de travail Parce que l architecture ODD SAMURAAIE est dynamique ce connecteur peut galement tre appel de mani re
122. applications Conjugu aux catalogues de modules le catalogue de ressources d termine la liste des implantations des composants install s sur chaque ordi nateur ainsi que les chemins d acc s leur r pertoire d installation Les meta donn es des ordinateurs caract risent videmment les ordinateurs eux m mes Ces donn es participent donc la fois des abstractions SAMURAAIE des ressources des services de l application et de la carte allocation de ressources de m morisation l application Demandes de conteneurs de composants Une demande de conteneur de composants com porte des meta donn es d ordinateur restreignant l allocation le nom d une politique d al location et une liste de noms de composants dont l l ment ayant formul la demande pr voit le chargement Pouvant contenir jusqu au nom d un ordinateur les meta donn es peuvent forcer l allocation d un ordinateur Conjugu es avec les catalogues de modules ces demandes d terminent l implantation du conteneur et les implantations des composants qui doivent pouvoir tre charg es dans ce conteneur Ces demandes participent donc de l abstraction SAMURAAIE de l application L activit d allocation incombant d sormais l architecture de d ploiement dynamique ODD SAMURAAIE le nom d une politique d allocation que comportent ces demandes n est pas consid r Les acteurs de l architecture de d ploiement dynamique ODD SAMURAAIE qui traduisent en abstractions SAMURAAIE d
123. ar des relations d acc s Traducteur d application MPI Le traducteur d application MPI traduit l information technologique propos d une application MPI en l ments et relations entre l ments pour l abstraction Application Cette information fournie par un connecteur comporte la ligne de commande n le nombre de processus si ces processus intercommuniquent par m moire partag e le chemin d acc s et la taille du fichier binaire ex cutable et un couple de listes des chemins d acc s et des tailles des fichiers lus et crits pour chaque processus Le traducteur d application MPI est appel afin d abstraire l application de l utilisateur Ce traducteur ajoute alors dans l abstraction Application les n l ments Processus les 2 2n l ments Blob du r pertoire des fichiers de l application de la m moire partag e des n empreintes en m moire vive et des n fichiers de r sultats les n l ments Activit et les 3n 3 l ments Flux Il relie ces l ments par des relations d acc s et d agr gation Traducteur de pseudo chemins SAMURAAIE Le traducteur de pseudo chemins SA MURAAIE traduit des s quences de noms d l ments en relations de liaison entre ces l ments pour l abstraction Carte Dans ces s quences les noms peuvent tre deux ou quatre et sont s par s par des barres obliques de la mani re suivante Nom de l l ment de contenant barre oblique et nom de l l ment de contenu Nom de l l ment
124. ateur consistant traiter les messages Pour ce faire il consulte les tats de fonctionnement des l ments associ s au niveau v nements d une part et les relations de pr c dence de ces l ments d autre part Il ne traite aucun v nement qui ne serait pas en attente Une fois connus il rend op rationnels les messages les traite les d clare termin s et attend que les autres acteurs modifient les abstractions jusqu ce que les associations d l ments au niveau v nements changent De m me que Ex cuteur le gestionnaire Contr leur organise le traitement des v nements la mani re d un moteur d ex cution de flots de travail Il traite tous les v nements c est dire que sans lui les abstractions aux niveaux Instances et Actions ne changeraient pas En effet les gestionnaires Associateur Conseiller et Ex cuteur ne modifient pas directement les abstractions mais ajoutent des v nements pour cela Contr leur traite alors ces v nements en attente Pour chaque abstraction le gestionnaire Contr leur d finit le nombre et la port e de capteurs Afin que des v nements puissent advenir aux fronti res de ces port es il s assure que ces port es se recouvrent Inversement afin qu aucun v nement n advienne sur une partie d une abstraction il s assure que cette partie soit hors de port e des capteurs Enfin afin de mieux r partir la charge des v nements entre les capteurs il peut en changer le nombr
125. ation avec des acheteurs afin de n gocier les niveaux de service pour les ressources Le groupe de travail sur la gestion de la description de configuration du d ploiement et du cycle de vie Configuration Description Deployment and Lifecycle Management CDDLM 81 du forum ouvert de la grille propose la fois un langage de description de configuration de services un service de d ploiement et un cycle de vie que doivent respecter les services Le langage de description de configuration Configuration Description Language CDL est celui du produit Smartfrog 82 commercialis par Hewlett Packard Gr ce une syntaxe de d finition d interface CDL permet de d finir des services lesquels peuvent faire r f rence d autres Les d pendances entre services sont fix es dans leurs d finitions Le service de d ploiement prend en param tre une d finition de service en r soud les r f rences en g n re un paquet puis l ex cute selon son cycle de vie Le cycle de vie des services est configuration initialisation et d marrage 60 Dans sa proposition de descripteur de d ploiement de solutions Solution Deployment Des criptor SDD 83 OASIS s pare les descriptions des fichiers de l application appel e description de paquet et des meta donn es relatives au d ploiement de ces fichiers appel es description de d ploiement Ces deux descriptions sont des documents au format XML La description de pa quet comporte les des
126. bre 2008 SIDDIQUI M VILLAZ N A HOFER J et FAHRINGER T GLARE A Grid Ac tivity Registration Deployment and Provisioning Framework dans Proceedings of the ACM IEEE SuperComputing Conference on High Performance Networking and Compu ting SC 05 Seattle WA USA p 52 IEEE Computer Society novembre 2005 CUNIN P Y LESTIDEAU V et MERLE N ORYA A Strategy Oriented Deploy ment Framework dans DEARLE A et EISENBACH S diteurs Component Deploy ment vol 3798 coll Lecture Notes in Computer Science p 177 180 Springer novembre 2005 JOITA L RANA O F CHAC N P et al Application Deployment Using Catallactic Grid Middleware dans Proceedings of the 3rd International Workshop on Middleware for Grid Computing MGC 05 Grenoble France p 1 6 New York NY USA 2005 ACM TOFT P et LOUGHRAN S Configuration Description Deployment and Lifecycle Management Working Group CDDLM WG Final Report Rapport technique HP 2008 GOLDSACK P GUIJARRO J LAIN A et al SmartFrog Configuration and Auto matic Ignition of Distributed Applications dans HP OpenView University Association conference HP OVUA Gen ve Suisse juillet 2003 COMMITEE DRAFT 01 O Solution Deployment Descriptor Specification 1 0 Errata OASIS novembre 2008 OBJECT MANAGEMENT GROUP Deployment and Configuration of Component based Distributed Applications Specification
127. centrale de traitement Central Processing Unit CPU entr e sortie et m moire L unit centrale de traitement ex cute des programmes logiciel software qui indiquent quoi faire l ordinateur Les dispositifs d entr e et de sortie E S permettent 21 Instruction simple Instruction multiple Flux de donn es simple SISD MISD Flux de donn es multiple SIMD MIMD TABLE 2 1 Taxonomie de Flynn Classe Exemple SISD Ordinateurs strictement mono processeur SIMD Processeurs vectoriels MISD Ordinateurs tol rant les d faillances MIMD Ordinateurs multi processeur TABLE 2 2 Exemples d architectures d ordinateurs class es selon la taxonomie de Flynn l ordinateur de communiquer avec l utilisateur et le monde ext rieur Il y a plusieurs sortes de m moires la m moire rapide on reuse et court terme la RAM par exemple pour m moriser des r sultats interm diaires et la m moire plus lente plus conomique et long terme disque et cassette magn tiques par exemple pour m moriser les programmes et les donn es entre les t ches Les ordinateurs ont des m moires des processeurs et des dispositifs faisant entrer et sortir les donn es m moris es Cependant la fin des ann es 1940 la notion de programme a remar quablement volu Auparavant les programmes taient c bl s mat riellement dans l ordinateur ils faisaient partie du processeur lui m me Maintenant en revanche ai
128. chiers de l interface de programmation de GNU Linux manipulent ces l ments et par eux les implantations de diff rents syst mes de fichiers L adressage d l ments communiquant est galement assur par le syst me d exploitation Dans GNU Linux les communications inter processus sont implant es dans le noyau et les protocoles de communication avec d autres ordinateurs en r seau dans des extensions du noyau appel es modules La suite de protocoles d Internet par exemple tels que le protocole de contr le de transmission Transmission Control Protocol TCP et le protocole Internet Internet Proto col IP et le protocole de communication Infiniband appel OpenFabrics sont implant s ainsi Les syst mes d exploitation de la famille de la distribution logicielle de Berkeley Berkeley Soft ware Distribution BSD tels que FreeBSD sont particuli rement reconnus pour la fiabilit des implantations de ces protocoles Discussion En permettant aux applications d utiliser les ressources les syst mes d exploitation ont un r le d terminant Les services de m morisation d ex cution et d adressage qu ils comportent sont en effet appel s tr s fr quemment Deux logiques peuvent alors s affronter l une consistant optimiser le syst me d exploitation pour certaines technologies de ressources et d applications 40 choisissent cette seconde logique en ayant recours au syst me d exploitation d ordinateurs ordi naires En reva
129. chnology Attachment SATA et l interface de petit syst me d ordinateur Small Computer System Interface SCSI entre processeur g n ral m moire de masse et l acc s direct la m moire Direct Memory Ac cess DMA entre processeurs sp cifiques et m moires vives 30 Connecteurs d ordinateurs en r seaux locaux Local Area Networks LANs tels que Ether net Myrinet NUMAlink et l acc s direct la m moire distance Remote Direct Memory Access RDMA dont Fiber Channel et Infiniband Connecteurs d ordinateurs en r seaux longue distance Wide Area Networks WANs tels que le mode de transfert asynchrone Asynchronous Transfer Mode ATM la commutation de label de protocole multiple Multi Protocol Label Switching MPLS et le relais de cadres Frame Relay Afin de faire circuler l information les connecteurs utilisent physiquement des dispositifs lectro niques optiques ou les deux Les connecteurs comportent g n ralement des adaptateurs et des c bles reliant ces adaptateurs Les adaptateurs sont g n ralement des cartes d interface labor es comportant des m moires vives et processeurs sp cialis s Sur leur chemin les c bles en cuivre ou bien en fibre optique peuvent rencontrer des r p titeurs des commutateurs des routeurs des pare feux etc Les m moires et les processeurs ont des adaptateurs Outre les constructeurs de m moires et de processeurs des constructeurs de connecteurs sont par
130. chter remerciant son mari qui cette fois aussi comme toujours a constamment prot g avec patience et force les conditions fragiles de mes loignements dans l abstrait C lestine je te remercie de m avoir encourag terminer ce travail de tes petits coups de pieds blottie dans le ventre de ta m re Je te remercie galement d avoir attendu trois jours apr s ma soutenance avant de venir au monde pour notre plus grande joie le 15 d cembre 2009 J embrasse galement ma famille et mes amis d avoir souffert patiemment de mon loignement et de ma r currente indisponibilit vous m avez manqu Je d die ce travail feu M Anthony Longefay mon cousin germain disparu la fin de l t 1996 ainsi qu feu M Matthieu Fayadat mon meilleur ami de coll ge disparu en d but d ann e 2000 Mes fr res votre souvenir tincelant m accompagne dans chacun des v nements qui jalonnent ma vie Table des mati res I 1 II Introduction Introduction 1 1 L informatique formidable levier du d veloppement humain 1 2 Des syst mes informatiques haute performance difficiles utiliser 1 3 Vers l automatisation de l utilisation des syst mes informatiques haute perfor TANCO VI dl a a hy ds As teed tine o IU A cd 1 4 Abstraction des syst mes informatiques haute performance pour l automatisa tion du d ploiement d applications dynamiques 1 5 Organi
131. criptions de fichiers appel s artefacts qui sont organis s en hi rarchie et qui ont un type archive zip ou paquet RPM par exemple Une description de paquet peut com porter des descriptions de d pendances vers des ressources Dans la description de d ploiement associ e les artefacts sont soit des l ments installables de configuration ou bien de localisa tion La description de d ploiement comporte galement la description des ressources impliqu es dans le d ploiement appel e topologie Cette description des ressources peut comporter les noms d ordinateurs de m me que des noms d artefacts d j d ploy s La description de d ploiement comporte la description du r sultat de sa r alisation c est dire les ressources produites par le d ploiement d crit 3 5 2 Gestion d applications base de composants Dans leurs mod les les technologies d applications base de composants sp cifient la forme et le cycle de vie des composants Certaines de ces technologies sp cifient galement le d ploiement des applications Des travaux ont pu tre men s afin de g rer automatiquement ces applications CCM et Fractal en sont des exemples CCM a t tendu par une sp cification pour le d ploiement et la configuration de ses applications extension que l implantation OpenCCM respecte Pour Fractal l implantation Proactive comporte des fonctionnalit s de d ploiement Un cadriciel de d ploiement a galement t con u ca
132. cteur la mani re de l interconnexion des ordinateurs d une grappe Ces connecteurs ont des valeurs caract ristiques qui reprennent les caract ristiques topologiques du cas de d ploie ment consid r En particulier la station passerelle de la premi re grappe tant longue distance de l ordinateur personnel et de l autre station passerelle la valeur de latence des connecteurs entre cette premi re et ces seconds est plus grande que celle des connecteurs entre ces seconds Application L outil de manipulation d archives et la suite de compilation sont quatre l ments Blob dont deux pour la premi re grappe et deux autres pour la seconde Ces l ments ont des tailles diff rentes En effet cet outil et cette suite sont diff rents selon l architecture de jeu d instructions des processeurs pour lesquels ils sont compil s Bien que la suite de compilation comporte plusieurs fichiers ex cutables un seul l ment Blob lui correspond 126 L archive du code source de l application le fichier de flot de travail et le fichier de la base de donn es sont d autres l ments Blob Apr s l tape d allocation des l ments Blob de copie sont galement ajout s Des relations de copie les relient aux originaux De plus pour la base de donn es cette copie est modifi e par le processus du composant gestionnaire de base de donn es Afin de s assurer que la base originale et sa copie restent identiques une seconde relation de copie
133. ctions sp cifiques la commande tar puissent tre effectu es Ce traducteur est appel par un connecteur afin de traduire les requ tes de d marrage de l activit du processus d installation de l application en une liste d arguments correspondants aux param tres de la ligne de commande Ce traducteur est appel une seule fois Traducteur de commande pour applications param triques Le traducteur de pro gramme pour applications param triques traduit une partie des abstractions en information tech nologique afin que les actions sp cifiques la technologie d applications param triques puissent tre effectu es Ce traducteur est appel par un connecteur afin de traduire les requ tes de d marrage des activit s des processus ma tre et esclaves de l application en des listes d arguments correspondants aux param tres des lignes de commande Ce traducteur est donc appel plusieurs fois Connecteurs 124 Connecteur TORQUE Le connecteur TORQUE permet d abstraire des ordinateurs ex ploit s localement par des syst mes POSIX et globalement par TORQUE le gestionnaire de lots et d abstraire ces syst mes eux m mes En s attachant aux interfaces de ces syst mes il permet galement de r server ces ordinateurs et de r aliser des actions sur eux Ce connecteur est donc appel afin d abstraire la grappe de stations de travail laquelle l utilisateur a acc s et les syst mes d exploitation TORQUE et GNU Linux des stations Pour ce
134. ctures de ressources Mod les d applications Cycle de vie d une application sur des ressources Intuition du processus de d ploiement Cycle permanent du d ploiement tats possibles un sommet a4 Je ok aus Dia nie ah Ne nt Un ordinateur ex cute un processus Abstractions SAMURAATE d un ordinateur qui ex cute un processus Un arr t de processus ex cut sur un ordinateur Abstractions SAMURAATE d un arr t d un processus ex cut sur un ordinateur Un ajout d un processeur un ordinateur Abstraction SAMURAAIE d un ajout d un processeur dans un ordinateur Classes d acteurs ODD 4 2 a AUS NT a We Mi ca tint des be Gestionnaires ODD de d ploiement Exemple du traducteur d application MPICH Interactions des classes d acteurs ODD Interactions simplifi es des acteurs ODD Interactions d acteurs ODD pour la modification d une abstraction S quences de d marrage et d arr t du mod le ODD Hi rarchie des classes d objets de l implantation du mod le SAMURAAIE Hi rarchie des traits des objets de l implantation du mod le SAMURAAIE Hi rarchie des classes d objets de l im
135. d ployer une simulation num rique SALOME avec ANGE 7 3 4 R alisation d une simulation num rique SALOME d ploy e par ANGE La derni re tape afin de s assurer que la plate forme de simulation num rique SALOME d l gue effectivement le d ploiement de ses conteneurs au moteur de d ploiement ANGE a consist en l ex cution r partie sur plusieurs ordinateurs d un sch ma de calcul faisant appel des composants SALOME Le sch ma de calcul et les ordinateurs retenus sont simples Le sch ma calcule une addition de deux nombres r els En plus des n uds de calcul permettant de transmettre les op randes et le r sultat de cette op ration ce sch ma fait appel au composant s quentiel AddComponent d un module d exemple COMPONENTS afin d effectuer l addition Les deux ordinateurs local et distant sont deux stations de travail bi processeur quadri c ur AMD 64 bits Les modules noyau de supervision de couplage d change de donn es et d exemple sont compil s et install s avec leurs d pendances sur les deux ordinateurs Les applications SALOME correspondantes sont configur es et g n r es sur chaque ordinateur ANGE est install sur l ordinateur local Enfin les ressources sont ajout es au catalogue de ressources SALOME Encore une fois dans l approche actuelle du d ploiement de SALOME toute cette pr para tion incombe l utilisateur Ceci n est pas remis en cause dans l tape d int gration de SALOME et d ANGE mais le s
136. d agr gation de contenant barre oblique nom de l l ment simple de contenant barre oblique nom de l l ment d agr gation de contenu barre oblique et nom de l l ment simple de contenu Ce traducteur est appel afin d abstraire la pr sence effective du r pertoire des fichiers de l ap plication dans le r pertoire personnel de l utilisateur sur son ordinateur et afin d abstraire la pr sence attendue des fichiers de r sultats dans ce m me r pertoire Traducteur de syst me GNU Linux Le traducteur de syst me GNU Linux traduit l information technologique propos d un syst me d exploitation GNU Linux d un ordinateur pour l abstraction Services Cette information fournie par un connecteur comporte le nom de l ordinateur que ce syst me exploite le nom et le num ro de version de la distribution et le num ro de version du noyau Ce traducteur est appel afin d abstraire le syst me d exploitation de la station de travail laquelle l utilisateur a acc s Le traducteur de syst me GNU Linux ajoute donc un l ment Syst me agr geant des ser vices de m morisation et d ex cution services portant sur les l ments agr g s dans l ordinateur consid r Les services de m morisation de type copie portent galement sur les m moires de masse des ordinateurs avec lesquelles l ordinateur consid r est connect Ces m moires de masse peuvent ne pas tre partag es entre ces ordinateurs En l occurrence le syst me d exploi
137. d ordinateurs peut varier au cours du temps particuli rement pour des raisons de maintenance Autrement dit les ressources d une grappe d ordinateurs sont parall les et dy namiques Plus conomiques des grappes d ordinateurs personnels sont fr quemment utilis es en remplacement de super ordinateurs Quand elles comportent un grand nombre d ordinateurs les grappes rivalisent avec les super ordinateurs dans les classements mondiaux des infrastructures informatiques les plus performantes Apparue la NASA en 1994 l architecture de grappe d ordinateurs appel e Beowulf 10 est fr quemment mise en uvre Constitu e de mat riel ordinaire et donc conomique cette archi tecture distingue deux types d ordinateurs le n ud passerelle ou encore frontal et les n uds de calcul Le n ud passerelle comporte deux connecteurs r seau le premier vers l ext rieur le second vers le sous r seau dans lequel sont isol s les n uds de calcul Il offre une m moire de masse que les n uds de calcul se partagent Le n ud passerelle et les n uds de calcul sont interconnect s dans le sous r seau Cette architecture a fait l objet de nombreuses variantes Par exemple le n ud frontal est souvent plus performant que les n uds de calcul pris s par ment le r seau des n uds de calcul n est pas toujours isol plusieurs n uds frontaux peuvent se r partir leur charge de travail et la m moire de masse partag e est parfois offerte par un n ud s
138. de contenants et de contenus d instance il est appel Conseiller Le troisi me ex cute des associations de contenants et de contenus d action il est appel Ex cuteur Enfin le quatri me et dernier traite les associations de contenants et de contenus d v nement il est appel Contr leur 89 Conseiller Associateur Ex cuteur Contr lleur FIGURE 4 10 Gestionnaires ODD de d ploiement Associateur Le gestionnaire Associateur d cide si des l ments de contenant conviennent aux l ments de contenu d une part et g re les associations de ces l ments d autre part Il prend en charge l activit de l utilisateur consistant choisir des ressources pour l application des services pour les requ tes et des capteurs pour les messages Afin de prendre sa d cision il consulte autant les valeurs des caract ristiques des l ments consid r s que leurs relations autrement dit les sommets et les arcs qui leur sont incidents importent autant Les l ments de contenant et de contenu doivent d abord tre au m me niveau d abstraction Leurs tats de fonctionnement doivent tre respectivement op rationnel OK et en attente ATTENDU L l ment de contenu ne doit pas encore tre associ Associateur v rifie galement que ces l ments existent dans la m me fen tre temporelle Des l ments de contenant et de contenu peuvent r ussir les tests pr alables indiqu s ci dessus sans pour autant que le gestionnaire
139. de leur protocole de soumission distance de commandes RSH ou bien SSH ainsi que l identifiant de l utilisateur pour ce protocole Ces meta donn es comportent galement pour chaque ordinateur le chemin d acc s au r pertoire d installation d une application SALOME qui y est install e et la liste des noms des modules SALOME que comporte cette application Par d faut l application d clar e pour chaque ordinateur comporte les m mes modules que l application de la ressource locale Une fois les modules et leurs d pendances install s les applications construites et les res sources d clar es l utilisateur peut utiliser SALOME afin de r aliser ses simulations num riques Ex cution L ex cution d une simulation num rique SALOME programm e avec un sch ma de calcul se d roule en deux tapes 1 D marrer la plate forme SALOME c est dire l application SALOME de la ressource locale Pour ce faire l utilisateur ex cute le lanceur de la plate forme Ce lanceur d marre alors un intergiciel CORBA et des gestionnaires pour les ressources et pour les conteneurs de composants 139 Resource SALOME distante A Contenneur de composant Contenneur de composant Resource SALOME distante B Contenneur de composant O L Oo Y Resource SALOME Locale Contenneur de composant Contenneur de composant Contenneur de composant Contenneur de composant il FIGURE 7 4 Ex cution de la plate forme SALOME 140 Ac
140. des bo tes noires pour lesquelles allouer des ressources ne d pend que des tats d ex cution des t ches qui les pr c dent dans leurs flots respectifs Or l allocation doit tre homog ne que des ressources et des applications soient h t rog nes ou non Afin d installer une application sur des ressources la compilation est en quelque sorte le conditionnement ultime d un code pour des ressources particuli res Cependant compiler est en soi un processus complexe n cessitant de nombreuses d pendances au premier rang desquelles figure un compilateur Le code source des applications n tant pas toujours disponible les tech nologies de conditionnement de codes d j compil s sont g n ralement pr f r es Toutes ces technologies n cessitent au moins un gestionnaire de conditionnement Parmi les technologies de conditionnement les gestionnaires d images disques sont particu li rement lourds car construire des images disques consiste construire un syst me d exploi tation entier et ces gestionnaires n cessitent les droits absolus sur les ordinateurs cibl s Les gestionnaires d archives sont limit s pour le conditionnement d applications car les archives ne contiennent aucune meta donn es n cessaires par exemple afin de sp cifier les d pendances Les gestionnaires de paquets comblent cette lacune mais contrairement aux gestionnaires d archives ils requi rent g n ralement des privil ges d administrateur afin d crire n imp
141. dois mes qualit s relationnelles indispensables et pas seulement dans la vie active Je salue l uvre remarquable des nombreuses personnes agissant en faveur de l inclusion des personnes en situation de handicap que j ai eu l honneur de rencontrer dans mon parcours sco laire Merci vous membres de l quipe de l cole adapt e EREADV membres de l quipe de V International Computer Camp membres des associations AGEFIPH FIDEV ALLP ADEM et AIR de Bretagne membres de l quipe de M Charlin la Mission Handicap de l universit Claude Bernard Lyon I M Farcy du CNRS ainsi que M et M Guillet Carle du district 103CS du Lions Club coordinateurs handicap M Balsollier et M Rumpler de PINSA Lyon assistant M Schwebel coop rateurs de La Construction Arbresloise membres du service social de l Union des SCOPs et membres des missions handicap des entreprises Hewlett Packard et EDF J ai une pens e particuli re pour feu M Claude D coret directeur de recherche au CNRS et pr sident de la Mission Handicap de Lyon I qui non seulement a constitu un formidable exemple pour moi mais qui a aussi veill sur mon parcours Claude tu nous manques beaucoup Je salue galement la d marche non moins remarquable des membres des diff rentes commu naut s du Logiciel Libre et de la Connaissance Libre Gr ce vous contributeurs des projets GNU Linux Debian ATEX BRLTTY Gutenberg org et Wikipedia notamment ainsi que vous membres
142. doit tre r g n r e chaque installation de module Or des syst mes de gestion de paquets ne n cessitant aucun privil ge existent et un concept d application SALOME dynamique est possible Afin d installer la vol e les modules et les applications SALOME sur les ordinateurs il faudrait donc utiliser un gestionnaire de paquets ne n cessitant aucun privil ge pour les modules SALOME et que l application SALOME soit dynamique c est dire qu ajouter des modules une application d j g n r e soit possible 7 4 4 Ex cution anticip e L architecture ODD SAMURAAIE pourrait anticiper l ex cution des conteneurs de compo sants SALOME sur les ordinateurs En effet les abstractions SAMURAATE d application ont une dimension temporelle Cette dimension permet aux traducteurs ODD d abstraire l avenir connu de l application et donc aux gestionnaires ODD d anticiper le d ploiement Dans l int gration pr sent e dans la section pr c dente l architecture ODD SAMURAAIE ne dispose pas d horizon temporel pour les conteneurs en provenance de la plate forme SA LOME afin d anticiper l ex cution des conteneurs de composants SALOME sur les ordinateurs En effet les demandes de d ploiement de conteneurs parviennent au connecteur de conteneurs au fur et mesure de l ex cution du sch ma de calcul Or par d finition les sch mas de calcul d crivent un horizon temporel Afin d anticiper l ex cution des conteneurs de composants S
143. driciel sur lequel un langage sp cifique au d ploiement a pu tre d fini CCM Dans les sp cifications du d ploiement et de la configuration d applications r parties base de composants Deployment and Configuration of Component based Distributed Applications D amp C 84 publi es en avril 2006 par l OMG le processus de d ploiement comporte les sept phases suivantes Pr conditions Les composants sont conditionn s correctement les d p ts de composants et les ressources sont disponibles Installation Les composants sont mis disposition via des d p ts de composants Configuration Les choix des param trages fonctionnels des composants sont faits Planification Les plans de d ploiement les quoi o quand et comment sont construits Pr paration Les op rations sont mises en uvre sur les ressources en vue du d marrage des applications D marrage Les applications sont mises l tat d ex cution apr s l instanciation la connexion et la configuration de leurs composants Arr t Les applications se terminent d elles m mes ou bien sont arr t es Trois cat gories d acteurs sont distingu es dans ce mod le D veloppement Sp cificateurs de composants d veloppeurs de composants assembleurs de composants et conditionneurs de composants Administation Administrateurs des ressources D ploiement Administrateurs de d p ts de composants planificateurs de d ploi
144. e l ment T che pour l ex cution du ma tre sur la station passerelle et des esclaves sur les stations ordinaires agr ge un seul l ment Requ te Cet l ment Requ te demande le d marrage de l activit agr g e dans le processus correspondant Une relation de pr c dence relie l l ment T che pour l installation de l application sur la grappe l l ment T che consid r Ces t ches pour l ex cution du ma tre et des esclaves sont donc parall les De m me l l ment T che pour la copie du fichier de r sultats agr ge un seul l ment Requ te Cet l ment Requ te demande la copie du fichier de r sultats depuis le r pertoire personnel de l utilisateur sur la station passerelle de la grappe vers son r pertoire personnel sur son ordinateur Des relations de pr c dence relient les l ments T che pour l ex cution du ma tre et des esclaves l l ment T che consid r Cette t che d abord en attente ne peut donc tre r alis e qu apr s que l application ait elle m me termin D ploiement Le nombre d associations de services et de requ tes change quand changent le nombre de syst mes qui fonctionnent correctement et le nombre de t ches en attente c est dire quand change le nombre de stations r serv es ou en panne pour l utilisateur Capteurs Messages et Journal Par rapport au cas de d ploiement pr c dent les change ments survenant pendant le traitement du cas consid r concernen
145. e Pegasus est de r duire la dur e d ex cution des flots de donn es en les pla ant au mieux sur les ressources Les dur es des traitements et de la circulation des donn es sont prises en compte En effet pour tablir l allocation d une ressource pour un programme Pegasus utilise trois types d information La description des ressources La description du lieu o sont stock es les donn es r f renc es dans les flots de donn es La description du lieu o sont stock s les programmes r f renc s dans les flots de donn es Pour r aliser une ex cution planifi e Pegasus a besoin du moteur de flots de donn es DAGMan et du service d ex cution Condor G Gr ce DAGMan si l ex cution d un programme choue alors cette ex cution est rejou e Les ordonnanceurs doivent r soudre un probl me simple mais pour lequel un grand nombre de solutions peuvent exister et dont les param tres peuvent varier rapidement Plusieurs optimi sations provenant du domaine de la recherche op rationnelle permettent d am liorer la qualit de ces allocations la r solution de probl me de satisfaction de contraintes les syst mes experts et les meta heuristiques notamment La fr quence d allocation peut n cessiter la mise en uvre de planification continue telle que le permet le cadriciel de planification continue et d ex cution Continuous Planning and Execution Framework CPEF 68 issu de travaux en intelligence artificielle
146. e de messages ou un r seau logique La m moire juxtapos e Jurtaposed Memory JuxMem 33 est un exemple de m moire partag e globale utilisant un r seau logique 35 Lorsque les traitements sont ex cut s en parall le partager de la m moire pose cependant le probl me de la coh rence des flux En effet si deux traitements crivent en parall le dans la m me zone de m moire alors les donn es de cette zone risquent d tre incoh rentes De plus si les donn es sont d abord m moris es dans des m moires tampons m moires caches avant d tre effectivement m moris es dans la m moire partag e la coh rence entre les m moires tampons et la m moire partag e peut tre perdue Des protocoles d acc s sont donc essentiels pour la communication par m moire partag e L utilisation de verrous de protection et l invalidation des donn es en m moire cache sur criture en m moire vive sont des exemples de protocoles garantissant la coh rence des donn es Passage de messages Des traitements peuvent galement communiquer en se transmet tant des messages Les messages peuvent v hiculer des signaux des paquets de donn es ou des invocations de fonctions Parmi les technologies permettant de faire communiquer des traite ments par transmission de messages figurent les signaux des communications inter processus IPCs les services de publication souscription tels que le bus de d ordinateur de bureau Desk top Bus D Bus 34
147. e de questions afin de configurer le contenu en l installant des traductions des meta donn es des valeurs de contr le d int grit des signatures lectroniques les noms de ses auteurs les noms des paquets incompatibles etc Les d pendances entre des paquets explicitent les d pendances entre les contenus de ces paquets Par exemple un paquet peut contenir un fichier ex cutable et d pendre d un paquet contenant une biblioth que partag e dont cet ex cutable d pend Les outils permettant de ma nipuler des paquets maintiennent g n ralement des bases de paquets afin de pouvoir v rifier que 58 sont respect es ces d pendances au moment de l installation Plusieurs types de d pendances peuvent exister d pendances fortes recommandations etc Installant le contenu des paquets dans l arborescence du syst me d exploitation la plupart des outils de manipulation de paquets requi rent d tre administrateur du syst me afin de les utiliser Par exemple dans la distribution Debian GNU Linux un tel outil est APT dpkg et dans Fedora GNU Linux YUM rpm Gr ce au format de configuration de paquet debconf APT dpkg sait configurer le code pendant l installation APT dpkg ex cute des scripts de pre et post installation et de pre et post d sinstallation Certains outils de manipulation de paquets n en installent qu partir des paquets sources en les compilant la vol e C est notamment le cas de l outil portage dans Gentoo GNU Lin
148. e et la port e En traitant des v nements le gestionnaire Contr leur consulte et modifie toutes les abs tractions Abstracteurs Les abstracteurs maintiennent les abstractions SAMURAAIE Ils prennent en charge l ac tivit de l utilisateur consistant m moriser et restituer l information acquise propos de l environnement Il existe autant d abstracteurs que d abstractions abstracteurs Ressources Application Carte Services Programme D ploiement Capteurs Messages et Journal Quel conque acteur voulant consulter ou modifier une abstraction doit interagir avec un abstracteur Cependant tant elle m me abstraite au niveau v nements la modification des abstractions aux niveaux Instances et Actions est indirecte toute modification doit effectivement corres pondre un ensemble de messages que des gestionnaires associeront des capteurs puis traiteront Par l information qu ils maintiennent les abstracteurs sont interm diateurs des gestionnaires et des traducteurs Quand l un de ces derniers modifie une abstraction l abstracteur accumule des messages dans une transaction jusqu ce que l acteur consid r consigne ou annule sa 92 mpirun n 128 code Traducteur MPICH P q FIGURE 4 11 Exemple du traducteur d application MPICH modification S il annule cette modification l abstracteur supprime les messages S il la consigne l abstracteur ajoute les messages dans l abstrac
149. e existe par exemple pour Fractal OSGi 71 et SCA 3 4 3 Ex cution Ex cuter une application sur des ressources est l objectif ultime des syst mes d exploitation et donc l objet de nombreux outils Par exemple les shells tels que Bash ou tcsh permettent d ex cuter des applications sur le syst me local shell s curis Secured Shell SSH sur des syst mes distants gr ce une architecture client serveur Afin d ex cuter des applications sur plusieurs syst mes distants des shells parall les tels que ClusterSSH et TakTuk 72 ont t d velopp s Certaines technologies d applications fournissent galement des lanceurs tels que mpirun dans l implantation MPICH de MPI Si des outils permettent d ex cuter des applications en direct d autres fonctionnent en diff r C est le cas des gestionnaires de lots pour les grappes de calcul tels que TORQUE LoadLeveler et N1 Grid Engine CREAM 73 et GRAM sont d autres exemples de gestionnaires de t ches fonctionnant pour la grille d ordinateurs 3 5 D ploiement Cette section pr sente diff rents travaux portant non seulement sur une tape du d ploiement mais galement sur plusieurs voire sur le processus complet c est dire l allocation de ressources 59 ainsi que l installation et l ex cution d applications Bien que leurs groupes se recouvrent par tiellement ces travaux sont regroup s selon qu ils proviennent du domaine de l administration d
150. e fichiers ex cutables ou bien de compo sants Proactive Les descripteurs d application font r f rence des descripteurs de d ploiement Quand une application lui demande des ressources le cadriciel utilise alors le descripteur de cette application et les descripteurs de d ploiement auxquels il fait r f rence afin de choisir ces ressources et d y ex cuter l application Jade 87 est un cadriciel d administration autonome d applications patrimoniales en multi tiers sur des grappes d ordinateurs Ce cadriciel comporte trois parties des gestionnaires d au tonomie des services utiles ces gestionnaires et les emballages wrappers des applications g r es Les l ments de ces parties sont des composants Fractal de sorte que les syst mes auto nomes que Jade administre sont sp cifi s avec l ADL Fractal Les gestionnaires implantent des boucles de contr le c est dire qu ils suivent des valeurs de param tres et peuvent r agir par exemple en installant une application sur un ordinateur r cemment ajout la grappe Pour 62 r aliser de telles op rations ces gestionnaires utilisent les services Les emballages d applica tions implantent une interface de gestion de cycle de vie pour les technologies particuli res et ces emballages sont conditionn s avec les applications elles m mes sous forme de composants OSGi Une variante du langage de mod lisation unifi UML appel e Tune 88 a galement t con ue a
151. e modules et les chemins d acc s aux r pertoires d installation d applications qui y sont install es aux traducteurs ODD de ressources de services d application et de carte 2 Ces traducteurs traduisent ces donn es de d ploiement en abstractions SAMURAAIE puis les transmettent aux abstracteurs ODD correspondants 3 Le superviseur demande des conteneurs au connecteur ODD de conteneurs 4 Ce connecteur transmet les demandes de conteneurs au traducteur ODD d application 5 Ce traducteur traduit les demandes de conteneurs modifiant l abstraction SAMURAAIE d application via l abstracteur correspondant 149 6 Les gestionnaires ODD associent les abstractions SAMURAAIE d application et de res sources produisant ainsi l abstraction SAMURAAIE de carte partir de cette abstrac tion ils conseillent les actions entreprendre produisant l abstraction SAMURAAIE de programme ils associent cette abstraction et celle de services produisant l abstraction SAMURAAIE de d ploiement enfin ils ex cutent cette abstraction 7 Le traducteur ODD de programme construit les commandes pour les implantations de conteneurs et les transmet au connecteur ODD de services POSIX 8 Le traducteur ODD de d ploiement transmet l ex cution du d ploiement au connecteur ODD de services POSIX 9 Le connecteur ODD soumet ces commandes sur les ressources et ainsi sont ex cut es les implantations de conteneurs 10 Le connecteur de cont
152. e personnel de l utilisateur sur son ordinateur Il constate d abord que le processus qui crit ce fichier de r sultats le processus ma tre n est qu enregistr Il constate ensuite que le processus ma tre intercommunique avec d autres processus qui ne sont 123 galement qu enregistr s les processus esclaves Enfin il constate que le processus qui crit le fichier que lit le processus ma tre le processus d installation n est galement qu enregistr Il les met alors tous en attente Une fois associ s Conseiller ajoute les requ tes n cessaires Traducteurs Dans le cas de d ploiement consid r l information traduite porte sur l ordina teur de l utilisateur la grappe d ordinateurs leur interconnexion l implantation de l architecture ODD SAMURAAIE l application param trique l application pour TORQUE la pr sence d l ments de l application sur des l ments des ressources les pseudo chemins SAMURAAIE les syst mes GNU Linux la commande tar et les commandes pour l application param trique chacune de ces technologies correspond donc un traducteur ODD dont certains ont t pr sent s dans le cas de d ploiement pr c dent Traducteur de grappe d ordinateurs Le traducteur de grappe d ordinateurs traduit l information technologique propos d une grappe d ordinateurs en l ments et relations entre l ments pour l abstraction Ressources Par rapport au traducteur d ordinateurs ce traducteur acce
153. e ressources de la gestion d applications base de composants ou qu ils soient des outils vou s exclusivement au d ploiement 3 5 1 Administration de ressources Parmi les t ches qui incombent aux administrateurs peuvent figurer l installation et l ex cu tion de syst mes d exploitation sur des ordinateurs Pour ce faire ils peuvent utiliser les outils d installation et d ex cution pr sent s ci dessus ou bien utiliser des produits int grant ces outils l chelle d une grappe d ordinateurs par exemple la suite logicielle de ressources applicatives ouvertes pour grappes Open Source Cluster Application Resources OSCAR 74 permet de construire une image disque puis de l installer sur les ordinateurs le tout travers une interface graphique OSCAR permet galement d installer des paquets sur tous les ordinateurs simultan ment ROCKS 75 est une solution comparable pour laquelle les applications suppl mentaires sont conditionn es sur disques compacts appel s Rolls Con u pour des parcs complets d or dinateurs GNU CfEngine 76 est galement un produit int gr d administration Il permet de d finir des classes d ordinateurs puis de transf rer des fichiers et d ex cuter des commandes simultan ment sur tous les ordinateurs d une m me classe La boite outils d administration extr me de grappes Extreme Cluster Administration Toolkit xCAT 77 et GOsa sont d autres exemples de solutions int gr es Con u
154. e sont les abstractions Ressources Application et Carte qui suivent voir la figure 4 4 page 83 Abstraction Ressources Cette abstraction comporte un sommet d agr gation de type Or dinateur sept sommets simples de types M moire Processeur et Connecteur sept arcs d agr gation et huit arcs d acc s Les caract ristiques d tat de tous les sommets valent OK Les caract ristiques de chemin des connecteurs entre le processeur et la m moire de masse valent tmp Abstraction Application Cette abstraction comporte un sommet d agr gation de type Pro cessus six sommets simples de types Blob Activit et Flux sept arcs d agr gation et six arcs d acc s Le fichier ex cutable n tant acc d qu en lecture cette abstraction comporte un arc d acc s de moins que celle de l ordinateur Les caract ristiques d tat de tous les sommets valent OK l exception de celui du fichier qui est TERMIN Les caract ristiques de chemin des flux entre l activit et le blob associ avec la m moire de masse valent TEST Abstraction Carte Cette abstraction comporte tous les sommets des abstractions Ressources et Application ainsi que huit arcs de liaison Ces arcs associent les l ments de contenant aux l ments de contenu correspondants 81 Barrette M moire Empreinte M moir Processeur Traitement Disque Dur Fichier ex cutable FIGURE 4 3 Un ordinateur ex cute un processus 82 a AR M
155. e terminera quand il aura marqu la t che comme tant termin e une fois que toutes les requ tes qu elle comporte le seront En analysant les l ments leur port e le gestionnaire Ex cuteur sait exactement quand d clencher des requ tes successives L important est de ne pas d marrer des activit s avant que les fichiers qu elles lisent ne leur soient lisibles et de ne pas copier des fichiers avant que les activit s qui les crivent ne soient termin es Avant de d clencher toutes les requ tes de d marrage des activit s requ tes qui succ dent directement celle de copie du r pertoire des fichiers de l application Ex cuteur attend que l l ment Blob de copie de ce r pertoire quitte ses tats ATTENDU et OK pour l tat TERMIN De m me avant de d clencher une requ te parmi celles de copie des fichiers de r sultats requ te qui succ de directement celle de d marrage de l activit qui crit le fichier de r sultats consid r Ex cuteur attend que ce fichier quitte ses tats ATTENDU et OK pour l tat TERMIN Il s assure ainsi que l activit qui crit ce fichier soit termin e mais pourrait galement le v rifier Contr leur Les interventions du gestionnaire Contr leur concernent le traitement de tous les v nements elles sont donc tr s nombreuses De m me qu Ex cuteur au niveau Actions au niveau v nements Contr leur analyse les relations de pr c dence entre les diff rents l ments Modif
156. e tient compte des modifications pr c dentes algorithme incr mental Ex cuteur implante l algorithme d ex cution des actions afin de mo difier l abstraction D ploiement Cet algorithme tient compte des relations de pr c dence entre les actions relations figurant dans l abstraction Programme Contr leur implante l algorithme de traitement des modifications des abstractions d instance et d action et modifie celles ci Par ailleurs cet algorithme supprime les messages et modifications SAMURAAIE qu il a pr c dem ment trait s 5 4 2 Abstracteurs Les abstracteurs ODD offrent une vue coh rente sur les abstractions SAMURAAIE et ac c dent directement ces derni res Dans cette implantation ces abstracteurs c est dire les abstracteurs de ressources d application de carte de services de programme de d ploiement de capteurs de messages et de journal manipulent leurs abstractions travers les m thodes de celles ci Ces m thodes d interrogation et de modification utilisent respectivement des re qu tes en langage standard de requ te Standard Query Language SQL et des transactions Les abstracteurs ne modifient cependant pas directement les abstractions d instance et d action SA MURAATE ils cr ent et ajoutent les messages les modifications et et les relations d agr gation et de port e l abstraction de messages L implantation des abstracteurs comporte 384 lignes uniques de code soit 17 de l implantation du mod
157. e tous les besoins particuliers des uti lisateurs ou choisir de ne pas les satisfaire Afin de r pondre aux besoins de certains utilisateurs ils doivent m me d dier des parties des infrastructures qu ils administrent des applications particuli res et donc des utilisateurs particuliers Les d veloppeurs d tiennent l expertise pour les applications qu ils d veloppent ainsi que les privil ges n cessaires afin de modifier le code source et le conditionnement de ces applications pour tous les utilisateurs Ils doivent actuellement prendre en compte les sp cificit s des services des infrastructures auxquelles les utilisateurs ont acc s ou choisir de ne pas les supporter Afin de supporter les sp cificit s des services de certaines infrastructures ils doivent m me limiter les besoins des applications qu ils d veloppent Les utilisateurs d tiennent l expertise de l utilisation des applications mais ils ne sont pas n cessairement administrateurs ni d veloppeurs Cependant ils doivent actuellement prendre en compte la fois les sp cificit s des services des infrastructures auxquelles ils ont acc s et les besoins des applications qu ils utilisent Afin d utiliser certaines applications sur certaines infrastructures ils doivent m me compiler le code source et g rer l acc s simultan plusieurs infrastructures 16 En automatisant l utilisation des syst mes informatiques haute performance les adminis trateurs pourraient
158. e vive des processus auxquels ils appartiennent lisent et crivent des fichiers m moris s en m moire de masse ou communiquent avec d autres traitements en mettant et re cevant des messages sur le r seau le tout en respectant les protocoles des connecteurs impliqu s dans ces flux Pour ce faire les syst mes d exploitation comportent des services d adressage L adressage de zones de m moire vive utilise g n ralement le m canisme de m moire virtuelle dans lequel les adresses logiques manipul es par les traitements sont traduites en adresses physiques manipul es par les connecteurs Ce m canisme permet au syst me d exploitation d exploiter la m moire vive comme il le souhaite et particuli rement de d placer le contenu de zones de m moire vive sans en avertir les traitements Ce m canisme permet galement d utiliser des m moires de masse quand la m moire vive est pleine swapping L adressage de zones de m moire de masse utilise la structure virtuelle de celle ci Dans GNU Linux cette structure est appel e le syst me de fichiers virtuel Virtual File System VFS Il comporte notamment des superblocs des i n uds et des d entr es Les superblocs repr sentent les syst mes de fichiers charg s mounted filesystems Les i n uds correspondent aux donn es telles que les fichiers Enfin les entr es de r pertoire ou dentr es repr sentent les n uds de l arborescence Les fonctions d acc s aux fi
159. ect s une seule paire de sommets Connecteur un en lecture et l autre en criture chacun de ces derniers ayant un d bit maximum Sinon si ces processeurs utilisent des connecteurs diff rents alors cette abstraction comporte plusieurs paires de sommets Connecteur Il est donc galement possible de diff rencier les d bits les latences les protocoles et les adresses ou chemins d une m me m moire partag e par plusieurs processeurs Parmi les l ments informatiques de l environnement de d ploiement qu il est possible d abs traire avec SAMURAAIE figure l implantation de SAMURAAIE elle m me Destin e l utili sateur cette implantation serait une application qui pourrait en effet n cessiter un d ploiement sur des ressources distantes Une partie de cette implantation devrait cependant fonctionner afin de prendre en charge cet auto d ploiement SAMURAAIE permet d abstraire autant les contraintes architecturales que logistiques Si la taille d un fichier d passe la capacit d une m moire par exemple alors ce fichier et cette m moire ne peuvent tre associ s En revanche si un fichier et une m moire existants sont associ s qu une copie attendue de ce fichier et une autre m moire existante sont associ s et qu un service de copie existe et a ces deux m moires sa port e alors peuvent tre associ s ce service et une requ te attendue de copie Par ailleurs les d pendances entre l ments d une application c est
160. el tous les l ments de cette station ont l tat OK En revanche les valeurs de leurs caract ristiques importent Les m moires de masse correspondant non pas aux disques durs en RAIDO mais aux deux r pertoires sur ce couple de disques ont chacune une capacit de 100 Go Le d bit des connecteurs permettant des acc s en lecture et en criture dans ces m moires se partagent le d bit du couple de disques Le chemin d acc s de ces connecteurs est home user et local Au partage des m moires par les deux processeurs quadri c ur correspond la concentration de 6 x 8 48 relations d acc s reliant les l ments Processeur aux l ments Connecteur et 2 x 3 6 huit fois moins autres relations d acc s reliant ces l ments Connecteur aux l ments M moire L interconnexion de l ordinateur personnel avec la station de travail est abstraite par deux l ments Connecteur et onze relations d acc s Ces relations relient en criture seulement les l ments Processeur de l ordinateur personnel et M moire vive de la station au premier l ment Connecteur d une part et les l ments Processeur de la station et M moire de l ordinateur personnel au second l ment Connecteur d autre part Ces l ments Connecteur ont l tat OK Leurs latences d bits protocoles et adresses sont ceux de l interconnexion Par exemple la valeur de l adresse du premier l ment Connecteur est computer c est dire l identifiant sur le r
161. els c est dire parall liser les traitements permet d augmenter le nombre d op rations en temps constant La loi d Amdahl 9 illustr e par la figure 2 3 page 26 stipule toutefois que le nombre de trai tements ne pouvant tre ex cut s qu en s quence n est jamais nul et qu il limite cette acc l ration Sp cialiser Diff rencier des l ments initialement homog nes mat riels et logiciels c est dire les rendre h t rog nes permet de diminuer le nombre d op rations requises d augmenter le nombre d op rations possibles ou les deux afin d ex cuter une partie des traitements en moins de temps qu il n en aurait fallu si les l ments taient rest s homog nes Varier le nombre Augmenter ou diminuer le nombre d l ments mat riels et logiciels homo g nes ou h t rog nes permet de majorer le rapport du nombre d op rations effectu es celui d op rations possibles ce qui permet d optimiser l exploitation des ressources La suite de ce chapitre illustre l articulation des deux principes pr sent s ci dessus avec des exemples d architectures d une part et le d tail de leurs l ments d autre part 2 3 Ressources applications et syst mes d exploitation 2 3 1 Ressources Les ressources sont les l ments mat riels d une infrastructure informatique Cette sous section pr sente les quatre types d architectures de ressources que sont l ordinateur la grappe la grille et le nuage d ordinateurs Puis
162. ement ex cu teurs de d ploiement 61 Pour la phase de planification les descriptions d artefacts le quoi de monolithes le comment et d instances le o sont reli es et parcourues par des gestionnaires d ex cution pouvant r aliser trois op rations pr parer d marrer et arr ter une application Les plans de d ploiement correspondent des versions annot es des assemblages de composants Un bon planificateur choisit le plus pertinent de l ensemble des plans de d ploiement valides La phase de d marrage des applications comporte les trois sous phases suivantes 1 Cr ation d objets capables d instancier et d assembler les composants objets appel s fa briques d assemblages 2 Fabrication des assemblages de composants gr ce aux fabriques d assemblages 3 Ex cution des applications ainsi fabriqu es Le processus de d ploiement peut tre automatis par un outil tout en un ou par une suite d outils Mis au point au sein de l quipe projet INRIA Jacquard Lille OpenCCM 85 est une implantation de CCM portable sur plusieurs implantations de CORBA Coupl e avec l infra structure informatique distribu e Distributed Computing Infrastructure DCI OpenCCM im plante l ensemble des interfaces CCM li es au d ploiement sp cifi es par OMG En effet cette infrastructure permet OpenCCM de d marrer les applications c est dire des assemblages de composants Une infrastruc
163. emier a les valeurs caract ristiques du sous r seau Ethernet Gigabit le second a celles du sous r seau Infiniband La m moire de masse partag e par toutes les stations de la grappe est abstraite par un l ment M moire et quatre l ments Connecteur Les processeurs de la station passerelle acc dent cette m moire par les deux premiers connecteurs les processeurs de toutes les autres stations par les deux derniers En l occurrence les d bits de ces connecteurs sont partag s entre toutes les stations et leurs chemins d acc s sont identiques Application En ex cutant le fichier ex cutable de manipulation d archives avec les param tres ad quats le processus d installation de l application lit l archive et crit les programmes maitre et esclave que cette archive contient Cette tape du processus de d ploiement est donc un l ment Processus ordinaire Le fichier ex cutable de manipulation d archives et la biblioth que partag e de communica tion sont des l ments Blob Le fichier ex cutable n tant pr sent que dans un seul r pertoire un seul l ment Blob lui correspond La biblioth que en revanche est pr sente dans le r pertoire des biblioth ques partag es de toutes les stations Ainsi 128 l ments Blob lui correspondent Des relations de copie relient toutefois ces l ments afin de former un cycle Aucun de ces blobs n est alors plus original qu un autre De m me que dans le cas de d ploiement pr c den
164. en parall le avec MPI 15 de g rer automatiquement la distribution des donn es entre les instances parall les puis d utiliser cette implantation dans une application comme s il s agissait d un objet CORBA ordinaire Objets SALOME L implantation de la plate forme SALOME se fonde sur l architecture d objets r partis CORBA Un objet SALOME est un objet CORBA respectant la convention suivante Un objet SALOME est un objet CORBA qui implante une interface appel e Component de gestion de son cycle de vie Un objet SALOME est un objet CORBA qui offre des ports typ s et orient s Le principe de conception pour l implantation des flots de donn es du mod le de composants SALOME est celui du passage de messages du paradigme de programmation orient e objet Les ports de flot de donn es entrantes sont des arguments de m thodes d objets les ports de flot de donn es sortantes les r sultats de m thodes d objets Le type des arguments et des r sultats de ces m thodes constitue donc le type des ports de flots de donn es Les flux de donn es requi rent cependant une conception plus complexe Composants DSC Le mod le de composants dynamiques Dynamic Software Component DSC 105 offre un m canisme de ports et de connexion de ports dynamiques De tels composants peuvent en effet pendant leur ex cution gagner ou perdre des ports Des connexions entre composants peuvent galement tre tablies pendant leur ex cution Ce m ca
165. eneurs demande au traducteur de carte le nom du conteneur dans le service de d signation d objets CORBA et scrute l enregistrement de ce conteneur dans ce service puis il retourne l objet CORBA de ce conteneur Une fois con us les connecteurs et les traducteurs ODD pour SALOME on a poursuivi l int gra tion de l approche de d ploiement de SALOME et de l architecture de d ploiement dynamique ODD SAMURAAIE en l implantant 7 3 3 Implantation de l int gration de SALOME et d ODD SAMURAAIE On a mis en uvre la d l gation ANGE par SALOME du d ploiement des conteneurs de celle ci en deux tapes 1 tendre l implantation de l architecture de d ploiement dynamique ODD SAMURAAIE ANGE pour la technologie SALOME notamment en implantant les connecteurs et les traducteurs ODD pour SALOME con us ci dessus 2 Modifier implantation de SALOME afin qu elle utilise ANGE la place de ses gestion naires de ressources et de conteneurs de composants Extension d ANGE pour la technologie SALOME tendre ANGE pour une technologie consiste implanter des connecteurs et des traducteurs pour cette technologie puis les ajouter dans l assemblage d ANGE Pour SALOME on a donc implant les deux connecteurs de ressources et de conteneurs de composants d une part et les traducteurs de ressources de services d application de carte et de programme d autre part tous con us ci dessus Leur implantation fut directe Comme pour
166. ent de conteneurs dans le service de d signation d objets CORBA afin de retrouver et de donner les conteneurs aux l ments qui les lui de mandent dont le superviseur Une fois capt es par les connecteurs de ressources et de conteneurs de composants les donn es de d ploiement sont transmises des traducteurs ODD pour la technologie SALOME Traduction des donn es de d ploiement par des traducteurs ODD pour SALOME Les donn es de d ploiement que les connecteurs transmettent aux traducteurs comportent les donn es suivantes voir le tableau de correspondance 7 1 page 147 147 Catalogues de modules Les catalogues de modules comportent les meta donn es des com posants parmi lesquelles le mod le de leur implantation et le nom de leur implantation Pour des composants donn s ces meta donn es d terminent l implantation du conteneur dans lequel ces composants pourront tre charg s Elles participent donc indirectement de l abstraction SAMURAAIE de l application Catalogue de ressources Le catalogue de ressources comporte les meta donn es des ordi nateurs parmi lesquels figurent leur capacit en m moire vive le nom de leur syst me d exploitation le nom de leur protocole de soumission distance de commandes et l iden tifiant de l utilisateur pour ce protocole les chemins d acc s aux r pertoires d installation d applications qui sont install es sur ces ordinateurs et la liste des noms des modules que comportent ces
167. er une application l utilisateur d clare 138 dans un fichier au format XML la liste des noms et des chemins d acc s aux r pertoires d ins tallation des modules SALOME qu il a install s Il peut galement faire r f rence un script externe de configuration d ventuelles d pendances vers des codes externes de ces modules Afin de g n rer une application l utilisateur fait appel un fichier ex cutable que le module noyau lui fournit et lui passe en param tre les chemins d acc s au fichier de configuration d une part et au r pertoire d installation de l application consid r e d autre part En regroupant tous les fichiers que fournissent les modules SALOME dans une m me arbo rescence les applications SALOME en changent les chemins d acc s En effet les chemins d acc s aux r pertoires d ex cution diff rent de ceux des r pertoires d installation Ceci est rendu pos sible gr ce aux fichiers de configuration des applications qui d clarent des chemins d acc s aux r pertoires d installation dans lesquels le syst me d exploitation cherche les fichiers ex cutables pendant l ex cution variables PATH Ces d clarations font partie de l environnement d une application Par ailleurs afin d viter de copier les fichiers autant de fois que d applications l arborescence g n r e utilise des liens symboliques Avant de l utiliser afin de r aliser ses simulations num riques l utilisateur doit finalement d clarer aup
168. era dans l tape suivante celle de l enrichissement de SALOME par ANGE au profit de l utilisateur Dynamiquement ANGE alloue un ordinateur et ex cute le conteneur dans lequel le supervi seur charge le composant AddComponent de sorte que le sch ma de calcul s ex cute avec succ s Cette ex cution suit les tapes suivantes 151 1 Au lancement de l application SALOME le serveur de lanceur initialise l infrastructure CORBA d marre ANGE et cr e une instance de lanceur 2 Le lanceur cr e une instance de connecteur de ressources en lui passant les instances de mandataires de traducteurs de ressources de services d application et de carte 3 Le lanceur cr e galement une instance de connecteur de conteneurs de composants en lui passant une instance de mandataire du traducteur d application 4 Le connecteur de ressources utilise les mandataires de traducteurs dont il dispose afin de d clarer les ordinateurs les modules et les associations entre ordinateurs et modules 5 Pendant l ex cution du sch ma le superviseur demande au connecteur de conteneurs un conteneur o charger le composant AddComponent 6 Le connecteur de conteneurs d termine le module dans lequel se trouve le composant AddComponent et utilise le mandataire de traducteur dont il dispose afin de d clarer un nouveau conteneur dans l tat EXPECTED 7 ANGE r agit cette demande en d marrant un conteneur sur l ordinateur distant le ges tion
169. es d pendent des technologies particuli res que comporte ce syst me La seconde contribution de ce document est un mod le d automatisation du d ploiement d applications sur des infrastructures mod le s parant la logique du d ploiement de celles des technologies que comportent ces applications et ces infrastructures Le principe de ce mod le est d organiser l aide d acteurs concurrents les activit s de prise des d cisions de maintien de la repr senta tion de traduction de l information existante et de connexion avec les technologies Une fois les ressources allou es et son application install e et ex cut e par ce mod le l utilisateur n a plus qu l utiliser Cette double contribution constitue une architecture de d ploiement dynamique qui a t implant e et valid e L implantation est une preuve de concept prenant la forme d un moteur de d ploiement La validation de cette architecture a t accomplie dans trois cas de d ploiement dont la complexit augmente Cette architecture et ce moteur ont galement t int gr s dans 17 SALOME une plate forme de simulation num rique supervis e et base de composants logiciels afin que celle ci leur d l gue le d ploiement de ses composants 1 5 Organisation du document Apr s le pr sent chapitre d introduction le reste de ce document comporte sept chapitres divis s en trois parties Contexte et probl matique Contribution et Validation
170. es donn es de d ploiement sp cifiques des technologies sont les traducteurs On a donc con u les traducteurs ODD suivants pour la technologie SALOME Traducteur de ressources Appel par le connecteur de ressources le traducteur de ressources traduit en abstraction SAMURAAIE de ressources la description mat rielle des ressources SALOME que fournit le catalogue de ressources En pratique il fournit une fonction appel e add_host dont les param tres sont les meta donn es relatives au mat riel d ordinateur Cette fonction ajoute dans l abstraction SA MURAAIE de ressources les m moires les connecteurs les processeurs et l ordinateur d une part et les acc s internes et externes l ordinateur d autre part Traducteur de services Appel par le connecteur de ressources le traducteur de services traduit en abstraction SAMURAAIE de services les meta donn es des ressources SALOME ayant trait aux syst mes telles que les noms de syst me d exploitation et les protocoles de soumission distance de commandes En pratique il fournit une fonction appel e add_system dont les param tres sont les meta donn es relatives au syst me d ordinateur et le nom d un ordinateur sur lequel porte le syst me Cette fonction ajoute dans l abstraction SAMURAAIE de services les services et le syst me de l ordinateur d une part et les port es vers les m moires les connecteurs les processeurs et l ordinateur d autre part Traducteur
171. es possibles la logique de la technologie consid r e Par exemple un connecteur d ap plication base de composants devrait tre un composant Il faut veiller ce que des traducteurs de d ploiement puissent appeler les interfaces internes sinon un nouveau traducteur de d ploie ment devra galement tre crit Une fois les connecteurs implant s l information transformer est g n ralement connue et implanter les traducteurs est alors direct 106 Implantation SLOCS en samuraaie 29 odd 69 odd managers 15 odd abstracters 12 odd translators 31 odd connectors 3 TABLE 5 1 R partition du code source Une fois les classes Connecteur et Traducteur sp cialis es en autant de classes de connecteurs et de traducteurs n cessaires pour supporter la technologie consid r e il reste d clarer ces implantations La biblioth que ANGE comporte une partie d initialisation dans laquelle se trouve un registre d objets partir duquel sont inject es les d pendances entre les classes d objets Il s agit donc d ajouter les nouvelles implantations ce registre en sp cifiant les autres entr es dont elles auraient besoin Par exemple les traducteurs auront certainement besoin d abstracteurs des d pendances avec ces derniers devront donc tre inject es 5 6 Discussion ANGE est une premi re implantation de l architecture ODD SAMURAATE de d ploiement dynamique d application Sous forme de moteur central
172. es qu un serveur HTTP Le syst me d information de la bo te outils Globus pour la grille d ordinateurs est appel syst me de suivi et de d couverte Monitoring and Discovery System MDS Ce syst me four nit un m canisme d agr gation et de d clenchement de proc dures particuli rement abouti Le service m t orologique du r seau Network Weather Service NWS 60 est un syst me r parti comportant diff rentes sondes et des r p titeurs afin de mesurer pr voir et diffuser les per formances des processeurs et des connexions point point par exemple Fond sur un mod le multi agent MonALISA Monitoring Agents using a Large Integrated Services Architecture 61 est un syst me dynamique de services pour le suivi le contr le et l optimisation pour la grille Ces syst mes sont principalement con us pour surveiller et d couvrir des ressources mais ils ne permettent pas d obtenir d information propos des besoins en ressources des applications Pour obtenir davantage d information sur les applications que les syst mes d exploitation ne le permettent directement des outils de profilage existent G n ralement utilis s pendant le d veloppement des applications ces outils permettent de surveiller la consommation en temps de calcul en m moire et en communication Par exemple oprofile 62 est un outil permettant de tracer et d analyser la performance des applications s ex cutant sur GNU Linux Valgrind 63 est un mulat
173. es relations de pr c dence et de port e il rend op rationnels et traite les messages portant sur la premi re abstraction en modifiant directement celle ci S il choue en traitant un message alors il le marque en chec suit les relations d agr gation et d fait et marque suspendu tous les messages d ja trait s et 97 Acteurs Gestionnaires Abstracteurs Traducteurs Connecteurs Temps D marrage Arr t FIGURE 4 15 S quences de d marrage et d arr t du mod le ODD D ploiement Technologie Gestion Gestionnaires Connecteurs Donn es Abstracteurs Traducteurs TABLE 4 6 Double s paration des pr occupations en classes d acteurs ODD agr g s dans la m me modification que le message consid r sinon il marque ce message comme tant termin quand il a trait tous les messages de la modification il la marque termin e Le premier abstracteur qui conna t son abstraction constate que cette modification est termin e et en avertit le premier acteur D marrage et arr t du mod le Finalement bien que le mod le ODD ait vocation fonctionner en permanence une tape de d marrage est n cessaire et une autre d arr t peut le devenir La s quence de d marrage est alors la suivante dans l ordre chronologique sont activ s les abstracteurs les gestionnaires les traducteurs et les connecteurs Pour l tape d arr t la s quence est invers e toujours dans l
174. esseurs h t rog nes alors l application est h t rog ne Si le nombre de programmes ex cut s simultan ment varie pendant la dur e de l ex cution de l application alors cette application est galement dynamique Parmi les technologies permet tant de programmer des applications r parties figurent par exemple les appels de proc dure distance Remote Procedure Call RPC tels que la bo te outils d ing nierie r partie et in teractive Distributed Interactive Engineering Toolbox DIET 18 l architecture commune de courtier en requ tes d objets Common Object Request Broker Architecture CORBA 19 du groupe de gestion d objets Object Management Group OMG le moteur de communications Internet Internet Communications Engine ICE 20 de l entreprise ZeroC les langages de pro grammation concurrente tels que Erlang et les applications utilisant des services Web 21 et le protocole simple d acc s des objets Simple Object Access Protocol SOAP 33 Applications en flots de travail Une application en flot de travail comporte plusieurs pro grammes intercommuniquant et s ex cutant en s rie en parall le ou les deux 22 sur plusieurs processeurs Selon le flot de travail qui les organise les programmes se partagent les activit s de lecture des donn es d entr e de traitement de ces donn es et d criture des donn es de sortie Dans ce mod le un programme ne peut tre ex cut que quand toutes ses donn es
175. essources et les catalogues de modules Le catalogue de ressources comporte les meta donn es des ordinateurs ainsi que les noms des modules qui y sont install s Les caract ristiques d une ressource peuvent comporter les caract ristiques de l ordinateur et des composants que fournissent les modules qui y sont install s Le gestionnaire utilise donc la fois les meta donn es des ordinateurs et celles des modules qui y sont install s Dans son interface d finie conjointement avec celle du gestionnaire de conteneurs de com posants dans le fichier SALOME_ContainerManager idl le gestionnaire de ressources a en effet les trois fonctions suivantes FindFirst Le param tre de cette fonction est une liste de noms d ordinateurs possibleComputers Cette fonction retourne le premier d entre eux GetFittingResources Les param tres de cette fonction sont des meta donn es d ordinateur params et une liste de noms de composants componentList Cette fonction retourne 141 une liste de noms d ordinateurs respectant les meta donn es donn es en param tre et sur lesquelles sont install s les modules fournissant les composants ayant les noms donn s en param tre GetMachineParameters Le param tre de cette fonction est le nom d un ordinateur Cette fonc tion retourne les meta donn es de l ordinateur dont le nom est donn en param tre Le gestionnaire de conteneurs de composants utilise le gestionnaire de ressources Gestionn
176. est appel e le d fi de l informatique haute per formance High Performance Computing Challenge HPCC 5 D autres suites existent telles que celles produites par la corporation d valuation standard de performance Standard Per formance Evaluation Corporation SPEC et la suite parall le NAS NAS Parallel Benchmark NPB 6 produite par l administration nationale tasunienne pour l a ronautique et l espace National Aeronautics and Space Administration NASA Les quantificateurs de vitesse d ex cution ont cependant des limites Des diff rences sensibles peuvent appara tre entre les vitesses d ex cution th oriques celles mesur es par des applications sp cifiques et celles constat es pour les applications r elles D autres diff rences peuvent appa ra tre entre les vitesses d ex cution diff rents r gimes d exploitation des applications simples pouvant paradoxalement s ex cuter plus lentement que des applications complexes Des para m tres autres que le nombre d op rations et le temps permettraient de mieux qualifier l infor matique On pourrait par exemple rapporter la vitesse d ex cution d une infrastructure informatique au co t de son mat riel la surface qu elle occupe ou l nergie qu elle consomme On pourrait galement rapporter la vitesse constat e celles soutenue et th orique N e en novembre 2007 la liste des 500 infrastructures informatiques les plus conomes en nergie
177. estion du d ploiement des sch mas de calcul sur des ressources de calcul haute perfor mance qui d pend fortement des architectures et des syst mes d exploitation de ces ressources incombe la fois l utilisateur et la plate forme SALOME et ceux ci ne sont pas en mesure de tenir compte des volutions des ressources de calcul haute performance En effet la description des ressources embarqu e dans un catalogue de ressources SALOME n est pas ind pendante de SALOME parce que les listes de modules et d applications install s sur les ressources en font partie Cela complique l utilisation de syst mes d information disponibles pour les ressources La manipulation des ressources est galement embarqu e dans SALOME et cela complique l utili sation d outils de d ploiement galement disponibles par ailleurs La pr occupation du d ploiement proche de celle de nombreuses autres plates formes ap plicatives pourrait tre trait e part La plate forme de simulation num rique SALOME b n ficierait alors d allocations optimis es d installations la vol e et d ex cutions anticip es le tout ind pendamment des architectures et des syst mes d exploitation des ressources de calcul de son point de vue 7 3 D l gation par SALOME du d ploiement 7 3 1 Introduction Afin de r soudre le probl me du d ploiement dynamique des simulations num riques SA LOME le premier objectif tait que SALOME d l gue le d ploieme
178. et aujourd hui d en faire tenir plusieurs l ot il n en tenait qu un on parle alors de processeurs multi c ur Les cinq cat gories suivantes de processeurs peuvent tre distingu es Processeurs g n raux Central Processing Units CPUs tels que le processeur Intel I7 de la famille de processeurs Nehalem Processeurs graphiques Graphical Processing Unit GPUs tels que le ATI Radeon HD 4770 d Advanced Micro Devices AMD ou des produits concurrents de NVIDIA Processeurs de connecteur tels que ceux produits par 3Com ou Quadrics Processeurs h t rog nes tels que le processeur IBM Cell Circuits int gr s programmables Field Programmable Gate Arrays FPGAs Connecteurs Les connecteurs sont les ressources qui permettent les acc s des processeurs l information m moris e En connectant des m moires et des processeurs ils d terminent la topologie des ressources Leurs principales caract ristiques sont le d bit en octets par seconde leur latence en seconde et le protocole d acc s support Les types de connecteurs sont les suivants Connecteurs point point de processeurs tels que l Hyper Transport et le QuickPath In terconnect d Intel Connecteurs entre processeurs et m moires tels que le circuit Northbridge ou le super concentrateur super hub shub de SGI entre processeur g n ral et m moire vive l atta chement en s rie de technologie avanc e Serial Advanced Te
179. et celle des processus de l application sur la station de travail laquelle cet utilisateur a acc s sont abstraites dans l abstraction Carte La pr sence du r pertoire appli des fichiers de l application dans le r pertoire home user de l utilisateur sur son ordinateur est une relation de liaison entre les l ments Blob et M moire correspondants partir de l tape d allocation du processus de d ploiement une copie de ce r pertoire appli est pr sente dans le r pertoire home user de l utilisateur sur la station Cette pr sence est galement une relation de liaison entre les l ments Blob et M moire correspondants Les fichiers de r sultats sont d abord attendus dans le r pertoire personnel de l utilisateur sur son ordinateur Des relations de liaison relient alors les l ments Blob et M moire correspondants Or les processus qui les crivent ne pouvant pas tre ex cut s sur cet ordinateur ces relations sont d truites puis reconstruites avec les l ments de copie de ces fichiers de r sultats Les originaux eux sont alors pr sents sur le r pertoire local de la station Des relations de liaison relient alors les l ments Blob et M moire correspondants partir de l tape d allocation du processus de d ploiement les processus de l application sont associ s la station Des relations de liaison relient alors les l ments Processus Blob Activit et Flux aux l ments Ordinateur M moire Processeur et
180. et d adressage Afin de figurer ces relations le niveau Actions introduit donc les arcs de port e et de fourniture Capteurs Messages et Journal Le troisi me et dernier niveau d abstraction est le niveau v nements Il comporte trois abstractions appel es Capteurs Messages et leur ventuelle association Journal De m me qu au niveau Actions les sommets de ces abstractions sp cialisent les sommets de base En revanche elles ne comportent pas de nouveau type d arcs par rapport ceux d j introduits au niveau Actions Les types de sommets des abstractions Capteurs et Messages d coupent les changements des abstractions des niveaux Instances et Actions en zones de changement et modifications de ces zones Les capteurs se partagent les changements des abstractions des niveaux Instances et Actions Ils d limitent ainsi des zones de changement L abstraction Capteurs comporte donc des sommets 80 d agr gation Zone et des sommets simples Capteur Les messages provoquent les changements des abstractions des niveaux Instances et Actions Ils d limitent ainsi des modifications L abs traction Messages comporte donc des sommets d agr gation Modification et des sommets simples Message Le tableau 4 5 page 80 r capitule tous les noms des sommets du niveau v nements Un v nement peut avoir l un des types suivants AJOUTER Ajouter un l ment ou une relation une abstraction DITER diter un l ment d une abs
181. et dispositifs d entr e sortie et flux d autre part Le traitement de l information peut tre automatis gr ce une infrastructure informatique programmable c est dire un ou plusieurs ordinateurs interconnect s par des dis positifs d entr e sortie suppl mentaires Une infrastructure informatique comporte la fois des l ments mat riels et logiciels La figure 2 1 page 23 illustre ce premier principe de classification Les l ments mat riels tels que des m moires des processeurs et des dispositifs d entr e sortie sont appel s ressources informatiques ou ressources Les l ments logiciels sont appel s syst mes d exploitation et permettent d ex cuter des programmes traitant des donn es Ces programmes sont en effet associ s des donn es comportent des traitements et acc dent aux 22 Syst me d exploitation Application Entr e M moire Entr e Sortie Donn e Processeur Syst me d exploitation Application ntr e Sortie FIGURE 2 1 Structure g n rale de l informatique 23 donn es Les donn es sont l information m moris e par les m moires les traitements sont les proc dures effectu es par les processeurs et les flux sont les donn es entrant et sortant par les dispositifs d entr e sortie Cet ensemble ainsi form qui utilise des ressources est appel application Ces d finitions qui sont pour la plupart r cursives structurent la classification des techno
182. et plus g n ralement les langages de balisage tels que le langage extensible de balisage eXtensible Markup Language XML ou encore un autre langage de balisage Yet Another Markup Language YAML Bases de donn es La structure des bases de donn es est appel e sch ma Le sch ma le plus r pandu est le sch ma relationnel introduit par Codd fond sur la logique des pr dicats et la th orie des ensembles Ces bases de donn es sont interrog es l aide du langage de requ tes standard Standard Query Language SQL D autres sch mas existent tels que le sch ma objet sp cifi par le groupe de gestion de bases de donn es objet Object Database Management Group ODBG Parmi les implantations de syst mes de gestion de bases de donn es figurent par exemple MySQL relationnelle PostgreSQL et Mnesia 31 objet et relationnelle Traitements Un traitement est une s quence d instructions d un programme ex cut e sur un processeur Parmi les instructions qu il donne au processeur sur lequel il est ex cut un traitement peut commander des connecteurs afin d acc der aux donn es m moris es Un pro gramme peut comporter plusieurs traitements s ex cutant simultan ment une application peut comporter plusieurs programmes s ex cutant simultan ment et une application peut ex cuter simultan ment plusieurs fois un m me programme L organisation des traitements d une appli cation d termine son mod le application
183. eur permettant d analyser la consommation d un programme en m moire tau Tuning and Analysis Utilities 64 est un outil de profilage sp cialis pour les applications parall les Enfin le cadriciel d ing nierie inverse ERESI 65 offre une approche modulaire pour instrumenter des applications et en tracer la performance Tous ces outils sont toutefois rarement utilis s afin d allouer des ressources pour les applications ils sont cependant un des rares moyens d obtenir de l information propos des applications 56 Ordonnanceurs Les ordonnanceurs sont les l ments actifs qui allouent des forces de travail des charges de travail On trouve des ordonnanceurs dans les syst mes d exploitation voire dans certaines technologies d application l chelle de l ordinateur les ressources sont partag es entre plu sieurs applications gr ce un ordonnanceur Maui est un ordonnanceur pour grappe d ordina teurs DAGman pour les grilles Condor G 66 et GridWay pour les grilles Globus L outil de planification de l ex cution dans les grilles Planning for Execution in Grids Pegasus 67 planifie l ex cution d applications suivant un mod le de traitement en flots de donn es sur des ressources r parties Les applications sont d crites sous forme de graphes orient s sans cycle dont les arcs sont des donn es les sommets des programmes Les ressources sont servies par l intergiciel de grille de calcul Globus L objectif d
184. eurs et d injecter les d pendances entre eux selon l ordre d observation Cette observation est s quentielle L implantation du mod le ODD comporte 2229 lignes uniques de code soit 69 de 104 l implantation compl te 5 4 1 Gestionnaires Les gestionnaires ODD g rent le d ploiement en permanence Associateur Conseiller Ex cuteur et Contr leur interagissent avec les abstracteurs afin d acc der aux abstractions L im plantation des gestionnaires comporte 494 lignes uniques de code soit 22 de l implantation du mod le ODD et 15 de l implantation compl te Dans cette implantation Associateur est l objet dont la classe comporte le plus grand nombre de lignes uniques de code 318 Il implante les algorithmes d association afin de modifier les abstractions SAMURAAIE Carte D ploiement et Journal Ces algorithmes tiennent compte des modifications pr c dentes algorithmes incr mentaux Afin de modifier l abstraction Carte l algorithme est r cursif En cas d chec d association pour cette abstraction l algorithme ajoute des copies de fichiers dans l abstraction Application L algorithme modifiant l abstraction D ploiement d tecte les probl mes de port e des actions mais ne les r sout pas Les classes Conseiller Ex cuteur et Contr leur sont moins d velopp es que Associateur Conseiller implante l algorithme de transformation de l abstraction Carte en abstraction Pro gramme et modifie cette derni re Cet algorithm
185. eux ordinateurs sont disponibles simultan ment A7 Respect du principe de faisabilit De m me afin de respecter le principe de faisabilit les trois propri t s des ressources et des applications posent respectivement les trois probl mes suivants Support technologique r parti Les ressources allou es une application pouvant tre ex ploit es par des syst mes distincts un d ploiement peut impliquer d utiliser simultan ment plusieurs de ces syst mes Support technologique multiple Les l ments intercommuniquant des ressources pouvant avoir des technologies diff rentes de m me pour ceux des applications et pour les sys t mes d exploitation un d ploiement peut impliquer de manipuler simultan ment plusieurs technologies Support technologique adaptatif Les l ments intercommuniquant des ressources et des ap plications pouvant varier en nombre un d ploiement peut impliquer de changer l allocation l installation ou l ex cution La section suivante illustre tous ces probl mes par des exemples 3 3 Exemples de d ploiement Dans le contexte de l informatique haute performance les utilisateurs sont confront s des cas tr s vari s de d ploiement d applications sur des ressources voir la classification du chapitre pr c dent Parmi cette vari t cette section en a s lectionn trois particuli rement repr sentatifs Il s agit du d ploiement des trois mod les d applications suivants respecti
186. ex cution des applications c est dire de respecter l ordre de soumission des commandes dont elles ont besoin ces produits utilisent la hi rarchie du mod le de composants Fractal Jade Adage et CORDAGE permettent de d ployer compl tement des applications sur des ressources sous certaines conditions voir le tableau 3 3 page 67 Jade fonctionne en environne ment contr l c est dire qu il d tecte l ajout d ordinateurs dans la grappe qu il administre et qu il peut r agir en les allouant aux applications sans v rifier que la compatibilit et la faisa bilit de l installation et de l ex cution de ces applications soient respect es elles le sont par 67 convention De surcro t afin d tre administr es par Jade les applications doivent tre la fois conditionn es sous forme de composants OSGi pour l installation et de composants Fractal pour l ex cution En utilisant le mod le de description g n rique d applications GADe Adage n a pas besoin que les applications soient particuli rement conditionn es Le mod le de description des res sources permet de d crire les topologies des ordinateurs mais supporte mal les volumes partag s de m morisation GADe et ce format de description de ressources tant statiques Adage est limit au d ploiement voire au re d ploiement d applications statiques sur des ressources sta tiques Les traductions de descriptions sp cifiques donnant des descriptions g n riques enti re
187. fin de faciliter la conception de ces emballages galement fond sur le mod le de composants Fractal DeployWare FDF 89 comporte les trois parties suivantes DeployWare Le d ploiciel est un langage sp cifique au domaine du d ploiement Ce langage de description est fond sur un meta mod le en deux parties La premi re partie appel e expert de technologie permet aux d veloppeurs de d crire les personnalit s des appli cations d ployer La personnalit d une application comporte par exemple ses fichiers ses d pendances vers d autres applications et les proc dures pour son d ploiement et son re pliement exprim es en instructions de base Ces proc dures correspondent l installation la configuration le d marrage la gestion l arr t et la d sinstallation de l instance de per sonnalit c est dire l application d ploy e La seconde partie du meta mod le appel e support administratif permet aux administrateurs ou aux utilisateurs la fois de d crire les ordinateurs et les instances de personnalit s qu ils contiennent d j et galement de d crire le d ploiement d une nouvelle instance de personnalit sur des ressources Cette derni re instance est l application d ployer Fractal Deployment Framework FDF Le cadriciel de d ploiement Fractal est une ma chine virtuelle interpr tant les descriptions et capable d ex cuter des instructions de base pour diff rentes technologies de machi
188. gements apport s aux abstractions Ressources Application Carte Services Program me et D ploiement sont abstraits dans les abstractions Capteurs Messages et Journal Les zones modifiables des abstractions d instance et d action sont des l ments Zone agr geant des l ments Capteur En l occurrence chaque abstraction n est couverte que par une seule zone Des relations de port e relient chaque l ment Capteur tous les l ments de l abstraction qu il couvre Un 115 changement est un l ment Modification agr geant des l ments Message Des relations de port e relient ces messages des l ments de la zone d abstraction qu il modifie Des relations de liaison relient des capteurs des messages et leurs zones leurs modifications Avant d tre trait s les messages ont l tat ATTENDU Enfin de m me que pour une t che une modification ne peut avoir l tat TERMIN que quand tous les l ments qu elle agr ge ont galement cet tat Automatisation avec ODD Gestionnaires Associateur Le gestionnaire Associateur associe les l ments de contenu en attente avec des l ments de contenant fonctionnant correctement Dans le cas de d ploiement consid r les premiers l ments de contenu en attente sont les fichiers de r sultats de l application Ils sont cependant associ s d embl e au r pertoire personnel de l utilisateur sur son ordinateur La premi re association que ce gestionnaire tente de r aliser e
189. gent based Dy namic Service System to Monitor Control and Optimize Grid based Applications dans Proceedings of CHEP 04 septembre 2004 LEVON J Oprofile Internals 2003 NETHERCOTE N et SEWARD J Valgrind A Framework for Heavyweight Dynamic Binary Instrumentation dans Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation PLDI 07 San Diego CA USA p 89 100 New York NY USA 2007 ACM SHENDE S S et MALony A D The Tau Parallel Performance System The International Journal of High Performance Computing Applications vol 20 2006 p 287 331 Desnos A Roy S et VANENGUE J ERESI une plate forme d analyse binaire au niveau noyau dans Proceedings of SSTIC mai 2008 THAIN D TANNENBAUM T et LIVNY M Condor and the Grid dans BERMAN F Fox G et HEY T diteurs Grid Computing Making the Global Infrastructure a Reality John Wiley amp Sons Inc d cembre 2002 GIL Y RATNAKAR V DEELMAN E et al Wings for Pegasus Creating Large Scale Scientific Applications Using Semantic Representations of Computational Work flows Proceedings of the N19th Conference on Innovative Applications of Artificial In telligence IAAI 07 2007 p 1767 1774 Myers K L CPEF A Continuous Planning and Execution Framework AI Ma gazine vol 20 n 4 1999 p 63 69 LEDUC J et PEAQUIN G Kade
190. guar de Cray Incorporated et Pleiades de Silicon Graphics Incorporated SGI en font les cinq infrastructures informatiques Blue Gene tant repr sent deux fois les plus performantes du monde dont deux soutiennent des performances au del de 1 PFLOPS 1015 FLOPS RoadRunner Les ressources de RoadRunner comporte presque 6500 processeurs bi c ur AMD Opteron interconnect s par Infiniband un processeur Power XCell 81 tant adjoint chaque c ur de processeur Jaguar Les ressources de Jaguar sont constitu es d unit s Cray XT4 et XT5 le tout comportant plus de 180000 c urs de processeur AMD Opteron interconnect s par SeaStar ou par Infiniband La m moire de masse partag e entre les processeurs est un autre produit Cray appel Spider Pleiades Les ressources de Pleiades sont constitu es d unit s SGI Altix Cette gamme pro pose des super ordinateurs d architecture NUMAflex comportant jusqu 1024 c urs de processeur Intel Xeon et 128 To 1024 Go de m moire vive r partie et partag e coeurs interconnect s par NUMAlink Blue Gene Dans la version la plus performante Blue Gene P Blue Gene est constitu e d ar moires pouvant contenir 32 lames chaque lame pouvant contenir 16 noeuds chaque noeud pouvant comporter deux processeurs PowerPC 440 cadenc s 700 MHz et de 1 Go de m moire vive Ces noeuds sont interconnect s dans trois r seaux un tridimensionnel pour les communications n ud n ud un pour les com
191. ication et entre les diff rents l ments Message agr g s dans une m me Modification En revanche contrairement Ex cuteur non seulement Contr leur d clenche des l ments en at tente mais il les traite Pour ce faire il en analyse le type d v nement et les relations de port e puis change directement les abstractions concern es Traducteurs Dans le cas de d ploiement consid r l information traduite porte sur les ordina teurs et leur interconnexion l implantation de l architecture ODD SAMURAATE l application MPI la pr sence d l ments de l application sur des l ments des ressources les pseudo chemins SAMURAAIE et le syst me GNU Linux chacune de ces technologies correspond donc un traducteur ODD Traducteur d ordinateurs Le traducteur d ordinateurs traduit l information technolo gique propos d ordinateurs interconnect s en l ments et relations entre l ments pour l abs traction Ressources Cette information lui est fournie par un connecteur ODD sous la forme d un dictionnaire dont les clefs sont des noms de caract ristiques et les valeurs les valeurs de celles ci Il traduit galement l abstraction Ressources des fins pr cises En particulier il ac cepte des valeurs d architecture de jeu d instructions et de nombre de bits et retourne le plus grand nombre de processeurs partageant une m moire vive et ayant ces valeurs caract ristiques Le traducteur d ordinateurs est appel tro
192. ication et les capacit s des ordi nateurs de la grille Pour ce faire il doit notamment consulter le syst me d information de la grille Il d duit que son application devra utiliser des ordinateurs de la seconde grappe Installation De m me que pr c demment afin d installer son application l utilisateur doit en transf rer le sous r pertoire depuis son r pertoire personnel sur son ordinateur vers celui sur l ordinateur passerelle de la grappe allou e Il doit ensuite mettre jour la description du flot de travail de son application afin que les chemins d acc s aux jeux de donn es soient corrects Il doit enfin pr parer la description de la t che qu il devra soumettre au gestionnaire de t ches de la 52 grille afin d ex cuter son application sur les ordinateurs qu il a s lectionn s Ne supportant pas les applications en flot de travail en tant que telles mais seulement des processus ind pendants ce format de description de t che impose l utilisateur de d crire une t che dans laquelle sont d marr s simultan ment le programme principal et tous les conteneurs de son application Ex cution Afin d ex cuter son application l utilisateur en soumet la description de t che au gestionnaire de t ches de la grille Celui ci d marre le programme principal et tous les conte neurs sur les ordinateurs indiqu s dans cette description Enfin une fois le programme principal termin l utilisateur transf re le jeu de donn es t
193. igurer sur les ressources qui lui ont t allou es afin d tre ex cut e c est dire la pr parer afin de continuer le processus de son d ploiement Ex cution Ex cuter une application est l activer la lancer ou encore la d marrer afin qu elle utilise les ressources sur lesquelles elle a t install e et qu elle produise les r sultats pour lesquels elle a t d velopp e et ainsi terminer le processus de son d ploiement Une intuition afin de bien comprendre la s paration entre ces trois tapes serait la suivante Une application serait un ensemble de fichiers et de processus Lui allouer des ressources consis terait lui choisir des ordinateurs ayant des m moires et des processeurs ad quats l installer consisterait produire ces fichiers dans les m moires de ces ordinateurs et l ex cuter consisterait produire ces processus dans les processeurs de ces ordinateurs La figure 3 2 page 46 illustre cette intuition On trouve parfois le terme allocation utilis dans un sens inverse que celui utilis dans ce document Dans ce sens inverse l allocation porterait sur les applications pour les ressources et d note ainsi la m me notion d association mais du point de vue des administrateurs des ressources recevant des applications d ployer Ce document portant sur le d ploiement du point de vue des utilisateurs on a retenu le sens donn ci dessus c est dire l allocation de ressources pour les
194. inateurs bi processeur quadri c ur AMD 64 bits du type de celui d crit pr c demment Ces ordinateurs sont inter connect s au sein de deux sous r seaux commut s Ethernet 100 Mbps et Infiniband Un de ces ordinateurs a un disque dur suppl mentaire de 500 Go sur lequel se trouvent les r pertoires personnels des utilisateurs et les exporte par NFS vers tous les autres ordinateurs qui doivent ainsi se les partager La seconde grappe comporte 17 ordinateurs quadri processeur bi c ur 1686 32 bits du type de celui d crit pr c demment De m me que dans la premi re grappe un de ces ordinateurs un disque dur suppl mentaire de 200 Go sur lequel se trouvent les r pertoires personnels des utilisateurs et les exporte par NFS vers tous les autres ordinateurs qui doivent ainsi se les partager Ces ordinateurs sont interconnect s au sein d un r seau commut Ethernet 100 Mbps Ces deux grappes d ordinateurs sont interconnect es au sein d un r seau TCP IP local chaque grappe ayant un de ses ordinateurs utilis en tant que passerelle et les autres n tant pas atteignables depuis ce r seau Tous ces ordinateurs fonctionnent sous GNU Linux 2 6 30 et seulement ceux de la premi re grappe et l ordinateur passerelle de la seconde grappe acceptent des commandes par SSH et des transferts de fichiers par SCP les autres ordinateurs de la seconde ne peuvent tre utilis s que par l ordonnanceur de lots TORQUE Application parall le L applicati
195. inaux savent r soudre ce probl me ne serait ce parce qu ils le r solvent souvent pour leur usage en informa tique personnelle Pour le d ploiement dans le contexte de l informatique haute performance en revanche respecter ces principes est complexe 3 2 3 Contexte de l informatique haute performance Dans le contexte de l informatique haute performance les propri t s de parall lisme d h t rog n it et de dynamicit des ressources et des applications complexifient le respect des principes de compatibilit et de faisabilit du processus de d ploiement Cette complexit est essentiellement due la multiplicit des l ments des ressources et des applications La table 3 1 page 47 nomme chacun des probl mes pr sent s ci dessous Respect du principe de compatibilit Afin de respecter le principe de compatibilit les trois propri t s des ressources et des ap plications posent respectivement les trois probl mes suivants Correspondance topologique simple Des parties du r seau des ressources doivent corres pondre aux r seaux des applications Les l ments intercommuniquant des ressources et ceux des applications tant respectivement homog nes la compatibilit d un l ment des ressources et d un l ment des applications est donc simple v rifier Par exemple si deux ordinateurs sont similaires et qu ils sont interconnect s d une part et si deux processus sont similaires et qu ils in
196. ion de ressources d installation de l application sur les 15 ressources allou es et d ex cution de cette application install e Ce processus doit respecter les contraintes de compatibilit de l application et doit tenir compte des technologies des ressources de l application et des syst mes d exploitation pour chaque tape Afin d en utiliser au mieux la puissance les applications des syst mes informatiques haute performance h ritent des propri t s des ressources de ces syst mes et donc de leur complexit Les ressources que comportent les infrastructures informatiques haute performance actuelles sont parall les dynamiques et h t rog nes En effet le nombre de ressources augmente paral l lisme et avec lui augmente la probabilit que toutes les ressources ne soient pas disponibles simultan ment dynamicit Des ressources sont galement sp cialis es et f d r es afin d en obtenir de plus puissantes encore h t rog n it Les grilles d ordinateurs sont des exemples de telles architectures Les applications qui composent n cessairement avec ces propri t s se fondent donc sur des intergiciels applicatifs galement parall les dynamiques et h t rog nes Les propri t s des ressources et des applications des syst mes informatiques haute per formance complexifient le processus de d ploiement d applications au point que les utilisateurs rencontrent de grandes difficult s Allouer des ressources
197. ionnaire de conteneurs les conteneurs sont totalement ind pendants La r alisation d une simulation num rique plus complexe impliquant davantage de conteneurs de composant n aurait donc rien montr de plus sur le caract re dynamique du d ploiement Une fois l int gration de SALOME et d ODD SAMURAAIE valid e la contrainte pour l uti lisateur d allouer des ordinateurs puis d installer et de construire manuellement ses applications SALOME sur les ordinateurs allou s pourrait tre supprim e En effet si l utilisateur a d j allou des ordinateurs a d j install les applications ODD SAMURAAIE et son implantation en tiennent compte Cependant ODD SAMURAAIE et son implantation pourraient galement prendre en charge cette allocation et cette installation la place de l utilisateur 7 3 6 Conclusion L int gration de l approche de SALOME et de l architecture ODD SAMURAAIE ont permis d atteindre l objectif de d l gation par SALOME ANGE du d ploiement des conteneurs de 152 composants de celle ci Lorsque le superviseur demande un conteneur de composants au connec teur de conteneurs afin d y charger un composant auquel fait appel le sch ma qu il ex cute ce connecteur modifie l abstraction SAMURAAIE d application ANGE r agit alors cet v ne ment en allouant un ordinateur compatible et en ex cutant distance sur cet ordinateur le conteneur correspondant Une fois cette int gration achev e des volutions
198. ions internes Dans leurs descriptions internes les applications sont des arbres dont les feuilles sont des entit s param tr es et dont les n uds d finissent une hi rarchie de groupes d entit s param tr es De m me les ressources sont les feuilles d un arbre regroup es par les n uds de cet arbre Par convention chaque entit a besoin d au plus une ressource il est donc possible la fois d associer des entit s et des ressources et de respecter les affinit s des entit s entre elles d une part et celles des ressources entre elles d autre part Parmi les param tres d une entit figure une date de fin de vie utile pour les r servations de ressources Une fois ces arbres disponibles respectivement qualifi s de logiques et de physiques COR DAGE essaie de trouver les associations de groupes d entit s param tr es et de ressources Pour ce faire il doit r server des ressources aupr s des services de r servation des diff rents groupes de ressources tant que toutes les r servations ne sont pas synchrones Une fois qu elles le sont CORDAGE transmet les descriptions internes et les associations de groupes logiques et phy siques Adage qui d s lors peut planifier et r aliser l installation et l ex cution de l application sur les ressources r serv es Afin de g rer le d ploiement de plusieurs applications ou une application en plusieurs sous applications CORDAGE ajoute ou retire un sous arbre dans la description i
199. is cette implantation est directe et extensible Par ailleurs la s paration des pr occupations entre les diff rentes classes d acteurs est respect e En effet le gestionnaire Ex cuteur ne communique par exemple avec aucun connecteur et seul les traducteurs de d ploiement appellent les connecteurs de services et de programme Parce qu il utilise le mod le d acteurs 37 le mod le ODD est con u pour tre implant de mani re concurrente De m me les l ments des abstractions SAMURAAIE pourraient tre r partis sur plusieurs ordinateurs selon les zones d limit es par les port es des capteurs Pour le mod le d acteurs un langage de programmation l implantant nativement aurait pu tre utilis Erlang par exemple L usage d une biblioth que implantant le mod le d acteurs comme une extension du langage Python appel e PARLEY 102 a t envisag mais celle ci ne supportait pas la r partition sur plusieurs ordinateurs et n existait alors qu en version beta Le code source d ANGE se d coupe en trois parts presque gales voir le tableau r capitu latif 5 1 page 107 La premi re est l implantation du mod le SAMURAAIE La deuxi me est l implantation des traducteurs ODD La troisi me et derni re part est l implantation du reste du mod le ODD Cette r partition sugg re la fois que l implantation du mod le SAMURAAIE est directe que celle du m canisme de traduction est plus exigeante et que celle du reste du mod le
200. is fois La premi re fois il s agit d abstraire l ordi nateur personnel de l utilisateur L information transmise est alors quasiment nulle Sans entr e dans le dictionnaire pour une caract ristique donn e le traducteur s appuie sur la structure d un ordinateur simple et ne pr cise pas la valeur de cette caract ristique La deuxi me fois il s agit 118 d abstraire la station de travail laquelle l utilisateur a acc s ainsi que son interconnexion avec l ordinateur personnel L information technologique est alors compl te et pr cise notamment le nom sur le r seau avec lequel l ordinateur de l utilisateur peut d signer cette station La troi si me et derni re fois que ce traducteur est appel il s agit de r pondre 8 le plus grand nombre de processeurs AMD 64 bits agr g s dans un m me ordinateur Traducteur d implantation de l architecture ODD SAMURAAIE Le traducteur d implantation de l architecture ODD SAMURAAIE traduit l information technologique pro pos de l implantation de l architecture ODD SAMURAAIE en l ments et relations entre l ments pour l abstraction Application Dans le cas de d ploiement consid r ce traducteur n est appel qu au d marrage de l implantation elle m me Il enregistre un l ment Blob d empreinte en m moire vive un l ment Activit et deux l ments Flux Il relie en lecture et criture les l ments Blob de l empreinte et Activit avec les deux l ments Flux p
201. iseur fait partie des l ments qui les utilisent Superviseur Afin de l ex cuter le superviseur interpr te un sch ma Il y trouve la fois les d finitions de n uds de calcul et de conteneurs abstraits des associations entre des n uds et des conteneurs abstraits et des connexions entre n uds Il d termine ainsi ce qu il doit r aliser et ce dont il a besoin pour ce faire Il doit r aliser la r partition des composants parmi les conteneurs et le flot de contr le ainsi que les flux de donn es entre les n uds Pour ce faire il a besoin des composants et de conteneurs dans lesquels charger ces com posants Pendant l ex cution proprement dite d un sch ma le superviseur ex cute les n uds de calcul selon leurs connexions de flot de contr le ou de flot de donn es et tablit les connexions entre eux selon les flux de donn es Afin d ex cuter les n uds il demande des conteneurs de composants au gestionnaire de ceux ci avant d y charger ces n uds En effet le superviseur fait co ncider les conteneurs abstraits avec des conteneurs de composants En faisant appel au gestionnaire de conteneurs de composants le superviseur le mandate afin d obtenir des conteneurs respectant deux r gles la fois La premi re r gle est que les conte neurs doivent tre compatibles avec les composants dont le superviseur pr voit le chargement La seconde r gle est que les implantations des conteneurs doivent tre ex cut es au sein
202. it un lanceur qui puisse tenir compte des chemins d acc s potentiellement diff rents aux r pertoires personnels partag s par les ordinateurs d une part et qui puisse param trer la biblioth que de communication pour les technologies disponibles entre les ordinateurs d autre part Enfin dans le cas du d ploiement d une application en flot de travail sur une grille d ordi nateurs devoir allouer tous les ordinateurs pour toute la dur e de l ex cution de l application n est pas optimal En effet l application est justement con ue pour n utiliser des ressources que quand ses t ches en ont besoin ex cuter les conteneurs tout au long de l application est donc utiliser des ressources pour rien Dans les exemples donn s on n a pas tenu compte des temps d ex cution et donc des r servations d ordinateurs effectuer ce qui est pourtant n cessaire dans les cas o de nombreux utilisateurs se partagent une m me ressource grappe et grille surtout Le processus de d ploie ment est donc encore plus complexe pour l utilisateur Enfin on n a pas pr sent d exemple d application h t rog ne Par exemple on aurait pu pr senter une application couplant une application param trique et une application parall le L encore le d ploiement est encore plus complexe pour l utilisateur Les deux sections suivantes pr sentent l tat de l art en mati re d allocation d installation et d ex cution puis de d ploiement 53 3 4 A
203. l interface de passage de message Message Passing Interface MPI 15 la biblioth que de communication haute performance Madeleine 35 les messages actifs de Berkeley Active Messages AMs 36 le protocole de transferts hypertexte HyperText Trans fer Protocol HTTP le protocole d acc s simple des objets Simple Object Access Protocol SOAP les appels de proc dures distance et les implantations du mod le d acteurs Actor Model 37 De m me que pour les communications par m moire partag e afin d tre fiabilis es les com munications par transmission de messages sont r gies par des protocoles Ces protocoles suivent g n ralement le mod le de r f rence ouvert d interconnexion de syst mes Open Systems Inter connection Reference Model OSI Reference Model qui d finit les sept couches de communication suivantes des connecteurs constituant la couche physique aux applications couche physique de liaison de donn es r seau de transport de session de pr sentation et d application R seau logique Certains protocoles de communication par transmission de messages ont rajout une couche entre celle de pr sentation et celle d application appel e surcouche overlay Les communications dans cette surcouche peuvent tre structur es les points communiquant peuvent tre index s ou les deux Parmi les technologies utilisant une surcouche figurent les technologies de r seaux priv s virtuels Virtual Private
204. ll le l utilisateur suit les trois tapes du processus de d ploiement que sont l allocation l installation et l ex cution Les d tails de ces tapes suivent Allocation En analysant les besoins en ressources de son application et les capacit s des res sources auxquelles il a acc s l utilisateur d duit que son application devra utiliser la premi re grappe De m me que pr c demment ce choix est essentiellement d l architecture des proces seurs Cependant pour s assurer que son application fonctionnera correctement il doit galement v rifier les capacit s de m morisation disponibles sur les ordinateurs et que tous les ordinateurs communiquent directement Installation Afin d installer son application l utilisateur doit d abord en transf rer le sous r pertoire depuis son r pertoire personnel sur son ordinateur vers celui sur l ordinateur passerelle de la grappe allou e Tous les ordinateurs de la grappe partageant les r pertoires personnels il ne doit faire ce transfert qu une fois Il doit ensuite produire le fichier de configuration contenant les noms de tous les ordinateurs de la grappe avant de le transf rer dans le sous r pertoire de son application sur l ordinateur passerelle Par ailleurs afin que la biblioth que partag e et donc son application b n ficient du r seau Infiniband l utilisateur doit pr voir d ajouter un param tre dans la commande du lanceur de son application Il doit d terminer le nombre de
205. llocation installation et ex cution Allouer installer et ex cuter sont des activit s fr quentes en informatique De nombreux travaux facilitent ces tapes dans des conditions particuli res Cette section pr sente diff rents travaux en rapport avec l allocation de ressources l installation d applications et l ex cution d applications 3 4 1 Allocation Allouer des ressources pour des applications requiert les trois l ments suivants un mod le d abstraction de ressources d applications et d allocations entit s un processus d abstraction des entit s selon ce mod le et un processus d cisionnel d allocation Ces trois l ments sont respectivement appel s langages de description syst mes d information et ordonnanceurs Langages de description Ressources Il y a peu de langages de description de ressources de calcul Ces langages peuvent comporter les caract ristiques statiques voire dynamiques des ordinateurs Sous la forme de paires clef valeur ces langages reprennent les caract ristiques fournies par les constructeurs telles que le type le nombre et la fr quence des processeurs les capacit s de la m moire vive et des disques durs les types d interfaces et les noms de l ordinateur sur le r seau et la famille et le nom de son syst me d exploitation ces caract ristiques statiques peuvent s ajouter des caract ristiques dynamiques telles que l tat de fonctionnement de l ordinateur et la charge de ses
206. logies d informatique haute performance L informatique est haute performance quand sa qualit d ex cution est exceptionnelle Une mani re de qualifier l ex cution est de mesurer des quantit s Les premiers quantificateurs sont les caract ristiques des l ments mat riels impliqu s les tailles des m moires en octet les fr quences d horloge des processeurs en Hertz et les d bits et latences des dispositifs d entr e sortie entre les m moires et les processeurs respectivement en octet par seconde et en seconde Ces caract ristiques ind pendantes ont rapidement t remplac es par des quantificateurs qui les int grent Ces quantificateurs mesurent des vitesses c est dire des rapports entre des nombres d op rations et le temps Instructions Per Second IPS et FLoating point Operation Per Second FLOPS La vitesse d ex cution de l informatique peut tre estim e partir des caract ristiques ma t rielles de l infrastructure ou mesur e en ex cutant une application d velopp e sp cifiquement benchmarking On obtient ainsi des valeurs dites respectivement th oriques ou soute nues Par exemple l application permettant de classer les 500 ordinateurs ayant les meilleures performances vitesse d ex cution soutenue en FLOPS au monde 3 est LINPACK 4 Depuis quelques ann es les auteurs de LINPACK proposent de compl ter les mesures avec six autres applications cette suite d applications
207. m me que dans le cas de d ploiement pr c dent est partag e par plusieurs utilisateurs Hors de ses sous r seaux cette grille est ef fectivement atteignable par les stations passerelles Ces passerelles permettent aux utilisateurs de soumettre des commandes et de lire et d crire dans leurs r pertoires personnels respectifs L ordinateur personnel et la passerelle de la seconde grappe sont interconnect s au sein du m me r seau local TCP IP sur Ethernet Gigabit Enfin les fichiers du code source de l application se trouvent dans une archive appli tar dans le r pertoire home user personnel de l utilisateur sur son ordinateur 6 5 2 Traitement avec ODD SAMURAAIE Cette sous section pr sent d abord abstraction par abstraction comment le sc nario de d ploiement sur une f d ration de grappes ou grille d ordinateurs d une application en flot de travail est abstrait avec le mod le SAMURAATE Elle pr sente ensuite acteur par acteur comment ce sc nario est automatis avec le mod le ODD Pour les m mes raisons que pr c demment elle ne revient cependant pas sur les concepts d j illustr s Abstraction avec SAMURAAIE Ressources L interconnexion de l ordinateur personnel de l utilisateur et des deux stations passerelles de la grille est abstraite par six l ments Connecteur 2 x 1 2 8 22 relations d acc s relient en criture seulement les l ments Processeur et M moire vives avec les l ments Conne
208. mbre de ressources de syst mes d exploitation et de technologies de ressources et de syst mes d exploitation que comporte une infrastructure informatique haute performance est la fois grand et variable Les applications ne sont pas moins complexes que ces infrastructures Ce chapitre propose une architecture de d ploiement dynamique afin d automatiser le proces sus d allocation de ressources d installation d applications sur les ressources allou es et d ex cution de ces applications install es dans le contexte de l informatique haute performance Il donne d abord les principes de cette architecture Puis il en pr sente le mod le d abstraction inspir des principes de la classification et du d ploiement pr sent s dans les chapitres pr c dents Il en pr sente ensuite le mod le de d ploiement sur demande reposant sur ce mod le d abstraction Il discute enfin cette proposition 4 2 Principes Afin d automatiser le d ploiement d applications sur des ressources l architecture que pro pose ce chapitre suit deux principes compl mentaires Le premier est un principe de mod lisation qui s pare l environnement de d ploiement son abstraction et sa gestion Le second est un prin cipe de permanence qui relie les changements de l environnement de d ploiement ceux de son abstraction d une part et les changements de l abstraction de l environnement de d ploiement ceux de sa gestion d autre part 4 2 1 Mod li
209. ment Abstracteurs G stionnaires De Initialisation Demande D ploiement Scrutation R ponse Temps FIGURE 7 6 Int gration de SALOME et d ODD SAMURAAIE 146 Donn es SALOME Abstractions SAMURAAIE Catalogues de modules Application Catalogue de ressources Ressources services application et carte Demandes de conteneurs Application TABLE 7 1 Correspondance entre les donn es de d ploiement SALOME et les abstractions SAMURAAIE Captation des donn es de d ploiement par des connecteurs ODD pour SALOME Dans l approche de d ploiement de SALOME les l ments qui allouent des ressources et qui y ex cutent des conteneurs de composants sont les gestionnaires de ressources et de conteneurs Ces gestionnaires manipulent les donn es de d ploiement suivantes Catalogues de modules Les catalogues de modules comportent les meta donn es des compo sants telles que le mod le de leur implantation leurs interfaces etc Catalogue de ressources Le catalogue de ressources comporte les meta donn es des ordina teurs les chemins d acc s aux r pertoires d installation des applications qui y sont instal l es et les noms des modules que ces applications comportent Demandes de conteneurs Chaque demande de conteneur de composants comporte des meta donn es d ordinateur le nom d une politique d allocation d ordinateur et la liste des noms des composants que doit fournir l application install e sur l ordinateur
210. ment les applications d j install es Des travaux permettent dans certaines conditions d int grer les tapes d installation et d ex cution voire d allocation Certains outils d administration tels que Jade de gestion d appli cations tels que DeployWare FDF et de d ploiement tels qu Adage et CORDAGE simplifient ainsi le d ploiement incombant aux utilisateurs En revanche les utilisateurs n ont par d finition pas le privil ge d utiliser des outils d administration les gestionnaires d applications sont sou 68 vent la fois sp cifiques une technologie et mutuellement exclusifs et les outils de d ploiement ont des langages de description des ressources et des applications incomplets par rapport aux probl mes auxquels ils doivent pourtant faire face Un mod le de d ploiement int grant les trois tapes et supportant les trois propri t s des ressources et des applications la fois est donc inventer 69 70 Troisi me partie Contribution 71 Chapitre 4 Architecture ODD SAMURAAIE de d ploiement dynamique d application 4 1 Introduction Dans le contexte de l informatique haute performance les contraintes du processus de d ploiement sont fortes Il est difficile voire impossible pour l utilisateur de respecter la com patibilit de ressources avec des applications d une part et la faisabilit de l installation et de l ex cution d applications sur des ressources d autre part En effet le no
211. mod le SAMURAAIE 5 3 Implantation de SAMURAAIE Cette section couvre trois volets de l implantation du mod le SAMURAAIE Le premier concerne les abstractions les l ments et les relations SAMURAAIE Le deuxi me concerne les caract ristiques des l ments et des relations Le troisi me et dernier volet concerne la sauve garde de ces caract ristiques dans une base relationnelle de donn es L implantation du mod le SAMURAAIE comporte 945 lignes uniques de code soit 29 de l implantation compl te 5 3 1 Abstractions l ments et relations La premi re partie implante les abstractions SAMURAAIE Ces abstractions comportent des l ments et des relations entre ces l ments Les l ments ont des caract ristiques les relations ont un type A ces abstractions correspondent des graphes orient s aux l ments des sommets et aux relations des arcs Dans l implantation ces graphes leurs sommets et leurs arcs sont des classes d objets La figure 5 1 page 102 illustre la hi rarchie de ces classes d objets Afin d abstraire l environnement avec cette implantation il suffit donc de cr er des objets Abstraction et de leur ajouter des objets El ment et Relation 102 A Compatibilit Protocole Relation Ev nement Fr quence Taille Identit Chemin J D H r Id_Libre Id_Tache Id_Modification Id_Processus FIGURE 5 2 Hi rarchie des traits des objets de l implanta
212. mpos s le sont d un ou plusieurs n uds l mentaires ou bien compos s eux m mes connect s logiquement selon une des structures de contr le suivantes Bloc ForLoop While ForEach ou Switch Les n uds compos s sont des bo tes blanches c est dire que tous les n uds qu ils comportent peuvent tre connect s directement avec d autres n uds du sch ma de calcul Les ports des n uds sont orient s typ s et peuvent tre de contr le d ex cution de donn es ou de flux de donn es Ces ports permettent au superviseur de couplage qui interpr te les sch mas de calcul d organiser l ex cution la circulation des donn es et les connexions des n uds auxquels ils appartiennent 1 Les ports de contr le d ex cution permettent au superviseur d organiser l ex cution des n uds Chaque n ud a un port de contr le d ex cution entrante et un d ex cution sortante 2 Les n uds peuvent avoir des ports de donn es d entr e de sortie ou les deux Les ports de donn es permettent au superviseur d organiser la transmission des donn es entre les n uds respectivement avant apr s ou avant et apr s l ex cution des n uds 3 Enfin les n uds peuvent avoir des ports de flux de donn es entrantes ou de donn es sortantes Ces ports permettent au superviseur d organiser la connexion des n uds afin que ceux ci puissent communiquer pendant leur ex cution Les connexions entre ports des n uds peuvent tre de flot de contr le
213. mpossible par exemple de lib rer un ordinateur qu une application n utiliserait plus ni d en allouer un suppl mentaire pour une application qui en aurait finalement besoin Or pour des applications en flots de travail la prise en compte de besoins variables au moment de l allocation influence les performances de ces applications Les ordonnanceurs supposent fr quemment que l application soit install e sur toutes les res sources Ils ne prennent jamais en compte les besoins en termes de calculs de donn es et de communications qu induit l installation de l application sur les ressources Certains langages de description de ressources permettent de d crire les applications install es les consid rant en tant que des ressources elles m mes En revanche les ordonnanceurs ne diff rencient pas les res sources sur lesquelles l application serait d j install e des autres Or pour des applications dont 65 l installation est co teuse le fait que ces ordonnanceurs n en tiennent pas compte est g nant pour la faisabilit et la performance de cette installation Certaines technologies d applications supportent elles m mes l allocation de ressources pour leurs applications En revanche leurs langages de description de ressources et d applications ainsi que leurs ordonnanceurs leur sont sp cifiques et ces langages ne sont pas interop rables Dans la plupart des technologies d application en flots de travail par exemple les t ches sont
214. munications collectives et un pour les interruptions globales Par ailleurs les lames sont connect es vers l ext rieur par un r seau Ethernet d administration et les n uds se partagent une m moire de masse externe Lorsqu un ordinateur comporte plusieurs processeurs soit ceux ci partagent une m me m moire vive soit plusieurs m moires vives coexistent Dans le premier cas on parle de multi processeur sym trique Symetric Multi Processor SMP Dans le second on parle de m moire r partie et le temps d acc s d un processeur 4 une zone m moire d pendant de leur proximit d acc s non uniforme la m moire Non Uniform Memory Access NUMA Des probl mes de coh rence entre les m moires vives des processeurs pourraient d ailleurs apparaitre si plusieurs d entre eux acc daient simultan ment une m me zone m moire Les contr leurs de m moire d un tel ordinateur peuvent organiser cette coh rence on parle alors d acc s non uniforme la m moire mais coh rent l acc s en cache cache coherent Non Uniform Memory Access ccCNUMA Les super ordinateurs Altix de SGI par exemple ont une architecture ccNUMA Grappes d ordinateurs Les ressources d une grappe d ordinateurs comportent les ressources de plusieurs ordinateurs homog nes interconnect s La performance des acc s des processeurs 28 aux m moires vives est diff rente selon que ces ressources soient localis es dans un m me ordina teur Le nombre
215. n entre sommets Les caract ristiques des l ments SAMURAAITE varient la fois en type et en nombre Or en relationnel le type et le nombre des colonnes d une table ne peut pas varier Une solution est que les caract ristiques des l ments d un niveau hi rarchique donn soient sauvegard s dans une table donn e que seuls les caract ristiques suppl mentaires des l ments du niveau inf rieur soient sauvegard s dans une autre table et enfin que cette autre table fasse r f rence la premi re Toutes les caract ristiques des l ments du niveau inf rieur peuvent alors tre regroup s en faisant la jointure des deux tables 5 4 Implantation d ODD La seconde partie implante les acteurs ODD Ces acteurs s appellent selon les r gles du mo d le de programmation orient objets et s observent selon le patron de conception observateur observer design pattern 101 Les gestionnaires et les traducteurs observent les abstracteurs les connecteurs observent les traducteurs Les notifications comportent les r f rences aux modi fications figurant au niveau v nements ayant provoqu ces notifications Dans l implantation ces acteurs sont des classes d objets La hi rarchie de ces classes comporte au moins deux ni veaux les interfaces d acteurs et les acteurs voire des sp cialisations d acteurs voir la figure 5 3 page 104 Afin d activer le moteur avec cette implantation il suffit donc de cr er ces objets act
216. n et d adressage Le tableau 4 4 page 80 r capitule tous les noms des sommets du niveau Actions Une action peut avoir l un des types suivants CREER Cr er un contenu dans un contenant COPIER Copier un contenu depuis un contenant vers un autre TESTER Tester la pr sence d un contenu dans un contenant SUSPENDRE Suspendre le fonctionnement ou la modification d un contenu dans un contenant REPRENDRE Reprendre le fonctionnement ou la modification d un contenu dans un contenant ENLEVER Enlever un contenu d un contenant De m me qu au niveau Instances les sommets des abstractions du niveau Actions ont une caract ristique de technologie Relations d action Les abstractions Services et Programme introduisent deux nouveaux types de relations entre sommets la port e et la fourniture Les topologies de services et d un programme sont d termin es par les relations de port e et de fourniture entre leurs l ments et ceux des abstractions du niveau Instances Ces port es vont des syst mes d exploitation aux ordinateurs des services de m morisation aux m moires des services d ex cution aux processeurs des services d adressage aux connecteurs des t ches aux processus des requ tes de m morisation aux blobs des requ tes d ex cution aux activit s et des requ tes d adressage aux flux Ces fournitures vont des processus aux syst mes d exploitation et aux services de m morisation d ex cution
217. n 64 bits Ces stations ont chacune 4 Go de m moire vive et un disque dur IDE de 50 Go sur lequel se trouvent un r pertoire tmp de fichiers temporaires et un r pertoire usr 1ib de biblio th ques partag es Une biblioth que partag e librdma so de communication par interconnexion Infiniband est pr sente dans ce dernier r pertoire Ces stations sont localement exploit es par des syst mes GNU Linux syst mes acceptant par SSH la soumission distance de commandes 120 et par SCP le transfert de fichiers Ces stations sont interconnect es au sein d un premier sous r seau par un commutateur Ethernet Gigabit d une part et dans un second sous r seau par un commutateur Infiniband d autre part Les stations de la grappe partagent par NFS une m moire de masse de 500 Go atteignable par l utilisateur dans le r pertoire home user sur chacune d elles Cette m moire de masse est ainsi export e par la seule station reli e au r seau ext rieur la station passerelle En plus des r pertoires tmp et usr lib un r pertoire usr bin de fichiers ex cutables se trouve galement sur le disque dur de cette station Un fichier ex cutable tar de manipulation d archives est pr sent dans ce r pertoire L application consid r e est une application ma tre esclaves compil e avec la biblioth que partag e de communication par interconnexion Infiniband Compil e pour GNU Linux Intel 64 bits cette application comporte les deux fichiers suiv
218. n avec l environnement de d ploiement Afin d abstraire ces trois types de contraintes SAMURAAIE utilise la m taphore des contenants et des contenus dans laquelle l association de contenants et de contenus n est possible que dans des conditions particuli res Les contraintes de compatibilit de faisabilit et de consistance portent autant sur des l ments informatiques que sur leurs relations Pour la compatibilit entre des ressources et une application par exemple des ordinateurs parmi les ressources peuvent tre compatibles avec les processus de l application mais des ressources ne sont compatibles avec cette application que si le r seau de ces ordinateurs est compatible avec les communications inter processus de l application Afin d abstraire autant les l ments informatiques que leurs relations SAMURAATE utilise des graphes orient s dans lesquels des sommets peuvent tre connect s par des arcs l ments Les sommets des graphes orient s repr sentent les l ments informatiques Un sommet a un identifiant unique un tat de fonctionnement et une dur e de validit Un sommet est un sommet de contenant ou bien de contenu et simple ou bien d agr gation Par exemple une m moire est abstraite par un sommet de contenant un fichier par un sommet de contenu Un sommet d agr gation agr ge un ou plusieurs sommets simples ou bien d agr gation Par exemple un ordinateur agr geant une m moire un processeur e
219. n ordinateur d une application parall le est abstrait avec le mod le SAMU RAAIE Elle d taille ensuite acteur par acteur comment ce sc nario est automatis avec le mod le ODD Abstraction avec SAMURAAIE Ressources L ordinateur personnel de l utilisateur la station de travail laquelle il a acc s et leur interconnexion sont abstraits dans l abstraction Ressources L ordinateur personnel est un l ment Ordinateur agr geant deux l ments M moire dont une vive et une de masse un l ment Processeur et 2x2 4 l ments Connecteur 4x2 8 rela tions d acc s relient en lecture et en criture les l ments Processeur et M moire aux l ments Connecteur Tous les l ments ont l tat OK En l occurrence les valeurs de leurs caract ristiques sont indiff rentes au traitement du cas de d ploiement consid r Seuls les m dia des m moires la capacit de la m moire de masse et le chemin d acc s des connecteurs permettant au proces seur de lire et d crire dans cette m moire sont fix s respectivement RAM et HDD 10 Go et deux fois home user La station de travail est un l ment Ordinateur agr geant trois l ments M moire dont une vive et deux de masse huit l ments Processeur et 3 x 2 6 l ments Connecteur 8 x 6 6 54 relations d acc s relient en lecture et en criture les l ments Processeur et M moire aux l ments Connecteur De m me que ceux de l ordinateur personn
220. naire ODD Associateur modifie l abstraction SAMURAAIE de carte afin que le conte neur demand soit associ un ordinateur compatible le gestionnaire ODD Conseiller ajoute des requ tes l abstraction SAMURAAIE de programme afin que le conteneur soit ex cut Associateur modifie l abstraction SAMURAAIE de d ploiement afin que les requ tes demand es soient associ es des services SAMURAAIE le traducteur de pro gramme construit puis transmet la commande au connecteur ODD de services le gestion naire ODD Ex cuteur ex cute le d ploiement et le traducteur de d ploiement transmet cette ex cution au connecteur de services 8 Pendant qu ANGE r agit sa demande le connecteur de conteneurs scrute l enregistre ment du conteneur demand dans le service de d signation d objets CORBA et lorsqu il le trouve il le retourne au superviseur 9 Une fois le conteneur obtenu le superviseur y charge le composant et termine l ex cution du sch ma l addition est alors effectu e 7 3 5 Discussion Pour l tape de r alisation d un sch ma de calcul si ce sch ma est simple il ne requiert pas moins le d ploiement dynamique d un conteneur de composants SALOME sur un ordinateur distant Or pour l implantation de l int gration de SALOME et d ODD SAMURAAIE comme pour la plate forme SALOME elle m me la difficult est de d ployer un conteneur En effet du point de vue du connecteur de conteneurs de composants comme de celui du gest
221. ncerne les technologies de virtualisation des ressources l architecture ODD SAMURAAIE pourrait directement les supporter de deux mani res Si la virtualisation ne change pas le fonctionnement des ressources du point de vue de l utilisateur alors le support 160 de ces technologies serait similaire celui de n importe quelle autre technologie de ressources voire celui d une technologie de ressources d j support e Sinon les utilisateurs peuvent in teragir avec les m canismes de virtualisation par exemple en devant choisir voire cr er leurs ressources virtuelles ou en sachant migrer celles ci alors elles seraient consid r es par l archi tecture ODD SAMURAAIE comme faisant partie de l application seules les ressources r elles sur lesquelles elles s ex cutent feraient partie des ressources Une autre option pourrait tre de consid rer non plus une seule fronti re application ressources mais plusieurs impliquant plu sieurs niveaux de d ploiement L hybridation des architectures mat rielles et celle des mod les d applications sont d j sup port es dans l architecture ODD SAMURAAIE En effet le niveau de pr cision du mod le d abstraction SAMURAAIE permet par exemple de d crire les processeurs graphiques d un or dinateur ainsi que l utilisation de ces processeurs par une application Puisque les services offerts par les syst mes d exploitation pour ce type de ressources ne sont pas particuliers ces ressources seront utili
222. nche d autres infrastructures utilisent des micro noyaux plus difficiles utiliser mais optimis s On constate galement que malgr des volutions permanentes des technologies de ressources et d applications les syst mes d exploitation ou du moins leurs interfaces sont relativement stables Par exemple bien que son code source volue quotidiennement le syst me d exploitation GNU Linux reste clairement membre de la famille Unix et comme tel implante l interface de programmation POSIX qui volue peu En les implantant afin d exploiter des grappes ou des grilles d ordinateurs les syst mes image unique renforcent ce ph nom ne de stabilit des interfaces La taille des ressources et des applications leur conf re des propri t s de parall lisme d h t rog n it et de dynamicit qu elles n avaient pas quand ont t d finies les interfaces des syst mes d exploitation qui les exploitent et les ex cutent Il en r sulte la multiplication des technologies d applications sous la forme d intergiciels middleware ou de cadriciels frame works 2 4 Discussion Par rapport celle de Flynn la classification pr sent e ci dessus propose quatre volutions La premi re est de d tailler la transmission entre l op ration et l information La deuxi me est de distinguer l homog n it et l h t rog n it des ensembles d l ments La troisi me est de consid rer les ventuelles variations temporelles des cardinali
223. nes physiques Dans le cadriciel de d ploiement Frac tal tout l ment impliqu dans le d ploiement logiciel ou mat riel correspond un com posant Fractal Pendant qu elle les interpr te cette machine valide les descriptions en d duit deux couches de composants Fractal et connecte ces composants La validation est possible gr ce au meta mod le et consiste par exemple v rifier que les d pendances logicielles sont respect es ou assurer qu chaque proc dure de d ploiement correspond une proc dure de repliement Dans la premi re couche de composants chaque instance de personnalit correspond un composant composite dont les composants sont les deux suivants un de base appel propri t s pour les param tres de configuration et l autre composite appel d pendances dont les composants sont les instances de personnalit s en d pendance dans la seconde couche les proc dures sont d autres composants composites dont les composants de base sont des instructions pour les technologies de machines La machine virtuelle connecte les composants d une m me couche selon sa hi rarchie et les composants des instances de personnalit s avec les proc dures selon les ordinateurs allou s Le d ploiement d un composant tant support le d ploiement de ses d pendances l est galement par r cursivit DeployWare eXplorer L explorateur d ploiciel est une interface graphique de gestion de l ap plication d ploy e su
224. nisme fournit le principe de conception des flux de donn es et peut permettre d autres formes de couplages de services que la transmission de donn es Le mod le de composants dynamiques DSC compl te le mod le d objets SALOME En effet un composant dynamique DSC peut respecter les conventions du mod le d objets SALOME Ce mod le permet donc au d veloppeur int grant son programme de simulation num rique dans SALOME de choisir entre les deux s mantiques de transmission de donn es flot ou flux selon les besoins du programme consid r 134 Sch mas de calcul Le module de supervision de couplage propose un mod le dans lequel un utilisateur peut d finir des n uds de calcul et en connecter les ports dans l espace ou dans le temps Il peut galement d finir des conteneurs et leur associer des n uds de calcul Ce mod le distingue deux cat gories de n uds trois cat gories de ports et quatre cat gories de connexions Les n uds de calcul peuvent tre l mentaires ou compos s 1 Les n uds l mentaires sont des abstractions de composants SALOME dont les ports sont d finis statiquement Dans les sch mas de calcul ces n uds peuvent tre associ s des conteneurs qui abstraient quant eux des conteneurs de composants SALOME Quand ils ne sont pas charg s au sein du superviseur les n uds sont effectivement ex cut s dans des conteneurs de composants SALOME locaux ou distants gr ce CORBA 2 Les n uds co
225. nnement par son interface Cette interface lui permet la fois de capter et de produire des changements dans son environnement Cette permanence peut tre d compos e telle un cycle comportant trois tapes Dans la premi re un v nement qui se produit dans l environnement en modifie la repr sentation c est dire l abstraction acquisition Dans la seconde tape la gestion r agit en modifiant l abstraction son tour modification Enfin cette derni re modi fication est r percut e dans l environnement sous la forme d une action restitution Ce cycle permanent rend le processus de d ploiement dynamique Les deux pr c dents chapitres ont classifi s les l ments informatiques La section suivante pr sente la nature et la structure de l abstraction appel es mod le d abstraction SAMURAAIE et la suivante celles des m canismes manipulant cette abstraction appel es mod le de d ploie ment sur demande ODD 4 3 Mod le SAMURAAIE d abstraction des syst mes informa tiques SAMURAATE est un mod le d abstraction des syst mes informatiques Il est un langage de repr sentation de syst mes informatiques ind pendant de tout langage de repr sentation qui serait li une technologie particuli re Ce langage permet de recueillir de l information par d finition intentionnelle et p rissable propos de syst mes informatiques quelconques et en vue de leur gestion En particulier il permet de repr
226. nnes I 2004 31 MATTSSON H NILSSON H et WIKSTR M C Mnesia A Distributed Robust DBMS for Telecommunications Applications dans In Practical Applications of Declara tive Languages Proceedings of the PADL 1999 Symposium G Gupta Ed Number 1551 in LNCS p 152 163 Springer 1999 32 PROTI J TOMASEvIG M et MILUTINOVI V Distributed Shared Memory Concepts and Systems IEEE ao t 1997 33 JAN M JuxMem un service de partage transparent de donn es pour grilles de calculs fond sur une approche pair pair Th se de doctorat Universit de Rennes I IRISA Rennes 2006 34 PENNINGTON H CARLSSON A et LARSSON A D Bus Specification version 0 12 35 BRUNET E NewMadeleine ordonnancement et optimisation de sch mas de commu nication haute performance Technique et Science Informatiques vol 27 n 3 4 2008 2008 p 293 316 36 MAINWARING A et CULLER D Active Message Applications Programming Interface and Coummunication Subsystem Organization University of California at Berkeley sep tembre 1996 164 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 HEWITT C BISHOP P et STEIGER R Universal Modular ACTOR Formalism for Artificial Intelligence dans 1JCAI 73 Proceedings of the 8rd International Joint Conference on Artificial Intelligence San Francisco CA
227. nsi que le sugg re la d fi nition ci dessus les ordinateurs m morisent les programmes comme des donn es ce qui facilite beaucoup leur exploitation Cette volution est appel e architecture d ordinateur programme m moris ou architecture de Von Neumann du nom de son inventeur En 1966 Flynn a propos une taxonomie des architectures d ordinateurs 2 voir le tableau 2 1 page 22 Cette taxonomie a deux dimensions instructions I d une part et flux de donn es D d autre part Chaque dimension n a que deux valeurs possibles simple S ou bien multiple M c est dire respectivement non concurrence ou bien concurrence Par combinaison cette taxonomie comporte donc quatre classes d architectures dont le tableau 2 2 page 22 donne des exemples La classe la plus r pandue aujourd hui est l architecture multi instruction multi flux de donn es MIMD Ces architectures sont tellement r pandues qu une subdivision est fr quemment utilis e Parmi elles on peut effectivement distinguer celles qui ex cutent un seul programme P ou bien plusieurs programmes la fois architectures SPMD ou bien MPMD 2 2 1 Structure g n rale de l informatique Le premier principe de la classification que propose ce chapitre est de g n raliser l infor matique la structure d un ordinateur d finie ci dessus en s parant ordinateur et programme d une part et m moires et donn es processeurs et traitements
228. nt nouveau avec le serveur afin de renvoyer les donn es trait es Les clients n intercommuniquent pas Une application param trique peut tre la fois parall le h t rog ne et dynamique En effet si un client est ex cut plusieurs fois simultan ment alors l application est parall le Si plusieurs clients sont ex cut s sur des processeurs h t rog nes tels qu un processeur g n ral et un processeur graphique alors l application est h t rog ne Enfin si le nombre de clients ex cu t s simultan ment varie pendant la dur e de l ex cution de l application alors cette application est galement dynamique La famille d applications home telles que SETI home 16 fond es sur l infrastructure ouverte de Berkeley pour l informatique en r seau Berkeley Open Infrastructure for Network Computing BOINC 17 sont des exemples d applications param triques Applications r parties Une application r partie comporte plusieurs programmes intercom muniquant et s ex cutant simultan ment sur plusieurs processeurs Les programmes se partagent les activit s de lecture des donn es d entr e de traitement de ces donn es et d criture des donn es de sortie On parle galement d applications multi programme multi flux de donn es Multiple Program Multiple Data MPMD Une application r partie peut tre la fois h t rog ne et dynamique En effet si plusieurs programmes sont ex cut s sur des proc
229. nt de ses conteneurs de composants sans modifier l utilisation de SALOME Les trois tapes suivantes ont permis d at teindre ce premier objectif 1 Int grer l approche de d ploiement de SALOME et l architecture de d ploiement dyna mique ODD SAMURAAIE 2 Implanter cette int gration en tendant ANGE pour la technologie SALOME d une part et en modifiant l implantation de SALOME afin qu elle utilise ANGE pour d ployer des conteneurs de composants d autre part 3 Valider cette int gration et son implantation en r alisant une simulation num rique SA LOME pour laquelle ANGE d ploierait effectivement des conteneurs de composants 7 3 2 Int gration de SALOME et d ODD SAMURAAIE Int grer l approche de d ploiement de SALOME et l architecture de d ploiement dynamique ODD SAMURAAIE a consist capter les donn es se rapportant au d ploiement dans SA LOME puis traduire ces donn es en abstractions SAMURAAIE La figure 7 6 page 146 illustre cette int gration Ces deux tapes la captation et la traduction reviennent concevoir des connecteurs et des traducteurs ODD pour la technologie SALOME 145 Acteur SALOME Catalogue de resources Catalogue de modules Superviseur ODD SAMURAAIE Connecteurs de ressources Connecteurs de conteneurs Connecteurs de services Traducteurs de ressources Traducteurs de services Traducteurs d application Traducteurs de carte Traducteurs de programme Traducteurs de d ploie
230. nt qui le lui avait demand Afin d arr ter les conteneurs de composants le gestionnaire appelle une fonction des objets CORBA de ceux qu il avait trouv s d marr s ou cr s Dans son interface d finie dans le fichier SALOME_ContainerManager id1 le gestionnaire de conteneurs de composants a en effet les cinq fonctions suivantes 142 FindOrStartContainer Les param tres de cette fonction sont des meta donn es d ordinateur params et une liste de noms d ordinateurs Cette fonction retourne l objet CORBA d un conteneur s quentiel FindOrStartParallelContainer Les param tres de cette fonction sont les m mes que ceux de la fonction pr c dente En revanche l objet CORBA que cette fonction retourne est celui d un conteneur parall le StartContainer Les param tres de cette fonction sont des meta donn es d ordinateur params le nom d une politique d allocation de ressources policy et une liste de noms de compo sants Cette fonction retourne l objet CORBA d un conteneur s quentiel ou bien parall le GiveContainer Les param tres de cette fonction sont les m mes que ceux de la fonction pr c dente Cette fonction retourne galement l objet CORBA d un conteneur s quentiel ou bien parall le ShutdownContainers Cette fonction n a pas de param tre et ne retourne rien Les gestionnaires de ressources et de conteneurs de composants se partagent la gestion du d ploiement Par sa biblioth que partag e le superv
231. nterne La d marche de r servation puis de d ploiement avec Adage est similaire 3 6 Discussion Les langages de description de ressources et d applications permettent fr quemment de d crire les capacit s et les besoins de celles ci en termes de calculs mais ne le permettent que rarement en termes de donn es et presque jamais en termes de communications Dans les ordon nanceurs fournis par les technologies d exploitation des ressources on ne peut g n ralement pas d crire le fait que plusieurs ordinateurs partagent un m me serveur de donn es De m me il est rarement possible d indiquer les d bits et les latences des communications entre les processeurs et les m moires vives et disques durs intra ordinateur d une part et entre les ordinateurs inter ordinateur d autre part Or pour des applications qui consomment ou produisent beaucoup de donn es ou pour des applications parall les dont les processus intercommuniquent beaucoup la prise en compte de cette information au moment de l allocation influence les performances de ces applications Certains langages de description permettent de d crire les volutions dans le temps d appli cations mais les ordonnanceurs fournis par les technologies d exploitation de ressources ne les supportent pas et ne permettent pas de faire voluer les allocations de ressources Ces ordonnan ceurs ne permettent g n ralement pas de r server des ordinateurs l avance Il est galement i
232. ois gr ce la seconde partie de cette architecture le mod le de d ploiement sur demande SAMURAAIE est extensible de plusieurs mani res La premi re est d enrichir ou de red finir la liste de valeurs d une caract ristique qui en accepte Par exemple ajouter amovible la liste de m dia des m moires et des donn es qu elles m morisent Une deuxi me mani re est d ajouter une caract ristique Par exemple ajouter la version la g olocalit la consommation nerg tique le niveau de disponibilit ou le niveau de s curit Une troisi me mani re est d ajouter un nouveau type de relation entre l ments La quatri me mani re est de red finir les types des caract ristiques ou des arcs Par exemple rendre param trables les valeurs des caract ristiques SAMURAATE est con u pour abstraire des environnements de d ploiement ordinaires dans le domaine de l informatique haute performance Cependant il permet d abstraire des machines virtuelles des processeurs graphiques ou des caches de donn es par exemple Il permet galement d abstraire des services de migration et la redondance de processus respectivement gr ce aux actions et aux relations de copie Par ailleurs SAMURAAIE pourrait abstraire des applications de visualisation en abstrayant l utilisateur comme un ordinateur l interface humain machine tant un ensemble de connecteurs et l information qu elle transmet un ensemble de flux La quantit d information
233. ole e Fx DSC CORBA e s Fl DSC PACO ec s C eFl sf e BLA FI e Fx s Fx SALOME PACO SALOME CORBA ec sc Controle FIGURE 7 2 Mod le de composants SALOME 133 le d marrage d une ex cution apr s la terminaison d une autre r sulte d une connexion du port de contr le d ex cution sortante d un service et du port de contr le d ex cution entrante d un autre service Parce que les contr les d ex cution ne font circuler aucune donn e ces ports et ces connexions sont abstraits La figure 7 2 page 133 illustre ce mod le de composants Le module noyau fournit l implantation du mod le de composants SALOME Utilisant les langages de programmation orient e objet C et Python ce mod le est implant en deux couches chacune d elle ayant deux alternatives La couche de bas niveau comporte des objets CORBA ou des objets PACO La seconde couche comporte des objets SALOME ou des com posants DSC Enfin parmi toutes leurs utilisations possibles et gr ce au module de supervision de couplage les composants SALOME peuvent tre int gr s au sein de sch mas de calcul Cette sous section pr sente les mod les d objets PACO d objets SALOME et de composants DSC ainsi que le mod le de sch mas de calcul Objets PaCO Le mod le d objets CORBA parall les Parallel CORBA Object PaCO 104 est un mod le d objets parall les fond sur une extension de CORBA 19 Cette extension permet d im planter un objet CORBA
234. omputer Organizations and Their Effectiveness IEEE Tran sactions on Computers vol C 21 septembre 1972 p 948 960 Top 500 Supercomputing sites http www top500 org DONGARRA J J MOLER C B BUNCH J R et STEWART G LINPACK Users Guide Society for Industrial and Applied Mathematics Philadelphia PA USA 1979 LUSZCZEK P DONGARRA J KOESTER D et al Introduction to the HPC Chal lenge Benchmark Suite dans Proceedings of SuperComputing 2005 mars 2005 BAILEY D BARSZCZ E BARTON J et al The NAS Parallele Benchmarks Rapport technique NASA mars 1994 FENG W C et SCOGLAND T The Green500 List Year One dans 5th IEEE Workshop on High Performance Power Aware Computing in conjunction with the 23rd International Parallel amp Distributed Processing Symposium Rome Italy mai 2009 MOORE G E Cramming More Components Onto Integrated Circuits Electronics vol 38 avril 1965 AMDAHL G Validity of the Single Processor Approach to Achieving Large Scale Computing Capabilities dans AFIPS Conference Proceedings p 483 485 1967 STERLING T SAVARESE D BECKER D J et al BEOWULF A Parallel Works tation for Scientific Computation dans Proceedings of the 24th International Conference on Parallel Processing Oconomowoc WI p 11 14 1995 FOSTER I et KESSELMAN C diteurs The Grid Blueprint for a New Computing Infrastruc
235. on ordinateur priori l application est compatible avec un des ordinateurs de calcul En revanche le nombre de codes param triques ex cuter pour l tude consid r e d passe les capacit s des ordinateurs c est dire que tous ces codes ne pourront pas tre ex cut s parall lement Processus de d ploiement Afin de d ployer son application param trique l utilisateur suit les trois tapes du proces sus de d ploiement que sont l allocation l installation et l ex cution Les d tails de ces tapes suivent Allocation Afin d allouer un ordinateur pour son application l utilisateur doit conna tre les besoins de son application et les capacit s des ordinateurs auxquels il a acc s Dans le meilleur des cas il dispose de cette information gr ce aux d veloppeurs de son application et aux ad ministrateurs des ordinateurs Dans le pire des cas il scrute son application et les ordinateurs eux m mes De toute mani re une fois l information obtenue il v rifie la compatibilit de son application et d un ordinateur il consid re un autre ordinateur tant que cette compatibilit est mauvaise N ayant consid r que les ordinateurs auxquelles il avait acc s une fois l ordina teur compatible s lectionn l utilisateur respecte les deux principes du d ploiement que sont la compatibilit et la faisabilit En l occurrence cet ordinateur serait le second Les processeurs sont programm s dans un langage de
236. on comporte quatre l ments un lanceur un code parall le une biblioth que partag e et un jeu de donn es traiter Le lanceur est un script shell qui lit un fichier de noms d ordinateurs puis construit et soumet distance les commandes pour le code parall le lui m me Ses principaux param tres sont le nombre de processeurs sur lesquels ex cuter le code parall le le chemin d acc s au code parall le et les param tres sp cifiques du code parall le Le code parall le lui m me est un programme binaire GNU Linux AMD 64 bits faisant appel la biblioth que partag e et dont les param tres sont le chemin d acc s au jeu de donn es traiter et le chemin d acc s au jeu de donn es trait es La biblioth que partag e elle m me est un fichier binaire GNU Linux AMD 64 bits implantant les fonctions de communication 50 inter processus et utilisant le pilote Infiniband Enfin le jeu de donn es traiter est un fichier de 10 Go Conditions initiales L ordinateur de l utilisateur est connect au sein du r seau local dans lequel se trouvent les ordinateurs passerelles des grappes d ordinateurs De m me que pr c dem ment les fichiers de l application parall le se trouvent dans un sous r pertoire etude_parallele du r pertoire personnel de l utilisateur sur son ordinateur A priori l application est compatible avec une des grappes d ordinateurs Processus de d ploiement Afin de d ployer son application para
237. onctionner s par ment les distinguent La seconde caract ristique est reli e cette ind pendance lectrique Les ressources d un ordinateur comportent effectivement une m moire acc s lent dite de masse dans laquelle m moriser des donn es entre des ex cutions de t ches mais cette m moire permet galement aux donn es de persister quand les ressources ne sont plus aliment es lectriquement c est dire quand l ordinateur est teint ou hors service 27 Le constructeur Hewlett Packard produit par exemple des ordinateurs personnels Personal Computers PCs de bureau XW6600 comportant des ressources telles que les suivantes Une m moire SDRAM acc s rapide dite vive de 8 Go et une m moire de masse de 300 Go sur deux disques durs Dix c urs de processeurs dont ceux de deux processeurs quadri c ur Intel Xeon 2 33 GHz g n raux celui d un processeur graphique NVIDIA Quadro et celui d un processeur Broadcom Gigabit Ethernet pour connecter l ordinateur en r seau Des connecteurs int gr s DDR pour les acc s des processeurs g n raux la m moire vive SATA pour la m moire de masse et PCI Express pour les processeurs sp cifiques Un ordinateur disposant de telles ressources n a cependant aucune chance de figurer parmi les 500 infrastructures informatiques les plus performantes du monde Les ressources des super ordinateurs RoadRunner et Blue Gene d International Business Machines IBM Ja
238. ordre chronologique sont d sactiv s les connecteurs les traducteurs les gestionnaires et les abstracteurs La figure 4 15 page 98 illustre ces deux s quences Si l implantation de ce mod le est abstraite avec SAMURAAIE alors ces tapes seraient elles m mes abstraites par des actions de cr ation et d arr t portant sur une instance de cette implantation 4 4 3 Discussion Le mod le ODD propose de r duire la complexit des pr occupations de l automatisation du d ploiement en s parant doublement celles ci en classes d acteurs Le premier axe de s paration distingue la logique de d ploiement repr sent e par les gestionnaires et les abstracteurs et les logiques des technologies impliqu es repr sent es par les traducteurs et les connecteurs Le second axe distingue la gestion repr sent e par les gestionnaires et les connecteurs et les donn es repr sent es par les abstracteurs et les traducteurs Le tableau 4 6 page 98 r capitule 98 cette double s paration La logique de d ploiement comporte deux parties Dans la premi re les gestionnaires Asso ciateur et Conseiller d cident conjointement de l ordonnancement c est dire autant l objectif atteindre au niveau Instances que la mani re de l atteindre au niveau Actions Cette vision de l ordonnancement contraste avec celle des syst mes d exploitation des gestionnaires de lots ou des moteurs d ex cution de flots de travail parce qu elle ne suppose pas que
239. original et des copies Services Programme et D ploiement Le deuxi me niveau d abstraction le niveau Actions comporte les abstractions Services Programme et leur ventuelle association D ploiement De m me qu au niveau Instances les sommets de ces abstractions sp cialisent les sommets de base et elles comportent de nouveaux types d arcs l ments d action Les types de sommets des abstractions Services et Programme figurent le d coupage en syst me d exploitation et leur utilisation introduit pour la classification pr sent e dans les deux chapitres pr c dents Les services comportent des syst mes d exploitation c est dire des services de m mori sation d ex cution et d adressage L abstraction Services comporte donc des sommets d agr gation Syst me et des sommets simples Service de m morisation d ex cution et d adressage 79 Abstraction Agr gat M morisation Ex cution Adressage Services Syst me Service Service Service Programme T che Requ te Requ te Requ te TABLE 4 4 Noms des sommets d action Abstraction Agr gat Simple Capteurs Zone Capteur Messages Modification Message TABLE 4 5 Noms des sommets d v nement Le programme comporte des t ches c est dire des requ tes de m morisation d ex cution et d adressage L abstraction Programme comporte donc des sommets d agr gation T che et des sommets simples Requ te de m morisation d ex cutio
240. orte o dans l ar borescence des syst mes d exploitation Ces gestionnaires sont mutuellement exclusifs en cela que si plusieurs d entre eux devaient coexister dans un m me syst me ils ne sauraient changer l information concernant les d pendances entre les paquets qu ils g reraient En tant que conditionnement les composants logiciels ont l avantage de ne n cessiter aucun privil ge particulier pour tre charg s param tr s connect s d connect s et d charg s selon leurs mod les De m me que pour les gestionnaires de paquets les implantations de mod les de composants ne sont pas interop rables Les implantations de composants de base peuvent elles m mes avoir des d pendances vers des codes externes d pendances que les descriptions de composants n explicitent pas Ex cuter une application peut n cessiter de soumettre des commandes en s quence ou en parall le tout en suivant de nombreux param tres Si les shells parall les peuvent remplacer les shells ordinaires peu de produits permettent d ex cuter des flots de commandes ainsi que le feraient les moteurs des technologies d applications en flots de travail Des travaux provenant de diff rents domaines ont int gr les deux derni res voire les trois tapes du d ploiement voir la table 3 2 page 67 Les produits issus de l administration de ressources sont g n ralement tr s intrusifs par rapport aux ressources elles m mes Bien qu ils requi rent que leur implan
241. outefois avoir plusieurs langages de description d application afin d allouer des ressources oblige de savoir les interpr ter tous Le langage de description g n rique d application Generic Application Description GADe 57 permet de d crire des applications parall les r parties et hybrides L objectif de GADe est de rendre possible l allocation de ressources pour des applications de ce type en offrant un langage de description pour les technologies d application qui n en ont pas et en rempla ant les langages sp cifiques de description des technologies d application qui en ont GADe permet ainsi de d crire la fois des applications parall les par passage de messages des applications base de composants et des applications base de composants parall les utilisant respectivement les technologies MPI 15 CCM 27 et GridCCM 30 En revanche GADe ne permet pas de d crire des applications dynamiques Les technologies d application en flot de travail fournissent des langages de description d ap plications qui voluent au cours du temps Standardis en mars 2007 par l organisation pour l avancement de standards d information structur e Organization for Advancement of Structu red Information Standards OASIS la version 2 0 du langage d ex cution de proc dure d en treprise Business Process Execution Language BPEL est un langage fond sur le format de document XML permettant de d crire des applications en flot de travail
242. ouvelle transaction et y accumule cette modification ces messages et ces relations Si le premier acteur annule sa modification de la premi re abstraction alors le premier abstracteur annule son tour sa modification de l abstraction de messages sinon lorsque le premier acteur a termin il consigne sa modification de la premi re abstraction et le premier abstracteur consigne son tour sa modification de l abstraction de messages L abstracteur de messages vide la transaction dans son abstraction et avertit le gestionnaire Associateur Le gestionnaire Associateur appelle l abstracteur de journal afin d ajouter les relations de liaison entre des capteurs et les messages et entre la zone et la modification auxquelles ces capteurs et messages appartiennent respectivement L abstracteur de journal cr e une nouvelle transaction et y accumule ces relations de liaison Lorsque le gestionnaire Associateur a associ tous les messages et la modification laquelle ces messages appartiennent il consigne sa modification de l abstraction de journal L abstracteur de journal vide la transaction dans son abstraction et avertit le gestionnaire Contr leur Le gestionnaire Contr leur conna t les messages et la modification laquelle ces messages appartiennent tous associ s d une part et les relations d agr gation de pr c dence et de port e de ces messages d autre part en suivant l
243. p plications qu ils d veloppent Dans le contexte de l informatique haute performance cependant les administrateurs s occupent des syst mes d exploitation et de la maintenance des ressources et les d veloppeurs n ont pas d acc s privil gi aux ressources Les applications sont donc g n ralement d ploy es par les utilisateurs eux m mes Ils peuvent traiter s par ment et int grer manuellement les tapes du d ploiement que sont l allocation l installation et l ex cution mais les propri t s des ressources et des applications que sont le parall lisme l h t rog n it et la dynamicit complexifient un tel processus L tape d allocation est particuli rement d licate afin de d ployer correctement une applica tion Quand les technologies d applications fournissent des ordonnanceurs ceux ci peuvent com penser les lacunes des ordonnanceurs fournis par les technologies d exploitation de ressources En revanche ils sont rarement suffisamment g n riques pour laisser aux utilisateurs la possibilit de les utiliser pour toutes leurs applications pour les applications h t rog nes en particulier De plus afin de faire leurs choix ces ordonnanceurs ne consid rent pas les besoins en donn es en calculs et en communications induits par l installation de l application sur les ressources Les mani res d installer une application sont nombreuses ce qui peut expliquer pourquoi ils n en consid rent aucune et supposent seule
244. p s sous ce terme les d veloppeurs d une application peuvent comporter des chercheurs des ing nieurs des analystes programmeurs des utilisateurs testeurs des diteurs etc Le d veloppement se d roule sur les ressources de ces d veloppeurs et comporte les cinq tapes suivantes Sp cification Sp cifier une application est la d crire selon des aspects fonctionnels et non fonctionnels c est dire la d crire d un point de vue externe Conception Concevoir une application est la d crire selon des aspects technologiques c est dire la d crire d un point de vue interne R alisation R aliser une application est mettre en uvre sa conception en respectant sa sp cification c est dire la programmer 43 Sp cification D veloppement sur ressources d s d veloppeurs D ploiement sur ressources des utilisateurs FIGURE 3 1 Cycle de vie d une application sur des ressources 44 Conditionnement Conditionner une application est la pr parer afin de l installer sur les res sources des utilisateurs c est dire utiliser un syst me d archivage de paquetage ou bien de composant logiciel Maintenance ou bien abandon Maintenir une application est l am liorer c est dire corri ger ses erreurs lui ajouter de nouvelles fonctionnalit s mieux la documenter etc L aban donner est le contraire de la maintenir Les tapes de conception de r alisation de conditionnement et de mainten
245. plantation du mod le ODD Architecture g n rale de la plate forme SALOM Mod le de composants SALOME Installation de la plate forme SALOME Ex cution de la plate forme SALOM Interactions internes de SALOME pour l ex cution de simulations num riques Int gration de SALOME et d ODD SAMURAAIE 85 102 103 104 132 133 137 140 141 10 Liste des tableaux 2 1 2 2 3 1 3 2 3 3 4 1 4 2 4 3 4 4 4 5 4 6 5 1 7 1 Taxonomie de Ely ol et Pte A e een Rs at 24 22 Exemples d architectures d ordinateurs class es selon la taxonomie de Flynn 22 Probl mes du d ploiement en informatique haute performance A7 tapes du d ploiement support es par les produits existants 67 Propri t s support es par les produits existants supportant toutes les tapes du d ploiement Dolina ser awe Se Steer ae ee a en Gk V Des gh Ee 67 Symboles des l ments et des relations SAMURAAIE 78 Noms des abstractions 78 Noms des sommets d instance 78 Noms des sommets d action 80 Noms des sommets d v nement 80 Double s paration des pr occupations en classes d acteurs ODD 98 R partition du code source
246. plication en flot de travail est appel afin d abstraire l application de l utilisateur Traducteur d application pour l intergiciel de grille Le traducteur d application pour l intergiciel de grille traduit une partie des abstractions en information technologique afin que des ressources puissent tre r serv es avec cet intergiciel Ce traducteur est appel afin de d terminer le nombre et le type de processeurs ainsi qu une estimation du temps total de r servation Ce traducteur est appel autant de fois que des processus sont en attente Traducteur de la s quence de commandes de compilation Le traducteur de la s quence de commandes de compilation traduit une partie des abstractions en information techno logique afin que les actions sp cifiques la compilation puissent tre effectu es Ce traducteur est appel afin de traduire les requ tes de d marrage des activit s des processus d installation de l application en des listes d arguments correspondants aux param tres des lignes de commande Ce traducteur est appel deux fois Traducteur de commandes d applications en flot de travail Le traducteur de com mandes d applications en flot de travail traduit une partie des abstractions en information tech nologique afin que les actions sp cifiques la technologie d applications en flot de travail puissent tre effectu es Ce traducteur est appel afin de traduire les requ tes de d marrage des activi t s des processus de l
247. plications peuvent tre incompl tes voire inexistantes et les algorithmes utilis s dans ces travaux sont na fs Une perspective pour l architecture ODD SAMURAAIE serait donc d avoir une d marche d acquisition de repr sen tations plus proactive d une part et d int grer des dispositifs d ordonnancement plus efficaces d autre part Pour l acquisition d information de nombreux travaux existent dans les domaines des in frastructures et des applications L architecture ODD SAMURAAIE pourrait par exemple tre coupl e avec les travaux en mati re de suivi et de d couverte de ressources des outils de profilage d applications des environnements d ex cution de langages de programmation r partie et des cadriciels d applications base de composants et d applications adaptables Pour l ordonnancement de nombreux travaux existent galement dans les domaines de l intel ligence artificielle et de la recherche op rationnelle Le m canisme de prise de d cision repr sent par les gestionnaires ODD pourrait par exemple tre fourni par des algorithmes avec heuris tiques par des meta heuristiques par des solveurs de probl mes de satisfaction de contraintes ou par des syst mes experts capables d apprentissage Ce m canisme de prise de d cision pourrait galement compenser les ventuels d fauts de fiabilit des syst mes informatiques eux m mes en valuant les risques de pannes et en mettant en place une strat gie de tol rance aux d
248. ploy version 2 juillet 2004 LANGE T Manuel d utilisation de FAI Fully Automatic Installation version 2 4 3 pour FAT 2 6 ao t 2004 Traduit par D Leprince OSGi Alliance OSGi Alliance Specifications verion 4 2 2009 septembre CLAUDEL B HUARD G et RICHARD O TakTuk Adaptive Deployment of Remote Executions dans Proceedings of the 18th ACM International Symposium on High Per formance Distributed Computing HPDC 09 Garching Germany p 91 100 New York NY USA 2009 ACM 166 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 AIFTIMIEI C ANDREETTO P BERTOCCO S et al Design and Implementation of the gLite CREAM Job Management Service Rapport technique INFN mai 2009 DES LIGNERIS B SCOTT S NAUGHTON T et GORSUCH N Open Source Cluster Application Resources OSCAR Design Implementation and Interest for the Computer Scientific Community 2003 SACERDOTI F D CHANDRA S et BHATIA K Grid Systems Deployment amp Ma nagement Using ROCKS dans Proceedings of IEEE International Conference on Cluster Computing p 337 345 2004 BURGESS M et RALSTON R Distributed Resource Administration Using Cfengine Softw Pract Exper vol 27 n 9 1997 p 1083 1101 Lascu O BRINDEYEV A QUINTERO D E et al CAT 2 Guide for the CSM System Administrator IBM novem
249. pos en plusieurs services fond s sur le protocole de transfert de fichiers de grille Grid File Transfer Protocol GridF TP l acc s global la m morisation secondaire Global Access to Secondary Storage GASS le transfert fiable de fichiers Reliable File Transfer RFT et le service de localisation de r pliques Replica Location Service RLS 38 M morisation ex cution et adressage M morisation Lors de la pr paration de l ex cution d applications voire tout au long de celle ci les processeurs copient en m moire vive les programmes et les donn es traiter partir des m moires de masse dans lesquelles ils sont m moris s R ciproquement ces processeurs peuvent galement copier les donn es de la m moire vive vers les m moires de masse particuli rement la fin de l ex cution d applications L acc s ces donn es et leur m morisation sont organis s par un l ment logiciel du syst me d exploitation le service de m morisation Ce service comporte la fois les outils permettant de copier d placer supprimer etc les donn es les m canismes de gestion des permissions et des quotas et les syst mes de gestion de fichiers En m moire de masse les donn es sont inscrites dans des fichiers organis s en arborescence Un r pertoire de fichiers peut effectivement contenir des fichiers d autres r pertoires de fichiers ou les deux Chaque l ment de l arborescence a un nom un chemin absolu dans l a
250. pplications Ce mod le de description appel GADe permet de d crire aussi bien des applications r parties que des parall les voire des hybrides Pour la description des ressources Adage utilise un format XML inspir du format produit par le MDS Globus enrichi de l information sur leur topologie Pendant la r alisation du plan les op rations de transfert de fichiers et de soumission de commandes sont des scripts transf r s sur les ressources appel s satellites prenant l information du plan en param tre Ces satellites permettent Adage de supporter plusieurs technologies d applications sur plusieurs technologies de ressources Voici un exemple de d ploiement automatis avec Adage L application est base de com posants CCM utilisant l implantation MicoCCM et les ressources sont celles de la plate forme exp rimentale de grille Grid 5000 93 Analyse des besoins en ressources de l application L utilisateur dispose d une version ex cutable de son application CCM Via les fichiers CAD et CSD pr sents dans le condi tionnement de l application et via une fonction de conversion pour CCM Adage produit une description GADe de l application Analyse des capacit s des ressources L utilisateur dispose d un acc s aux ressources Grid 5000 via les gestionnaire OAR 94 Il interroge le service d information d OAR afin de produire un fichier de description des ressources En lisant ce fichier Adage sait analyser les capacit s des
251. processeurs sur lequel il veut ex cuter son application un nombre inf rieur au nombre total de processeurs dans la grappe Il doit enfin d couvrir le chemin d acc s au sous r pertoire de son application dans son r pertoire personnel sur l ordinateur passerelle et supposer que ce chemin sera identique sur tous les ordinateurs de la grappe Il aura ainsi construit compl tement la commande pour le lanceur de son application Ex cution De m me que pour son application param trique afin d ex cuter son application parall le l utilisateur doit soumettre distance la commande du lanceur puis transf rer le jeu de donn es trait es vers son r pertoire personnel sur son ordinateur Bien que l tape d ex cution soit presque aussi simple que pour une application param trique sur un ordinateur distant les utilisateurs finaux peuvent rencontrer de s rieuses difficult s pour r aliser les tapes d allocation et d installation de leurs applications parall les De surcro t dans le cas o les chemins d acc s aux r pertoires personnels partag s par les ordinateurs seraient diff rents alors le lanceur ne fonctionnerait pas et l utilisateur devrait le remplacer Cependant si ce cas de d ploiement est plus complexe que le pr c dent le suivant l est davantage 3 3 3 Application en flot de travail sur grille d ordinateurs Le troisi me et dernier exemple est le processus de d ploiement d une application en flot de travail sur une grille
252. pte de l information sp cifique une grappe telle que le nombre d ordinateurs et le partage de r pertoires Le traducteur de grappe d ordinateurs est appel une fois Il s agit d abstraire la grappe de stations de travail laquelle l utilisateur a acc s Traducteur d application param trique Le traducteur d application param trique tra duit l information technologique propos d une application param trique en l ments et relations entre l ments pour l abstraction Application Cette information fournie en param tre par un connecteur comporte en particulier n le nombre de processus esclaves et les chemins d acc s et la taille des fichiers ex cutables et de r sultats Le traducteur d application param trique est appel afin d abstraire l application de l utilisateur Traducteur d application pour TORQUE Le traducteur d application pour TOR QUE le gestionnaire de traitement par lot traduit une partie des abstractions en information technologique afin que des ressources puissent tre r serv es avec TORQUE Ce traducteur est appel par un connecteur afin de d terminer le nombre et le type de processeurs ainsi qu une es timation du temps total de r servation Ce traducteur est appel autant de fois que des processus sont en attente de ressources Traducteur de commande tar Le traducteur de commande tar l outil de manipula tion d archives traduit une partie des abstractions en information technologique afin que les a
253. r s de la plate forme elle m me les ordinateurs auxquels il a acc s et sur lesquels il a install des modules puis construit des applications SALOME Les ordinateurs les modules et les applications constituent les ressources SALOME qu il doit d clarer Ressources Les ressources SALOME sont les ordinateurs auxquels l utilisateur a acc s et sur lesquels celui ci a install la plate forme c est dire des applications SALOME Autrement dit sans cette plate forme install e sur lui un ordinateur n est pas une ressource SALOME Ces ressources sont soit seulement l ordinateur local de l utilisateur soit des ordinateurs en r seau dont fait partie cet ordinateur local En effet l ordinateur sur lequel l utilisateur d marre SALOME est automatiquement une ressource ressource locale mais SALOME ne peut utiliser d autres ordinateurs que si l utilisateur les lui d clare L utilisateur d clare les ressources SALOME dans un catalogue Le catalogue de ressources est un fichier au format XML Afin de construire ce catalogue l utilisateur utilise un diteur Ce catalogue ne change pas pendant les ex cutions de la plate forme et est personnel l utilisateur Les meta donn es figurant dans le catalogue de ressources SALOME comportent les caract ristiques mat rielles des ordinateurs et les caract ristiques de leur syst me d exploitation telles que la capacit de leur m moire vive le nom de leur syst me d exploitation et le nom
254. r les ressources Cette interface permet aux administrateurs de par courir les d pendances entre logiciels et d ex cuter leurs proc dures de d ploiement ou de repliement 3 5 3 Outils de d ploiement GoDIET GoDIET 90 est un outil permettant d installer et d ex cuter la plate forme applicative DIET sur des ressources Pour ce faire ses param tres sont une description des ressources sous forme d un document XML et les param tres de la plate forme elle m me c est dire les param tres de 63 la hi rarchie des agents DIET S appuyant sur SCP et SSH GoDIET transf re les fichiers de la plate forme sur les ressources puis ex cute les diff rents agents Afin d optimiser les param tres de la plate forme un planificateur sp cifique appel ADePT Automatic Deployment Planning Tool 91 a galement t d velopp Adage Adage est un outil de d ploiement automatique 92 mis au point au sein de l quipe projet INRIA PARIS PIRISA de Rennes Il analyse via leurs descriptions les besoins en ressources d une application et les capacit s des ressources puis planifie et enfin r alise l installation et l ex cution de l application sur les ressources Pendant la planification de l installation et de l ex cution Adage convertit une description de l application sp cifique la technologie qu elle utilise en une description g n rique ce qui permet de s parer les implantations des planificateurs et les technologies d a
255. ractions des niveaux Instances et Actions Parmi tous les acteurs ODD ils ne collaborent qu avec les traducteurs 4 4 2 Interactions Parce qu ils sont concurrents la mani re du mod le d acteurs 37 les acteurs ODD inter agissent en communiquant par passage de messages Cependant ces messages d interaction ne doivent pas tre confondus avec les messages que permet d abstraire le mod le SAMURAAIE Afin d affirmer la s paration de leurs pr occupations aucun acteur ne communique avec des acteurs des quatre classes la fois Les gestionnaires communiquent avec les abstracteurs les abstracteurs avec les gestionnaires et les traducteurs les traducteurs avec les abstracteurs et les connecteurs et les connecteurs avec les traducteurs et l environnement Cette sous section pr sente les interactions des classes d acteurs des acteurs et d acteurs pour la modification d une abstraction Elle pr sent galement les s quences de d marrage et d arr t du mod le ODD 94 Classes d acteurs En fonctionnement ordinaire les interactions d acteurs peuvent tre r parties entre les trois tapes Acquisition Modification et Restitution du principe de permanence du mod le ODD pr sent plus haut voir la figure 4 1 page 74 Il est important de bien percevoir la concur rence possible entre ces interactions Par exemple des interactions d acquisition et de restitution peuvent avoir lieu simultan ment Ces interactions de classe
256. rait es depuis son r pertoire personnel sur l ordinateur passerelle de la seconde grappe vers son r pertoire personnel de son ordinateur 3 3 4 Discussion Dans le cas du d ploiement d une application param trique sur un ordinateur on imagine facilement l int r t pour l utilisateur qu aurait un lanceur plus d velopp Pour l tape d ex cu tion par exemple au lieu de construire et de soumettre localement les commandes pour les codes param triques ce qui oblige l utilisateur utiliser le protocole SSH un tel lanceur pourrait ac cepter les param tres pour SSH et utiliser lui m me ce protocole d action distance De m me un tel lanceur pourrait prendre en charge l installation de l application par SCP sur l ordinateur allou voire l allocation de l ordinateur Non seulement un tel lanceur faciliterait la t che de l utilisateur mais des optimisations de l tape d ex cution deviendraient alors possibles Par exemple au lieu de soumettre tous les codes param triques simultan ment connaissant le nombre total de c urs disponibles sur l ordinateur allou justement suite son allocation un tel lanceur pourrait ne soumettre qu un nombre suffisant de codes param triques pour utiliser tous les c urs puis en soumettre de nouveaux quand les anciens auraient termin De m me dans le cas du d ploiement d une application parall le sur une grappe d ordi nateurs on imagine facilement l int r t pour l utilisateur qu aura
257. rborescence et des attributs tels que l identifiant de l utilisateur propri taire des donn es les permissions accord es pour l acc s ces donn es et les dates de cr ation et des derniers acc s ces donn es Cette arborescence constitue l espace de d signation de fichiers du syst me d exploitation Dans la famille de syst mes Unix cette arborescence a d ailleurs t standardis e Filesystem Hierarchy Standard FHS 48 En tant que sous syst mes d exploitation les services de m morisation ont une architecture Un service de stockage peut ne pas modifier directement des fichiers mais plut t m moriser les modifications demand es dans un fichier sp cial appel journal avant de les effectuer On parle alors de service de m morisation journalis e Un service de stockage peut g rer plusieurs m moires de masse et peut galement tre utilis par plusieurs syst mes d exploitation Dans le premier cas il s agit d augmenter la taille disponible en ajoutant les tailles de chacune d aug menter le d bit en ajoutant les d bits de chacune ou les deux On parle alors respectivement de service de m morisation r partie parall le ou les deux Dans le second cas il s agit de disposer d un espace de d signation unique et on parle alors de service de m morisation partag e Parmi les services de m morisation figurent par exemple le syst me de fichiers virtuel Virtual File System VFS et le syst me de fichiers journalis
258. recevoir des donn es pr trait es et les envoyer un composant d Le composant d sait crire un jeu de donn es trait es La description du flot de travail est un fichier au format XML d crivant l assemblage en losange des composants a b c et d d une part et param trant les composants moteur de flot de travail a et d respectivement avec les chemins d acc s la description du flot de travail et aux jeux de donn es traiter et trait es d autre part Enfin le jeu de donn es traiter est un fichier de 5 Go Conditions initiales De m me que pr c demment l ordinateur de l utilisateur est connect au sein du r seau local dans lequel se trouvent les ordinateurs passerelles des grappes d ordina teurs de la grille Les fichiers de l application en flot de travail se trouvent dans un sous r pertoire etude_flot du r pertoire personnel de l utilisateur sur son ordinateur Les composants sont dans des archives au format Zip priori l application est compatible avec une des grappes d ordinateurs de la grille Processus de d ploiement Afin de d ployer son application en flot de travail l utilisateur suit les trois tapes du proces sus de d ploiement que sont l allocation l installation et l ex cution Les d tails de ces tapes suivent Allocation De m me que pr c demment afin d allouer des ordinateurs pour son application l utilisateur doit analyser les besoins en ressources de son appl
259. ressources Allocation de ressources pour l application Adage tablit l association entre les l ments de l application et des ressources en fonction des capacit s des ressources r pondre aux besoins de l application Installation de l application sur les ressources Via des satellites pour CCM Adage ins talle l application sur les ressources En fonction de l allocation il produit les fichiers et variables de configuration de ces satellites puis transfert les fichiers ex cutables fichiers de configuration et donn es de l application en utilisant les services de m morisation des ressources tels que SCP Ex cution de l application sur les ressources Via les m mes satellites Adage active l ap plication sur les ressources En fonction de l allocation il d marre le service de d signation CORBA d marre les conteneurs de composants charge les composants dans les conte neurs instancie configure et connecte les composants CORDAGE CORDAGE Co deployment and Re deployment tool based on Adage 95 permet de g rer plusieurs instances d Adage afin de co d ployer et re d ployer des applications Le noyau de 64 CORDAGE maintient une description interne des applications et des ressources Il peut tre t l command par un humain ou par une application gr ce des appels de proc dures dis tance Remote procedure Call RPC Il comporte notamment une fonction de traduction de descriptions externes vers les descript
260. ressources et des catalogues de modules le gestionnaire construit puis soumet localement une commande Cette commande comporte les l ments suivants Le nom de l implantation du client local du protocole de soumission distance de com mandes de l ordinateur L identifiant de l utilisateur pour le protocole de soumission distance de commandes de l ordinateur Le nom de l ordinateur La commande de positionnement afin que le r pertoire d installation de l application ins tall e sur l ordinateur devienne le r pertoire courant La commande d ex cution distance de l implantation du conteneur La commande d ex cution distance de l implantation du conteneur appelle un script runRemote sh que fournit l application install e sur l ordinateur Les principaux param tres de ce script sont l information n cessaire pour communiquer avec le service de d signation d ob jets CORBA et le nom de l objet CORBA sous lequel s enregistrera le conteneur une fois son implantation ex cut e Une fois la commande compl te soumise le gestionnaire de conteneurs de composants attend la cr ation du conteneur avant de le retourner l l ment qui le lui avait demand Pour ce faire il scrute l enregistrement du nom de ce conteneur dans le service de d signation d objets CORBA Puis d s qu il d tecte cet enregistrement il r cup re l objet CORBA correspondant et le retourne l l me
261. rique SALOME afin de supporter l allocation optimis e de ressources l installation la vol e et l ex cution anticip e de conteneurs de composants Ces volutions devront tre implant es dans la plate forme SALOME afin d aller plus loin dans la validation du moteur de d ploiement ANGE Le transfert en production des travaux pr sent s dans ce document comporterait au moins trois tapes La premi re serait de choisir un langage de programmation statique avec lequel porter la concurrence du mod le d automatisation de d ploiement ODD dans une nouvelle im plantation d ANGE L tape suivante serait d optimiser les m canismes de m morisation et de manipulation des abstractions Enfin la derni re tape serait d ajouter cette implantation le support de technologies de ressources d applications et de syst mes d exploitation mais gale ment d interfaces utilisateurs textuelles et graphiques n cessaires en production 8 2 2 Evolutions de l architecture ODD SAMURAAIE Dans le contexte actuel la communaut de l informatique haute performance s int resse aux technologies de virtualisation des ressources d hybridation des architectures mat rielles d hybridation des mod les d applications ainsi qu l informatique sur demande ou informatique dans les nuages Les travaux pr sent s dans ce document n ont rien labor pour ces sujets et des volutions sont donc d j attendues pour l architecture ODD SAMURAAIE En ce qui co
262. rmation Op ration Transmission Ressources Ordinateur M moire Processeur Connecteur Application Processus Blob Activit Flux TABLE 4 3 Noms des sommets d instance 78 L application comporte d ventuels fichiers de donn es des fichiers ex cutables et des processus c est dire des blobs des activit s et des flux L abstraction Application comporte donc des sommets d agr gation Processus et des sommets simples Blob Activit et Flux Le tableau 4 3 page 78 r capitule tous les noms des sommets du niveau Instances Les topologies des ressources et de l application sont abstraites par des arcs dont les types sont pr sent s ci dessous Les caract ristiques des sommets sont les suivantes Agr gat Les sommets d agr gation de contenant et de contenu respectivement appel s Ordi nateur et Processus ont des caract ristiques Les sommets Ordinateur ont un nom les sommets Processus ont un identifiant et une ligne de commande Information Les sommets de contenant et de contenu d information respectivement appel s M moire et Blob ont des caract ristiques de capacit ou taille en octet et de m dium offert ou demand Op ration Les sommets de contenant et de contenu d op ration respectivement appel s Pro cesseur et Activit ont des caract ristiques de fr quence offerte ou demand e en Hertz de jeu d instructions offert ou demand et de capacit ou taille d adressage en bits En l occurrence un proces
263. rtoire d criture temporaire sur l ordinateur allou peuvent tre diff rents de ceux sur son ordinateur Ex cution Afin d ex cuter son application l utilisateur doit d abord soumettre distance la commande pour le lanceur de son application Pour ce faire il doit construire la commande comportant les chemins d acc s correspondant l installation sur l ordinateur allou puis utiliser le protocole de soumission distance de commandes sur cet ordinateur SSH Ensuite l utilisateur doit scruter la fin de l ex cution de son application et transf rer le fichier de donn es trait es depuis l ordinateur allou vers son ordinateur nouveau gr ce SCP Dans ce cas bien que cela soit particuli rement fastidieux respecter les principes de com patibilit et de faisabilit afin de d ployer est la port e de nombreux utilisateurs finaux En revanche le cas suivant est plus complexe pour eux 3 3 2 Application parall le sur grappe d ordinateurs Le deuxi me exemple est le processus de d ploiement d une application parall le sur une grappe d ordinateurs distants Cas de d ploiement Un utilisateur veut d ployer son application parall le et il a acc s deux grappes d ordina teurs distants Les d tails de la situation dans laquelle il se trouve suivent Grappes d ordinateurs Les ordinateurs auxquels l utilisateur a acc s sont deux grappes de stations de travail multi processeur La premi re grappe comporte neuf ord
264. s Les syst mes d exploitation et les applications sont des l ments logiciels s par s Cette s paration reproduit celle des responsabilit s des administrateurs et des utilisateurs Les adminis trateurs sont responsables des ressources et les mettent disposition d utilisateurs en ex cutant sur elles des syst mes d exploitation Les utilisateurs doivent utiliser ces syst mes afin d ex cuter leurs applications sur les ressources Les syst mes d exploitation manipulent les trois concepts suivants des ressources des ap plications et des utilisateurs Afin d exploiter les ressources ils peuvent int grer des l ments logiciels sp cialis s appel s pilotes souvent fournis avec les ressources par leurs constructeurs Ils offrent des interfaces de programmation d application Application Programming Interface APT utilisant ces ressources interfaces qui peuvent tre sp cialis es ou standardis es L interface de syst me d exploitation portable pour Unix Portable Operating System for unIX POSIX et PAPI simple pour des applications de grille Simple API for Grid Applications SAGA 39 sont des exemples d interfaces standardis es Les interfaces de programmation d applications des syst mes d exploitation sont galement offertes par des l ments logiciels interpr tant des commandes ces l ments tant appel s shells Un utilisateur peut soumettre ces commandes de mani re interactive ou bien il peut les inscrire dan
265. s Adage ne supporte pas directement les applications utilisant simultan ment plusieurs technolo gies Adage ne tient pas compte des applications install es sur les ressources qu il s agisse de d pendances ou de l application d ployer Enfin contrairement aux ordonnanceurs de lots Adage ne suppose videmment pas que l application soit d j install e Toutefois lors de la pla nification de l installation et de l ex cution d une application Adage ne prend pas en compte les besoins induits par son propre d ploiement CORDAGE utilise Adage et h rite donc de la restriction de celui ci aux ressources et ap plications statiques Il compense toutefois cette restriction en utilisant simultan ment plusieurs instances d Adage Pour ce faire CORDAGE maintient une seconde description de l application et des ressources plus simple en termes d information permettant de valider la compatibilit mais qui permet de tenter de co allouer des ordinateurs sur plusieurs grappes Les entit s de cette seconde description sont d connect es ce qui r duit les interactions des instances d Adage En pratique cette description ne permet pas de d ployer des applications r ellement dynamiques telles que des applications en flots de travail 3 7 Conclusion Afin de fonctionner sur les ressources les applications conditionn es doivent y tre d ploy es Les administrateurs connaissent bien les ressources qu ils administrent et les d veloppeurs les a
266. s es par le mod le ODD de la m me mani re que les processeurs ordinaires De m me la pr cision de SAMURAAIE et le fonctionnement actuel d ODD permettent de d ployer des applications ayant par exemple recours autant au mod le de communication par m moire par tag e que par passage de messages Il resterait cependant n cessaire de valider ces hypoth ses avec des cas de d ploiement complets L informatique sur demande ou l informatique dans les nuages est un domaine mergeant auquel l architecture de d ploiement dynamique ODD SAMURAAIE semble particuli rement ad quate En effet la d localisation des infrastructures et la notion de service deux caract ris tiques de ce domaine impliquent respectivement une s paration des pr occupations des adminis trateurs d infrastructures des d veloppeurs d applications et des utilisateurs d infrastructures et d applications ainsi qu un besoin en allocation en installation et en ex cution automatiques Tels sont justement les r sultats des travaux pr sent s dans ce document Il resterait cependant valider cette ad quation avec des cas de d ploiement complets 8 2 3 Vers une meilleure performance de l ordonnancement du d ploiement Plus les abstractions de l environnement de d ploiement sont fournies et les algorithmes d or donnancement intelligents plus l ordonnancement du d ploiement qui en r sulte est performant Or les repr sentations ordinaires des infrastructures et des ap
267. s d acteurs sont les suivantes voir la figure 4 12 page 94 Acquisition L environnement manipule les connecteurs les connecteurs obtiennent de l infor mation propos de l environnement ils la distribuent aux traducteurs les traducteurs traduisent l information et la transmettent aux abstracteurs Modification Les abstracteurs obtiennent de l information propos des abstractions ils en avertissent les gestionnaires les gestionnaires obtiennent de l information propos des abstractions ils produisent de l information propos des abstractions et la transmettent aux abstracteurs Restitution Les abstracteurs obtiennent de l information propos des abstractions ils en aver tissent les traducteurs les traducteurs obtiennent de l information propos des abstrac tions ils la traduisent et la transmettent aux connecteurs les connecteurs obtiennent de l information propos de l environnement ils manipulent l environnement Acteurs Chaque information acquise est d abord traduite puis m moris e dans une abstraction Le m canisme de prise de d cision analyse alors cet v nement et peut d cider d une action Quand une action a t d cid e elle est d abord traduite pour l environnement puis r alis e Dans le d tail les interactions des acteurs sont les suivantes voir figure 4 13 page 96 Les connecteurs appellent les traducteurs de ressources de services et d application Les traducteurs de re
268. s relations de copie et dans le cas o elles sont galement modifi es les originaux aux copies afin que ces l ments soient mis jour C est le cas de la base de donn es En analysant les abstractions Ressources et Application le gestionnaire Associateur constate que les stations passerelles doivent tre allou es afin que le gestionnaire de base de donn es et son mandataire puissent intercommuniquer En effet l application est divis e en deux parties par l architecture demand e de jeu d instructions des processeurs cependant ces deux parties intercommuniquent Bien que la seconde partie c est dire le mandataire de gestionnaire et le composant parall le ne s ex cute pas au d but de l application Associateur en tient compte Ex cuteur En analysant les abstractions Programme et D ploiement le gestionnaire Ex cuteur d couvre les relations de pr c dence entre les l ments T che associ s des l ments Syst me En particulier il ex cute la t che d installation de l application sur la seconde grappe alors m me que l ex cution des derniers composants s quentiels a commenc Traducteurs Dans le cas de d ploiement consid r l information traduite porte sur l ordina teur de l utilisateur la grille d ordinateurs leur interconnexion l implantation de l architecture ODD SAMURAAIE l application en flot de travail l application pour l intergiciel de grille la pr sence d l ments de l application sur des l
269. s ressources d un nuage d ordinateurs sont fournies sur demande En effet le principe du nuage est de d localiser les ressources chez un fournisseur et de continuer de les utiliser par Internet en ne les poss dant plus Le pictogramme repr sentant Internet est souvent un nuage il a donc donn son nom ce principe architectural Les architectures de ressources ainsi fournies peuvent donc th oriquement tre constitu es d ordinateurs de grappes ou de grilles Cependant un fournisseur devant honorer des demandes pour un usage imm diat il ne fournit g n ralement pas des ordinateurs r els mais plut t des machines virtuelles Cette architecture tant r cente il existe encore peu d offre en informatique haute performance Parmi ses services de toile l entreprise Amazon propose par exemple un nuage d ordinateurs virtuels appel nuage lastique de calcul Elastic Compute Cloud EC2 M moires processeurs et connecteurs 29 M moires Les m moires sont les ressources emmagasinant l information Leurs principales caract ristiques sont la persistence et la taille en octet de cette information Dans l ordre croissant de persistance figurent les m moires suivantes Registres et m moires cache dans les processeurs M moire vive acc s al atoire dynamique et synchrone Synchronous Dynamic Random Access Memory SDRAM dans les ordinateurs M moires de masse telles que les disques durs Hard Disk Drives
270. s un fichier appel script pour une soumission diff r e sh ksh tesh GNU bash et zsh sont des exemples de shells Une application en cours d ex cution dans un syst me d exploitation est un ensemble de pro cessus Un processus comporte un ou plusieurs traitements galement appel s fils d ex cution une empreinte en m moire vive et les descripteurs des fichiers auxquels il acc de chaque processus correspondent un programme une commande comportant le nom du programme et d ventuels param tres un identifiant de processus et d utilisateur voire un identifiant de groupe de processus et de session d utilisateur Diff rentes techniques permettent aux processus d inter communiquer qu ils fassent partie d une m me application ou non 37 Un syst me organise le partage entre les processus des ressources qu il exploite Pour or ganiser le partage des processeurs sans lesquels l ex cution des processus ne peut continuer il comporte un l ment logiciel appel ordonnanceur qui prescrit les allocations des processeurs aux processus Il restreint galement l acc s aux programmes des administrateurs par un m canisme de gestion de permissions Enfin il peut comptabiliser et faire respecter des quotas d acc s aux ressources et particuli rement aux m moires de masse Exemples de syst mes d exploitation Syst me d exploitation des super ordinateurs Blue Gene L exploitation des super ordinateurs Blue Gene est effec
271. sation L architecture de d ploiement dynamique ODD SAMURAAIE comporte trois niveaux l en vironnement de d ploiement son abstraction et sa gestion L environnement de d ploiement est l environnement de l utilisateur Il comporte les l ments informatiques auxquels celui ci a acc s Il s agit de ressources d applications et de syst mes d exploitation voire d outils de d ploiement L abstraction de cet environnement en est une repr sentation Elle comporte l information n ces saire la gestion de cet environnement Cette information porte sur les l ments informatiques 73 L environnement modifie les abstraction es abstractions modifient environnement en retour La logique de d ploiement modifie les abstractions FIGURE 4 1 Cycle permanent du d ploiement mais galement sur leurs changements pass s actuels ou pr vus ainsi que sur les actions ou v nements qui les ont fait font ou feront changer La gestion de cet environnement est la finalit de l architecture Elle comporte diff rents m canismes afin de d ployer des applications sur des ressources et de r agir aux changements de celles ci 4 2 2 Permanence L architecture ODD SAMURAATE de d ploiement dynamique est permanente voir la figure 4 1 page 74 Elle est un artefact tel que les a d finis Herbert Simon dans son ouvrage Les sciences de l artificiel 96 Elle comporte une intelligence propre et interagit avec son enviro
272. sation du document Contexte et probl matique Informatique haute performance 21 introductione euii ea a de d e de eae E dates DAZ ti rame 2 2 AMADES 4 he Ent is Oa Rt ete as Ble AIS sie d 2 2 1 Structure g n rale de l informatique 2 2 2 Facteurs d am lioration des performances 2 3 Ressources applications et syst mes d exploitation 2 9 11 Ressources saco Ebest Bk A is BS ia bee ia E Architectures de ressources M moires processeurs et connecteurs DISCUSSION 2 Base ts ds ee ee pre T ta Ed eee 2 3 2 Applications i sci ee sae Seton oO RE rent rest Be ch rie 2 Mod les d applications a Donn es traitements et flux DISCUSSION Liste he Lit se OA A ds DR PS he 2 3 3 Syst mes d exploitation PRINCIPES 4 ont as er A ly dM ae SN en nn Exemples de syst mes d exploitation M morisation ex cution et adressage DISCUSSION fe aus y put o s ee HA wah Be Run ER an woh eee ZA DISCUSSIONS LE AIM rhs ARR ee A SE PG ACE ad ee 2 0 CONCIUSION cc 22 Ab tos ox SE LDS teh ae dat RN Z NE ds arte Me lille ey E DEL LA D ploiement dans le contexte de l informatique haute performance ST Introductions Pi Dee Le Si tee dh tO ES SS A e Enia ea
273. ser simul tan ment des instances de cette architecture afin de d ployer leurs applications sur une m me infrastructure Une conception collective de cette architecture pourrait elle alors remplacer la conception individuelle actuelle 8 2 5 Vers un syst me personnel d exploitation Enfin ces travaux de recherche en d ploiement automatique pourraient d boucher sur une notion de syst me personnel d exploitation En effet une cons quence de l automatisation du d ploiement d applications est de masquer aux utilisateurs la complexit de l utilisation des syst mes informatiques auxquels ils ont acc s La personnalisation des environnements de ces utilisateurs sur ces syst mes deviendrait donc parfaitement naturelle et dans le m me temps les administrateurs pourraient simplifier les syst mes d exploitation ordinaires Cette personnalisa tion concernerait non seulement la liste des applications qui seraient offertes chaque utilisateur mais galement la strat gie d ordonnancement de ses activit s En d autres termes un second niveau d exploitation se dessinerait alors un niveau personnalis par chaque utilisateur un syst me personnel d exploitation 162 Bibliographie 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 D finition d un ordinateur dans FOLDOC http foldoc org computer mai 1995 FLYNN M J Some C
274. seur multi c ur est abstrait par plusieurs sommets Processeur Transmission Les sommets de contenant et de contenu de transmission respectivement appel s Connecteur et Flux ont des caract ristiques de latence offerte ou demand e en seconde de d bit offert ou demand en octet par seconde de protocole offert ou demand et d adresse ou chemin offert ou demand Les sommets des abstractions du niveau Instances ont galement une caract ristique commune le nom de leur technologie Cette caract ristique permet de diff rencier les instances en vue de leur gestion Par ailleurs les valeurs des caract ristiques de ces sommets peuvent rester non sp cifi es Relations d instance Les abstractions Ressources et Application introduisent deux nouveaux types de relations entre sommets l acc s et la copie Les topologies de ressources et d une application sont d termin es par les relations d acc s entre leurs l ments Ces acc s vont des processeurs aux connecteurs des connecteurs aux m moires des activit s aux flux des flux aux blobs et inversement Afin de figurer ces relations le niveau Instances introduit les arcs d acc s Les arcs de copie figurent les relations de copie entre empreintes en m moire vive ou entre fichiers Par exemple si une application comporte un fichier binaire et qu une copie de ce fichier est associ e plusieurs m moires de masse alors des arcs de copie connectent les sommets Blob du fichier
275. soci s avec l l ment M moire du r pertoire personnel de l utilisateur sur son ordinateur En analysant les autres relations de ces l ments Blob de fichiers de r sultats Conseiller constate que ces fichiers ne sont pas des copies et que les flux et activit s qui les crivent ne sont qu enregistr s Il d cide alors de mettre en attente ces flux et activit s puis attend Le gestionnaire Conseiller intervient une seconde fois afin de d cider des actions de copie des fichiers et de d marrage des activit s qui doivent l tre Cette seconde intervention concerne donc la copie du r pertoire des fichiers de l application les activit s de l application et les copies des fichiers de r sultats Parmi tous les l ments de contenu en attente et associ s avec des l ments de contenant Conseiller s int resse d abord aux fichiers ou r pertoires seulement lus Il ajoute ainsi une requ te de copie portant sur la copie du r pertoire des fichiers de l application Les requ tes de copie ne portent jamais sur un original car plusieurs copies peuvent avoir lieu des moments diff rents d signer l original emp cherait cette distinction Conseiller s int resse ensuite aux activit s qui lisent le r pertoire des fichiers de l application ajoute les requ tes de d marrage portant sur celles ci et relie ces requ tes avec celle de copie par des relations de pr c dence Il s int resse ensuite aux fichiers que ces activit s
276. ssification propos e dans ce chapitre a pr sent les principales architectures de res sources les principaux mod les d applications et des exemples de syst mes d exploitation Elle a cit plus d une centaine de technologies de l tat de l art dans le domaine de l informatique haute performance Cette classification a galement montr que les facteurs de performance de l informatique conf rait parall lisme h t rog n it et dynamicit aux ressources comme aux applications et que les interfaces des syst mes d exploitation taient stables par rapport aux technologies de ressources et d applications Bien que les infrastructures informatiques les plus performantes du monde appartiennent toujours aux grandes organisations galement d tentrices d expertise telles que des institutions 41 de recherche acad mique ou des entreprises industrielles les technologies de l informatique haute performance se diffusent progressivement dans la plupart des activit s humaines Les ordinateurs actuellement destin s au grand public des pays dominants ont par exemple des m moires des processeurs g n raux multi c ur des processeurs graphiques et pour le r seau et des connecteurs les interconnectant tous de plus en plus performants Cette diffusion des technologies ne doit cependant pas masquer les difficult s d utilisation qu elles soul vent en particulier du fait du d veloppement de leurs propri t s de parall lisme d h t rog
277. ssources de services et d application appellent les abstracteurs afin de modifier leurs abstractions respectives Le gestionnaire Associateur est averti par les abstracteurs des modifications appelle les abstracteurs de ressources et d application afin de consulter leurs abstractions respectives et appelle l abstracteur de carte afin de modifier son abstraction Le gestionnaire Conseiller est averti par les abstracteurs des modifications appelle les abstracteurs d application de carte et de services afin de consulter leurs abstractions respectives et appelle l abstracteur de programme afin de modifier son abstraction Le gestionnaire Associateur est averti par les abstracteurs des modifications appelle les abstracteurs de services et de programme afin de consulter leurs abstractions respectives et appelle l abstracteur de d ploiement afin de modifier son abstraction Le gestionnaire Ex cuteur est averti par les abstracteurs des modifications appelle les abs tracteurs de programme et de d ploiement afin de consulter leurs abstractions respectives et appelle l abstracteur de d ploiement afin de modifier son abstraction Les traducteurs de d ploiement sont avertis par les abstracteurs des modifications ap pellent l abstracteur de d ploiement afin de consulter son abstraction et appellent les connecteurs afin de les avertir des modifications Modification d abstraction Afin d assurer la coh
278. st mes d information propos des ordinateurs peuvent d crire quelles sont les topologies et les technologies des r seaux d ordinateurs Afin d optimiser l allocation d ordinateurs pour les conteneurs de composants SALOME il faudrait donc que le superviseur communique au connecteur de conteneurs la topologie d taill e dans laquelle se trouvera le conteneur demand d une part et que le connecteur de ressources 153 soit renforc par un syst me d information qui connaisse la topologie d taill e dans laquelle se trouvent les ordinateurs d autre part 7 4 3 Installation la vol e L architecture ODD SAMURAAIE pourrait installer la vol e les modules et les applica tions SALOME sur les ordinateurs En effet les traducteurs ODD peuvent modifier l abstraction SAMURAAIE d application afin que les outils d installation fassent eux m mes partie de l ap plication d ployer et qu ils puissent ainsi fournir tout ce dont l application a besoin sur les ressources qui lui sont allou es Dans l int gration pr sent e dans la section pr c dente l architecture ODD SAMURAAIE ne dispose pas d un outil d installation d applications SALOME capable d ajouter des modules SALOME afin d installer la vol e les modules et les applications SALOME sur les ressources En effet si installer des modules SALOME et g n rer des applications SALOME est possible un soin particulier doit tre port aux d pendances des modules et l application
279. st donc celle de l application elle m me c est dire de ses processus et de tous les l ments que ceux ci agr gent Afin d associer un l ment d agr gation le gestionnaire Associateur part des l ments d j associ s que cet l ment agr ge Quand il tente d associer les processus de l application il part donc des fichiers de r sultats Or les activit s qui crivent ces fichiers sont incompatibles avec le processeur de l ordinateur dans lequel ces fichiers sont attendus En effet la valeur d architecture de jeu d instructions et le nombre de bits que ces activit s demandent sont AMD et 64 alors que ces caract ristiques ne sont pas pr cis es pour le processeur de l ordinateur de l utilisateur Associateur cherche donc une autre solution Lorsque des associations de fichiers avec des m moires emp chent l association des processus avec les ordinateurs qui les agr gent le gestionnaire Associateur ajoute des copies de ces fichiers et retente d associer ces m mes processus avec d autres ordinateurs Les fichiers de r sultats ne pouvant pas tre crits par l application directement sur l ordinateur de l utilisateur Asso ciateur ajoute deux types de copies dans l application une copie du r pertoire des fichiers de l application et des copies des fichiers de r sultats Afin d ajouter les copies du r pertoire des fichiers de l application et des fichiers de r sultats le gestionnaire Associateur effectue plusieurs changemen
280. sur les ressources allou es et l ex cution de l application install e sur ces ressources De plus ces trois cas ont introduit les propri t s de parall lisme d h t rog n it et de dynamicit des syst mes informatiques haute performance propri t s que l architecture ODD SAMURAAIE sait prendre en charge La station la grappe de stations et la grille de stations sont toutes parall les Les inter connexions de la grappe et les grappes de la grille sont h t rog nes La grappe et la grille sont galement dynamiques De m me les applications parall les param triques et en flot de travail sont toutes parall les ou r parties L application en flot de travail est h t rog ne Les applications param triques et en flot de travail sont dynamiques 130 Chapitre 7 Automatisation du d ploiement de simulations num riques SALOME 7 1 Introduction Le d ploiement dynamique sur des infrastructures informatiques parall les h t rog nes et dynamiques pour la plate forme de simulation num rique SALOME pose probl me SALOME permet de programmer et ex cuter des simulations num riques parall les h t rog nes et dyna miques Cependant son approche de d ploiement contraint fortement l utilisateur et est restreinte des infrastructures informatiques parall les mais homog nes et statiques Ce chapitre pr sente la plate forme de simulation num rique SALOME et l approche qu elle met en uvre afin de d plo
281. t le nombre de processus esclaves r sulte d une forme de comportement adaptatif En l occurrence ce comportement induit de la dynami cit dans l application En effet le nombre d esclaves est d abord quatre avant que les stations soient r serv es puis il augmente jusqu 2 x 4 2 12 mesure que les six stations sont r serv es I redescend 12 2 10 quand la premi re station r serv e tombe en panne avant de s annuler quand ces esclaves ont tous termin Le processus ma tre et chaque processus esclave sont interconnect s chaque interconnexion correspondent deux l ments Flux Le premier unique pour toutes les interconnexions permet aux activit s des processus esclaves d crire dans l empreinte en m moire vive du processus ma tre De m me les seconds flux permettent l activit du processus ma tre d crire dans les empreintes en m moire vive des processus esclaves Carte Les processus de l application sont associ s aux stations de la grappe Le processus de manipulation de l archive des programmes de l application est associ la station passerelle L archive est alors remplac e par une copie associ e au r pertoire personnel dans cette station Les deux programmes sont galement associ s ce r pertoire Le processus ma tre est associ la station passerelle Quand des stations sont r serv es des processus esclaves leur sont associ s Le nombre d activit s ainsi associ es est gal au
282. t s de ces ensembles La quatri me est de distinguer les ressources les syst mes d exploitation et les applications Ces volutions sont importantes afin de permettre au chapitre suivant de poser la probl matique du d ploiement Derri re la multitude des technologies de ressources d applications et de syst mes d exploi tation introduites dans la section pr c dente se trame la structure g n rale de l informatique une hi rarchie d information d op ration et de transmission Les architectures de ressources mat rialisent cette hi rarchie que l on retrouve galement dans les architectures logicielles par ticuli rement avec les mod les d applications base de composants Bien que les d finitions de ressources de syst mes d exploitation et d applications d coulent de celle d un ordinateur la s paration entre ces trois classes de technologies ne correspond toutefois pas n cessairement la s paration entre l ments mat riels logiciels bas niveau et logiciels haut niveau Des applications peuvent effectivement tre per ues comme des ressources par certains des ressources comme des applications par d autres etc Cette classification situe cependant les diff rentes couches de technologies les unes par rapport aux autres et fixe un rep re en croisant la s paration des r les entre administrateurs et utilisateurs d une part et celle des l ments mat riels et logiciels d autre part 2 5 Conclusion La cla
283. t M moire du r pertoire personnel de l utilisateur sur la station avec l l ment Blob de copie du r pertoire des fichiers de l application l l ment M moire vive de la station avec les l ments Blob des empreintes en m moire vive de l application les l ments Processeur de la station avec les 116 l ments Activit de l application l l ment M moire du r pertoire temporaire sur la station avec les l ments Blob des fichiers de r sultats originaux et les l ments Connecteur de la station avec les l ments Flux de l application En particulier Associateur valide la compatibilit du chemin d acc s local des connecteurs permettant aux processeurs de lire et d crire dans le r pertoire temporaire de la station avec les chemins d acc s local output n des flux permettant aux activit s de l application d crire les fichiers de r sultats Il valide galement que les sommes des tailles des fichiers et des empreintes en m moire vive restent inf rieures aux capacit s des m moires avec lesquelles ces blobs sont associ s Une fois associ e l application avec la station de travail le gestionnaire Associateur attend que de nouveaux l ments de contenu passent en attente Des l ments de contenu en attente au niveau Actions sont alors ajout s dans l abstraction Programme Il s agit de l l ment T che agr geant des l ments Requ te de services Ces requ tes visent d abord copier le r pertoire des fichiers
284. t des connecteurs est abstrait par un sommet d agr gation ordinateur sa m moire son processeur et ses connecteurs respectivement par des sommets simples m moire processeur et connecteurs L tat d un sommet peut tre un des tats suivants voir la figure 4 2 page 76 ENREGISTR L l ment informatique est abstrait mais son tat de fonctionnement est inconnu ATTENDU L l ment informatique est attendu ou va fonctionner correctement CORROMPU Quelque chose de n gatif est arriv l l ment informatique OK L l ment informatique fonctionne correctement ou est en cours de modification PROSCRIT L l ment informatique ne devrait plus fonctionner correctement ou ne devrait plus tre modifi SUSPENDU L l ment informatique est connu mais il ne fonctionne pas encore ne fonctionne plus n est pas encore en cours de modification ou n est plus en cours de modification ARR T L l ment informatique ou sa modification ont t arr t s alors qu ils fonctionnaient avant qu ils ne se terminent 75 TERMIN L l ment informatique ou sa modification a termin et ne fonctionnent plus Les dur es de validit de l information port e par des sommets peuvent tre sp cifi es de deux mani res La premi re est de sp cifier deux dates compl tes la seconde de sp cifier une quantit de temps Les intervalles sp cifi s par les dates sont ordonn s directement Pour les quantit s de
285. t la majeure partie de leurs calculs avec des technologies qui ont vu le jour lors de la formidable acc l ration du progr s technique au XXi me si cle L automatisation et la haute performance des calculs sont d sormais fond es sur l lectronique et l informatique et sont exploit es pour la recherche scientifique ainsi que pour d autres activit s humaines telles que les affaires Ce chapitre propose une classification des technologies informatiques dans le domaine du calcul haute performance Il commence par en donner les principes Il pr sente ensuite les trois classes de technologies compl mentaires que sont les ressources les applications et les syst mes d exploitation Enfin il discute les l ments mis en vidence par cette classification 2 2 Principes Dans le dictionnaire gratuit en ligne de l informatique Free On Line Dictionary Of Compu ting FOLDOC 1 la d finition d un ordinateur est la suivante Un ordinateur est une machine programmable sachant manipuler des symboles Les ordinateurs peuvent effectuer des proc dures complexes et r p titives de mani re rapide pr cise et fiable et peuvent m moriser et retrouver rapidement une grande quantit de donn es Les composants physiques avec lesquels un ordinateur est construit des circuits lectroniques et des dispositifs d entr e sortie sont appel s mat riel hardware La plupart des ordinateurs ont quatre types de composants mat riels unit
286. t une tape suppl mentaire celle de l ajustement du d ploiement aux comportements dynamiques des ressources et de l ap plication Automatisation avec ODD Gestionnaires Associateur Le gestionnaire Associateur constate qu il ne peut pas associer le processus d installation ni l application avec l ordinateur personnel de l utilisateur Il d cide donc d ajouter des copies de l archive des programmes et du fichier de r sultats Une fois des stations ordinaires disponibles il associe ce processus d installation et le processus ma tre la station passerelle les processus esclaves aux stations ordinaires Quant aux programmes et au fichier de r sultats original afin de ne pas en ajouter davantage de copies il les associe avec le r pertoire que toutes les stations ordinaires de la grappe se partagent le r pertoire personnel de l utilisateur partag par NFS Tous les processus de l application ne peuvent pas tre associ s simultan ment faute de ressources suffisantes Le gestionnaire Associateur constate cependant que ces processus ne com muniquent pas tous directement entre eux Il d cide donc d en associer une partie seulement le processus qui communique avec tous les autres c est dire le processus maitre et une partie des processus qui ne communiquent qu avec ce processus des processus esclaves Conseiller La premi re intervention du gestionnaire Conseiller concerne le fichier de r sul tats associ avec le r pertoir
287. tances de ces gestionnaires et un fichier ex cutable appel serveur de lanceur qui initialisait l infrastructure CORBA et cr ait cet objet lanceur Le lanceur r implant en Python cr e les instances des mandataires de traducteurs puis cr e les instances des connecteurs en leur transmettant ces premi res afin que ces connecteurs puissent communiquer avec les traducteurs En plus d initialiser l infrastructure CORBA et de cr er une instance de ce nouveau lanceur le serveur de lanceur galement r implant en Python initialise ANGE Plusieurs l ments de SALOME utilisent les gestionnaires de ressources et de conteneurs de composants le lanceur et le serveur de lanceur Pour ce faire soit il s agit d objets CORBA et alors ils les retrouvent par leur nom dans le service de d signation d objets CORBA soit il s agit de fichiers ex cutables et alors ils les ex cutent directement sur le syst me On a donc remplac les noms de ces derniers dans toutes les requ tes au service de d signation d objets CORBA et dans tous les appels au syst me Les r implantations du lanceur et de son serveur ainsi que les modifications des l ments afin qu ils utilisent les connecteurs et les r implantations elles m mes sont disponibles sous la forme d une s rie de correctifs pour le code source de SALOME Une fois implant e l int gration de l approche de d ploiement de SALOME et de l architec ture de d ploiement dynamique ODD SAMURAAIE on a pu
288. tation 119 de la station peut copier des fichiers ou r pertoires depuis et vers le r pertoire personnel de l utilisateur sur son ordinateur Traducteur de d ploiement Le dernier traducteur le traducteur de d ploiement traduit les liaisons entre requ tes et services fonctionnant correctement en appels aux connecteurs des technologies de ces requ tes et services Il traduit donc l action de copie du r pertoire des fichiers de l application les actions de d marrage des activit s de l application et celles de copie des fichiers de r sultats en autant d appels aux connecteurs Afin de d terminer quel connecteur appeler le traducteur consulte la caract ristique de technologie des l ments Connecteurs Connecteur POSIX et POSIX par SSH Le connecteur POSIX et POSIX par SSH per met d abstraire des ordinateurs exploit s par des syst mes d exploitation POSIX et d abstraire ces syst mes eux m mes En s attachant ces syst mes il permet galement de r aliser des ac tions sur ces ordinateurs Ce connecteur est donc appel afin d abstraire l ordinateur personnel de l utilisateur la station de travail laquelle il a acc s leur interconnexion et le syst me d ex ploitation GNU Linux de la station Pour ce faire il appelle les traducteurs d ordinateurs et de syst me GNU Linux Ce connecteur est galement appel afin de r aliser la copie du r pertoire des fichiers de l application le d marrage de ses activit
289. tation soit install e sur les ressources les produits issus de la ges tion d applications base de composants sont plus l gers que les produits d administration des ressources En revanche toutes les applications doivent tre conditionn es sous la forme de composants Parmi les travaux provenant du domaine de l administration de ressources aucun ne sup porte l allocation OSCAR permet de construire et de faire voluer des images disques pour les ordinateurs d une grappe mais cette technologie est r serv e aux administrateurs CfEngine et Smartfrog qui ont les m mes limites requi rent des serveurs sp cifiques sur chaque ordina teur et sont difficiles programmer Comme les produits pr c dents GLARE ne permet pas de d crire finement les ressources et les applications afin d allouer dans une perspective de perfor mance GLARE ne supporte que les applications utilisant une machine virtuelle Java ORYA 66 Proposition Allocation Installation Ex cution OSCAR non oui oui CfEngine non oui oui GLARE non oui oui ORYA non oui oui Smartfrog non oui oui SDD non oui oui OpenCCM non oui oui Proactive non oui oui Jade oui oui oui DeployWare FDF non oui oui GoDIET oui oui oui Adage oui oui oui CORDAGE oui oui oui TABLE 3 2 tapes du d ploiement support es par les produits existants Proposition Parall lisme H t rog n it Dynamicit Jade oui applications oui GoDIET oui non non Adage oui oui non CO
290. temps elles peuvent tre ordonn es par des arcs de pr c dence entre les sommets qu elles sp cifient Relations Les arcs des graphes orient s repr sentent les relations entre les l ments informatiques Ils ont un type et deux sommets incidents en source et en destination Parmi tous les types d arcs figurent la liaison l agr gation et la pr c dence Les arcs de liaison lient des sommets de conte nant des sommets de contenu Par exemple l allocation d une m moire un fichier est abstraite par un arc de liaison depuis le sommet m moire vers le sommet fichier Les arcs d agr gation agr gent des sommets en d autres Par exemple l agr gation d une m moire d un processeur et de connecteurs en un ordinateur est abstraite par des arcs d agr gation respectivement depuis les sommets m moire processeur et connecteurs vers le sommet ordinateur Les arcs de pr c dence ordonnent des sommets dans le temps Par exemple une s quence de processus est abstraite par un arc de pr c dence entre les sommets du premier et du second processus L ensemble des sommets de contenant et des arcs qui les relient est appel graphe de conte nant celui des sommets de contenu et des arcs qui les relient graphe de contenu et celui des sommets de contenant et de contenu reli s par des arcs de liaison et les arcs de liaison eux m mes le graphe d association Ces graphes sont sp cialis s selon leur niveau d abstraction graphes d instances d
291. tercommuniquent d autre part alors le r seau des ordinateurs et celui des processus sont compatibles si un des ordinateurs et un des processus le sont Correspondance topologique complexe Le devoir de correspondance est le m me que pour les topologies simples en revanche les l ments intercommuniquant des ressources et ceux des applications tant respectivement h t rog nes la compatibilit d un l ment des res sources et d un l ment des applications est donc plus difficile v rifier Par exemple si deux ordinateurs sont diff rents et qu ils sont interconnect s d une part et si deux proces sus sont diff rents et qu ils intercommuniquent d autre part alors le r seau des ordinateurs et celui des processus sont compatibles si un des ordinateurs et un des processus le sont d une part et si l autre ordinateur et l autre processus le sont galement Correspondance topologique variable Une partie du r seau des ressources pouvant tre ajout e ou retir e d une part et des parties des r seaux des applications pouvant gale ment tre ajout es ou retir es d autre part le devoir de correspondance entre des parties du premier et des seconds est donc difficile respecter Par exemple si deux ordinateurs interconnect s sont disponibles par intermittence d une part et si deux processus inter communiquent d autre part alors le r seau des ordinateurs et celui des processus sont compatibles si les d
292. teur Superviseur G stionnaires de contenneurs G stionnaires de ressources Initialisation Demande D ploiement Scrutation R ponse Temps FIGURE 7 5 Interactions internes de SALOME pour l ex cution de simulations num riques 2 Ex cuter la simulation num rique de mani re r partie sur les ressources SALOME Pour ce faire l utilisateur d marre le superviseur dont un param tre est le chemin d acc s au fichier contenant le sch ma au sein de l application d marr e sur la ressource locale Ce superviseur fait alors appel via CORBA au gestionnaire de conteneurs de composants SALOME afin d obtenir des conteneurs Il charge ensuite les composants SALOME dans ces conteneurs et tablit les connexions La figure 7 4 page 140 illustre la r partition de conteneurs sur diff rents ordinateurs Cette ex cution en deux tapes implique les trois principaux l ments de la plate forme SALOME qui suivent voir la figure 7 5 page 141 Gestionnaire de ressources Gestionnaire de conteneurs de composants Superviseur Gestionnaire de ressources Le gestionnaire de ressources r alise les trois op rations sui vantes Choisir une ressource dans une liste donn e de ressources Donner la liste des ressources ayant des caract ristiques donn es Donner les caract ristiques d une ressource donn e Afin de r aliser ces op rations le gestionnaire de ressources consulte le catalogue de r
293. tion Messages et deux cas peuvent alors advenir Soit le gestionnaire Contr leur les traite sans probl me et alors l abstracteur consid r avertit tous les acteurs ayant consult ou modifi l abstraction consid r e soit il d fait cette modification et n avertit que l acteur consid r Traducteurs Les traducteurs ODD traduisent de l information en abstraction SAMURAAIE et r cipro quement Ils prennent en charge l activit de l utilisateur consistant se repr senter l information acquise propos de l environnement et expliciter ses d cisions aupr s de celui ci Ils modifient les abstractions afin de refl ter l information qu ils re oivent d une part et mettent de l infor mation afin de refl ter les modifications de ces abstractions d autre part Au passage ils peuvent m moriser de l information ce qui peut permettre de limiter d ventuelles ambigu t s de traduc tion Afin d en limiter la complexit et d en favoriser la r utilisation un traducteur ne traduit g n ralement que pour un couple information abstraction Ce couple est donc caract ristique Les traducteurs d application abstraient celle ci compl tement c est dire partir des l ments op rationnels a priori des archives par exemple En d autres termes ces traducteurs abstraient non seulement les l ments demand s de l application mais galement les l ments dont elle d pend afin d tre ex cut e Pour reprendre cet exemple si le
294. tion du mod le SAMURAAIE 5 3 2 Caract ristiques des l ments et des relations Les caract ristiques des l ments et des relations des abstractions SAMURAAIE sont typ es et les valeurs de ces caract ristiques peuvent changer Dans l implantation ces caract ristiques ne sont pas directement des attributs des instances des classes El ment et Relation mais des traits de ces objets En effet fond s sur un principe de meta programmation les traits d objets permettent de mieux ma triser les changements de leurs valeurs que les attributs d objets La figure 5 2 page 103 illustre la hi rarchie de ces traits d objets L entreprise Enthought Incorpo rated d veloppe et distribue une biblioth que qui fournit le support des traits d objets c est la biblioth que utilis e 5 3 3 Sauvegarde des caract ristiques dans une base relationnelle Les caract ristiques des l ments et des relations des abstractions SAMURAAIE doivent persister apr s leur manipulation leur volume peut d passer la capacit en m moire vive d un ordinateur ordinaire et elles doivent pouvoir tre interrog es facilement Dans l implantation de SAMURAATE ces caract ristiques sont sauvegard es dans des tables d une base relationnelle de donn es et cette sauvegarde est automatis e par un associateur objet base relationnelle Object Relational Mapper ORM Le m canisme de sauvegarde automatique est ajout la hi rarchie des classes de l implan
295. tion sur chaque grappe De m me que dans le cas de d ploiement pr c dent des relations de liaison n apparaissent que quand fonctionne correctement la station sur laquelle porte le syst me consid r Capteurs Messages et Journal De m me que dans le cas de d ploiement pr c dent les changements survenant pendant le traitement du cas de d ploiement consid r concernent les 127 quatre tapes d enregistrement de demande de d ploiement de d ploiement et d ajustement En particulier les changements de l tape d ajustement mettent des stations de travail en tat de fonctionnement et les processus de l application en tat de fonctionnement puis de terminaison Automatisation avec ODD Gestionnaires Associateur De m me que dans les cas de d ploiement pr c dents le gestionnaire As sociateur constate que les ressources de l ordinateur personnel de l utilisateur ne peuvent tre allou es aux activit s de l application Il d cide donc d ajouter des copies des fichiers que lisent ces activit s afin de pouvoir allouer d autres ressources celles ci Il ajoute en effet deux copies de l archive du code source une copie de la description du flot de travail et une copie de la base de donn es Les processus d installation de l application sur chaque grappe de la grille ont donc chacun leur copie de l archive du code source Le gestionnaire Associateur relie les copies qui ne sont acc d es qu en lecture aux originaux par de
296. tions de liaison Services De m me que ceux des stations de la grappe du cas de d ploiement pr c dent les syst mes d exploitation des stations de la grille sont d abord enregistr s avant de fonctionner correctement pour l utilisateur c est dire pendant que s coulent les r servations des ressources sur lesquelles ces syst mes portent Programme Au flot de requ tes de services correspondent plusieurs l ments T che un pour l installation de l application sur la premi re grappe un pour l installation de l application sur la seconde un pour l ex cution du gestionnaire de base de donn es un pour l ex cution du moteur d ex cution de flot de travail trois pour l ex cution des composants s quentiels un pour l ex cution du mandataire de gestionnaire de base de donn es un pour l ex cution du composant parall le et enfin un pour la recopie de la base de donn es L l ment T che d installation de l application sur la premi re grappe par exemple agr ge de nombreux l ments Requ tes Il s agit par exemple de requ tes de copie de l archive du code source de l application et d ex cution de la compilation Certains de ces l ments sont reli s entre eux par des relations de pr c dence et d autres sont parall les D ploiement Dans l abstraction D ploiement des relations de liaison relient par exemple l l ment Syst me portant sur chaque station passerelle avec l l ment T che d installation de l applica
297. tiques haute performance telles que dans les stations frontales d aujourd hui ou les portails pour le calcul scientifique de demain 8 2 Perspectives Les travaux que ce document a pr sent s offrent plusieurs perspectives court terme il s agirait de poursuivre l effort d ing nierie afin de parfaire les d veloppements entam s et de transf rer ces travaux en production moyen terme il s agirait de faire voluer l architecture ODD SAMURAAIE afin de supporter les volutions actuelles du domaine de l informatique haute performance Il s agirait galement d am liorer la performance de l ordonnancement du d ploiement en int grant des travaux existants dans diff rents domaines plus long terme pourraient tre tudi es les questions de l am lioration des performances des applications gr ce leur d ploiement automatique ainsi que l opportunit de versions r parties et multi utilisateur de l architecture ODD SAMURAAIE et de son implantation Enfin ces travaux pourraient d boucher sur une notion nouvelle de syst me personnel d exploitation 8 2 1 Poursuite de l effort d ing nierie et transfert en production La partie validation de ce document a pr sent des traducteurs et des connecteurs pour des applications parall les param triques et en flot de travail et pour un ordinateur une grappe d ordinateurs et une grille d ordinateurs Elle a galement sugg r des volutions de la plate forme de simulation num
298. traction ENLEVER Enlever un l ment ou une relation d une abstraction De m me qu au niveau Actions les sommets du niveau v nements ont des relations avec les sommets du niveau Instances mais galement avec ceux du niveau Actions des relations de port e En effet les v nements portent sur des l ments de ressources d application de syst mes d exploitation ou leur utilisation Des arcs de port e connectent donc des sommets Capteur et Message des sommets d instance et d action Les v nements pouvant concerner autant des sommets que des arcs les messages peuvent comporter de l information afin de sp cifier le type et l orientation d un arc ajouter 4 3 3 Exemples Cette sous section illustre le mod le d abstraction SAMURAATE par trois exemples simples et compl mentaires aux niveaux Instances Actions et v nements Les symboles des l ments et des relations permettant de figurer les abstractions pour ces exemples sont d crits dans les tableaux 4 0 a et 4 0 b page 78 Ex cution d un processus Un exemple au niveau Instances est un ordinateur qui ex cute un processus La figure 4 3 page 82 illustre cet exemple L ordinateur comporte une m moire vive une m moire de masse un processeur et des connecteurs interm diaires Le processus comporte une empreinte en m moire vive un fichier ex cutable une activit et des flux interm diaires Les abstractions SAMU RAAIE qui correspondent un tel exempl
299. tribu ted Middleware on Grid 5000 dans IEEE diteur EXPGRID Workshop Paris France Experimental Grid Testbeds for the Assessment of Large Scale Distributed Apllications and Tools In conjunction with HPDC 15 p 1 8 juin 2006 CHOUHAN P K Automatic Deployment for Application Service Provider Environments Th se de doctorat cole Normale Sup rieure de Lyon septembre 2006 LACOUR S Contribution l automatisation du d ploiement d applications sur des grilles de calcul Th se de doctorat Universit de Rennes I d cembre 2005 BOLZE R CAPPELLO F CARON E et al Grid 5000 A Large Scale and Highly Reconfigurable Experimental Grid Testbed International Journal of High Performance Computing Applications vol 20 n 4 novembre 2006 p 481 494 Capit N Costa G D GEORGIOU Y et al A Batch Scheduler with High Level Components dans Proceedings of Cluster Computing Grid 2005 CCGRID 05 p 776 783 2005 CUDENNEC L CoRDAGe un service g n rique de co d ploiement et red ploiement d applications sur grilles Th se de doctorat Universit de Rennes I janvier 2009 SIMON H A Les sciences de l artificiel chap L intelligibilit des mondes naturels et artificiels p 33 34 Gallimard janvier 2004 traduit par Jean Louis Le Moigne KUCHLING A VAN Rossum G JR F L D et WARD G Python 2 5 Documen tation Python Software Foundation septembre 2006 TH
300. ts dans l abstraction Application Pour la copie du r pertoire il ajoute un l ment Blob ayant les m mes valeurs de taille et de m dium que l l ment original relie cette copie l original par une relation de copie d truit les relations d acc s et d agr gation de l original avec les l ments Flux et Processus et enfin reconstruit ces relations d truites pour la copie Contrairement l original dont l tat est TERMIN et qui reste associ avec la m moire de masse de l ordinateur de l utilisateur cette copie est d abord en attente et n est pas encore associ e Afin d ajouter les copies des fichiers de r sultats le gestionnaire Associateur d truit les relations de liaison des l ments originaux avec l l ment M moire du r pertoire personnel de l utilisateur sur son ordinateur ajoute des l ments Blob de copie ayant les m mes valeurs de taille et de m dium que ces fichiers relie ces copies aux originaux par des relations de copie et enfin reconstruit les relations de liaison avec la m moire de l ordinateur d truites pour les copies Contrairement au cas pr c dent de copie ces copies sont associ es et les originaux ne le sont pas encore Une fois ajout es les copies le gestionnaire Associateur retente et r ussit l association de tous les l ments de contenu en attente Il relie donc par des relations de liaison l l ment Ordinateur de la station avec les l ments Processus de l application l l men
301. tu e deux niveaux Le premier niveau comporte les n uds sp cialis s soit pour le calcul soit pour les entr es sorties Les premiers sont exploit s par des syst mes micro noyau ne supportant qu un seul traitement la fois et les seconds sont exploit s par des syst mes GNU Linux 40 Au second niveau d exploitation se trouve une station de tra vail galement exploit e par GNU Linux sur laquelle est ex cut l ordonnanceur LoadLeveler d IBM Toutes les applications doivent passer par ce gestionnaire Les services de m morisation sur la baie externe pilot s par le syst me de fichiers g n ral et parall le d IBM General Parallel File System GPFS 41 sont rattach s aux n uds d entr e sortie Enfin les services d adressage au travers des connecteurs haute performance sont mat riels et propri taires Syst me d exploitation des grappes Beowulf De m me que celle de Blue Gene l exploi tation des grappes d ordinateurs de type Beowulf est effectu e deux niveaux Les n uds de calcul et le n ud frontal sont exploit s par des syst mes GNU Linux et un gestionnaire de lots tel que le gestionnaire de ressources et de files d attente Terascale Open Source Resource and QUEue Manager TORQUE Les n uds de calcul disposent de services de m morisation locaux pour des fichiers temporaires et se partagent un service de m morisation tel qu un syst me de fichiers mis en r seau Networked File System NFS ou Lustre 42
302. ture Morgan Kaufmann 1999 Intel R Intel R Threading Building Blocks Reference Manual dition Intel R Threa ding Building Blocks juillet 2009 RICHARDSON H High Performance Fortran history overview and current develop ments avril 1996 BARBARA CHAPMAN R v d P Gabriele Jost Using OpenMP Portable Shared Memory Parallel Programming coll Scientific and Engineering Computation Massachusetts Institute of Technology Press octobre 2007 GROPP W LUSK E et SKJELLUM A Using MPI Portable Parallel Programming with the Message Passing Interface Massachusetts Institute of Technology Press dition 2nd edition 1999 KORPELA E WERTHIMER D ANDERSON D et al SETI home Massively Dis tributed Computing for SETI Computing in Science and Engineering janvier 2001 ANDERSON D P BOINC A System for Public Resource Computing and Storage dans 5th IEEE ACM International Workshop on Grid Computing novembre 2004 163 18 AMAR A BOLZE R BOUTEILLER A et al DIET New Developments and Recent Results dans LEHNER ET AL EDs diteur CoreGrid Workshop on Grid Middleware in conjunction with EuroPar 06 Dresden Germany n 4375 coll LNCS p 150 170 Springer ao t 2006 19 OMG Common Object Request Broker Architecture CORBA Specification version 3 1 janvier 2008 20 HENNING M A New Approach to Object Oriented Middleware
303. ture DCI f d re un ensemble d ordinateurs r partis en un domaine de d ploiement unifi Un gestionnaire d infrastructure DCI DCI Manager manipule alors ces ordinateurs et les fabriques d assemblage d ployer Chaque ordinateur est repr sent par un gestionnaire d ordinateur Node Manager qui manipule localement le serveur de composants les archives de composants et qui peut fournir des meta donn es Chaque fabrique d assemblage est repr sent e par un gestionnaire de fabrique d assemblage Assembly Factory Manager qui cr e ou d truit l assemblage via les gestionnaires d ordinateurs Tous les gestionnaires sont manipul s par des scripts shell et sont enregistr s dans le service de d signation d objets CORBA Fractal Le cadriciel Proactive 86 implantant le mod le de composants Fractal requiert deux types de descripteurs afin de g rer le d ploiement de ses applications Ceux du premier type produits par les administrateurs des ressources sont appel s descripteurs de d ploiement Les descrip teurs du second type produits par les d veloppeurs d applications sont appel s descripteurs d application Les descripteurs de d ploiement comportent les descriptions des ressources en termes de noms d ordinateurs et de capacit d accueil de processus ou de machines virtuelles Java Les descriptions d applications comportent les besoins en ressources des applications et la description de l application elle m me en termes d
304. type ANGE 5 1 Introduction L architecture ODD SAMURAAIE que propose le chapitre pr c dent permet de d ployer dynamiquement une application dans le contexte fortement contraint de l informatique haute performance Elle comporte deux mod les compl mentaires Le premier utilise des graphes orien t s afin d abstraire le syst me Le second d finit des acteurs afin d automatiser le d ploiement Cette architecture ne pr cise cependant pas comment elle pourrait tre implant e Ce chapitre propose une implantation prouvant le concept d architecture de d ploiement dynamique d application Il commence par en donner les g n ralit s Puis il en explique succes sivement les deux parties correspondant aux mod les compl mentaires SAMURAAIE et ODD Il explique ensuite comment le support de nouvelles technologies peut tre ajout dans cette implantation Enfin il discute cette implantation 5 2 G n ralit s Appel Adage Nouvelle G n ration Adage New GEneration ANGE l implantation de l architecture ODD SAMURAAIE est un moteur de d ploiement automatique Il se pr sente sous la forme d une biblioth que comportant deux parties distinctes La premi re implante le mod le SAMURAAIE d abstraction des syst mes informatiques et la seconde le mod le ODD d automatisation de d ploiement d applications La seconde partie utilise la premi re Cette im plantation comporte 3214 lignes uniques de code Single Lines Of Code
305. uiert le contr le via son port de contr le d ex cution entrante 2 Le n ud acquiert les donn es d entr e via ses ports de donn es d entr e 3 Le n ud s ex cute et communique avec d autres n uds via ses ports de flux de donn es entrantes ou sortantes 4 Le n ud fournit les donn es de sortie via ses ports de donn es de sortie 5 Le n ud rend le contr le via son port de contr le d ex cution sortante Discussion Gr ce son mod le de composants la plate forme SALOME permet de programmer des simulations num riques parall les et r parties h t rog nes et dynamiques Pour le parall lisme et la r partition ces simulations peuvent comporter plusieurs composants SALOME dont cer tains peuvent tre parall les eux m mes gr ce PACO et par ailleurs les n uds compos s peuvent avoir une structure de contr le parall le telle que ForEach Pour l h t rog n it les composants SALOME tant des objets CORBA les simulations peuvent donc comporter des implantations de composants dans des paradigmes et des langages de programmation diff rents Quant la dynamicit les simulations l obtiennent par le mod le de composants dynamiques DSC par les connexions de type flot de donn es et par les n uds compos s ayant une structure de contr le dynamique telle que Switch Conclusion Le mod le de composants de la plate forme SALOME permet l utilisateur de programmer ses simulations num riques sans
306. uppl mentaire Cependant le nom de l architecture persiste Grilles d ordinateurs Les ressources d une grille d ordinateurs comportent les ressources de plusieurs ordinateurs plusieurs grappes d ordinateurs ou les deux 11 Quand elle ne comporte que des grappes une grille est parfois appel e f d ration de grappes voire grappe de grappes Les interconnexions des grappes peuvent tre beaucoup plus longues que celles entre les ordinateurs d une m me grappe un niveau suppl mentaire appara t donc dans la hi rarchie de l infrastruc ture informatique De m me que dans une grappe le nombre d ordinateurs et de grappes d une grille peut varier au cours du temps mais contrairement une grappe ces ordinateurs peuvent tre diff rents En d autres termes les ressources d une grille sont parall les h t rog nes et dynamiques Plusieurs grilles d ordinateurs sont connues dans le monde Le projet de rendre les grilles aptes pour la science num rique Enabling Grids for E SciencE EGEE est soutenu par la commission europ enne et par de nombreux partenaires acad miques et priv s Son objectif est de produire une infrastructure informatique fiable et partag e entre une cinquantaine de pays Elle comporte 260 centres de ressources informatiques r partis de par le monde et f d re ainsi 92000 c urs de processeurs et plusieurs petaoctets de m morisation que peuvent utiliser plusieurs milliers de scientifiques Nuages d ordinateurs Le
307. us distincts de l ordina teur personnel de l utilisateur Le choix de l ordinateur permet d valuer le d ploiement sur des ressources distantes et imm diatement exploitables Le choix de la grappe permet d valuer le d ploiement sur des ressources la fois parall les et exploit es en diff r En supposant que des ordinateurs soient lib r s ou r cup r s pendant l ex cution de l application une grappe est ga 111 lement une architecture dynamique Enfin le choix de la f d ration de grappes permet d valuer le d ploiement sur des ressources parall les et dynamiques et h t rog nes Le choix des mod les d applications et de leur instances porte sur une application parall le une application param trique et une application en flot de travail Le choix de l application pa rall le est trivial Le choix de l application param trique galement qualifi e de ma tre esclaves permet d valuer le d ploiement d applications parall les En supposant que le nombre de res sources allou es cette application varie le mod le d application param trique est galement dynamique Enfin le choix de l application en flot de travail permet d valuer le d ploiement d applications parall les et dynamiques En supposant que les t ches de cette application utilisent des technologies diff rentes le mod le d applications en flot de travail est galement h t rog nes Pour chaque sc nario l utilisateur consid r dispose d
308. usceptibles d ex cuter des conteneurs de composants SALOME puis y installer les modules avec leurs d pendances et y construire les ap plications SALOME enfin d clarer ces ressources aupr s de la plate forme L utilisateur accepte cette contrainte pour un ordinateur local quelques ordinateurs en r seau voire une grappe d or dinateurs utilisant un service de m morisation attach au r seau en revanche il n est pas pr t l accepter pour une f d ration de grappes ou une grille d ordinateurs cause de l h t rog n it et de la dynamicit qu induisent de telles architectures 144 Le d ploiement de la plate forme SALOME sur les ressources de calcul haute performance contraint galement la plate forme SALOME elle m me et celle ci n est pas en mesure d exploi ter au mieux les performances de calcul offertes par les ressources En effet afin d interpr ter des sch mas le superviseur du module YACS demande des conteneurs de composants SALOME au gestionnaire de conteneurs et son tour celui ci demande des ressources au gestionnaire de ressources Le gestionnaire de ressources en choisit non pas seulement sur des crit res de perfor mance mais galement sur des crit res d installation des modules et des applications SALOME Ce gestionnaire n est pas en mesure de choisir les ressources les plus performantes si l utilisateur n y a pas install les modules avec leurs d pendances et construit les applications SALOME La g
309. ux AMD 64 bits cette application comporte les trois fichiers suivants Le premier fichier est le programme un binaire ex cutable faisant appel une biblioth que partag e Ce programme accepte deux param tres le nombre de processus et le chemin d acc s un jeu de donn es traiter Il crit syst matiquement ses r sultats dans des fichiers local output n o n est le rang du processus parmi tous les processus ex cut s parall lement La taille d un fichier de r sultats est toujours au moins 100 fois inf rieure celle du jeu de donn es traiter Le deuxi me est un fichier binaire de biblioth que partag e Il contient l implantation des fonctions d intercommunication par m moire partag e des processus Le troisi me et dernier fichier est un jeu de donn es traiter dont la taille est de 500 Mo L utilisateur a ouvert une session de travail sur son ordinateur personnel Il a un compte sur l ordinateur distant ordinateur qui fonctionne sans que personne d autre ne l utilise Ces deux ordinateurs sont interconnect s au sein du m me r seau local Les fichiers de son application se trouvent dans un sous r pertoire appli de son r pertoire personnel sur son ordinateur Enfin il ne sait pas quel nombre de processus ex cuter parall lement pour son application 112 6 3 2 Traitement avec ODD SAMURAAIE Cette sous section d taille d abord abstraction par abstraction comment le sc nario de d ploiement sur u
310. ux mais galement de l outil apt build dans Debian GNU Linux Si des outils standard sont de fait apparus avec le d veloppement de GNU Linux la fondation Linux comporte un groupe de travail sur l empaquetage packaging workgroup afin de produire un outil standard et ainsi viter aux d veloppeurs de devoir produire plusieurs paquets d une m me application L outil autopackage va dans cette direction Des outils de manipulation de paquets existent galement pour les utilisateurs Par exemple la communaut du langage de programmation Python a produit l outil easy_ install manipulant des paquets appel s Python eggs entrepos s dans l index des paquets Python Python Package Index Pypi Dans la communaut du langage ruby un outil similaire est appel rubygems Ces outils permettent l utilisateur d installer les fichiers o il le souhaite dans son r pertoire personnel par exemple Composants En termes de conditionnement un composant logiciel est g n ralement un paquet auquel ont t ajout es les d finitions d interfaces offertes par le composant qu il contient Ces interfaces sont d finies dans des fichiers particuliers inclus dans le paquet Par exemple les composants CCM sont des archives Zip comportant un fichier CSD d crivant les meta donn es du code implantant le composant et les ports offerts par ce composant ainsi qu un fichier de configuration des propri t s du composant s il en avait Un conditionnement similair
311. velopp afin de prouver le concept de cette architecture Ce chapitre met l architecture ODD SAMURAAIE l preuve du d ploiement automatique de plusieurs mod les d applications sur plusieurs architectures de ressources Il commence par pr senter les principes de cette preuve et par motiver des choix de mod les d applications et d architectures de ressources Ensuite il d taille successivement chacun des cas de d ploiement en valuant l architecture Enfin il discute les r sultats de cette preuve 6 2 Principes Le protocole d valuation de l architecture ODD SAMURAAIE comporte trois parties Il s agit d abord de fixer trois sc narios permettant de couvrir progressivement la plupart des cas de d ploiement dans lesquels un utilisateur puisse se trouver Chaque sc nario comporte une architecture de ressources un mod le d applications et surtout des instances pr cises de ceux ci Ces sc narios partagent le m me objectif l utilisateur d l gue les pr occupations du processus de d ploiement La deuxi me partie confronte l architecture avec chaque sc nario Il s agit d expliquer comment le sc nario est abstrait avec SAMURAAIE puis comment il est automatis avec ODD La troisi me et derni re partie de cette valuation consiste discuter les r sultats obtenus Le choix des architectures de ressources et de leurs instances porte sur un ordinateur une grappe d ordinateurs et une f d ration de grappes d ordinateurs to
312. vement sur les trois architectures de ressources suivantes Les applications param triques parall les et base de flots de travail Les ordinateurs les grappes d ordinateurs et les grilles d ordinateurs Cette section pr sente chacun des trois cas de d ploiement retenus du plus simple au plus complexe Pour chaque cas elle pr cise quels sont les ressources et leurs syst mes d exploita tion l application et les conditions initiales Elle d crit ensuite chaque tape du processus de d ploiement de l application sur les ressources compte tenu des conditions initiales 3 3 1 Application param trique sur ordinateur Le premier exemple est le processus de d ploiement d une application param trique sur un ordinateur distant Cas de d ploiement Un utilisateur veut d ployer son application param trique et il a acc s deux ordinateurs distants Les d tails de la situation dans laquelle il se trouve suivent Ordinateurs Les ordinateurs auxquels l utilisateur a acc s sont deux stations de travail multi processeur La premi re a deux processeurs AMD 64 bits avec chacun quatre c urs Elle a galement 2 Go de m moire vive et un disque dur SCSI sur lequel se trouve le r pertoire personnel de l utilisateur ainsi qu un r pertoire d criture temporaire scratch de 100 Go chacun La seconde a quatre processeurs 1686 32 bits ayant chacun deux c urs Elle a galement 4 Go de m moire vive et trois disques durs SATA en RA
313. venu un des secteurs conomiques les plus fleurissants dans lequel se sont constitu es des fortunes consid rables et auquel la plupart des entreprises ont recours Dans le secteur de l nergie par exemple dans un groupe tel que lectricit De France EDF les services de recherche de d veloppement et d ing nierie disposent d infrastructures informatiques haute performance afin de recourir la simulation num rique pour leurs activi t s Ces services acqui rent ou produisent eux m mes les applications pour ces infrastructures applications dans les domaines vari s d un tel groupe des courants thermiques au coeur d une centrale nucl aire au investissements quotidiens sur les march s financiers en passant par la prise en compte des variables m t orologiques et socio culturelles dans la d termination des niveaux de production d lectricit L exploitation de ces infrastructures informatiques est elle m me de plus en plus automatis e 1 2 Des syst mes informatiques haute performance difficiles utiliser Afin d utiliser de telles infrastructures les utilisateurs doivent d ployer leurs applications sur les ressources qu elles comportent Dans son acception la plus large qui est celle que ce document utilise le d ploiement d une application est le processus qui m ne celle ci son tat de fonctionnement partir de son tat de conditionnement issu de son d veloppement Ce processus comporte les tapes d allocat
314. vous avez anim le partenariat EDF R amp D INRIA Rennes dont cette th se faisait l objet et avez assur les conditions qui m ont conduit jusqu au titre Merci Christine pour le temps que tu as pu m accorder Samuel pour tes explications et ton optimisme et Christian pour la force que tu m as transmise Merci vous aussi membres de l atelier IRISA et membres du projet SALOME EDF R amp D pour votre patience et pour vos pr cieux conseils Je remercie galement tous ceux qui m ont transmis la passion de l informatique et qui m ont permis d en faire mon m tier Merci vous MM Ollier Chaunier et Girard d avoir initi le coll gien puis le lyc en que j tais dans les ann es 1990 Merci vous MM Pollet et Emptoz du d partement Premier Cycle ainsi qu tous les membres de l quipe de M Pinon du d partement Informatique l INSA Lyon Vous avez fait de moi l ing nieur INSA que je suis avant tout Merci galement vous membres des quipes de M Villard du d partement Math matiques et Informatique l ENS Lyon et de M Priol du projet PARIS l INRIA Rennes Pour m avoir accueilli et form dans vos prestigieuses entreprises merci vous membres de l quipe de M Arias des Global Deployment Services chez Hewlett Packard membres de l quipe de M Iffenecker du SEPTEN chez EDF et membres des quipes de MM Berthou Gayrard et Bateman de SINETICS chez EDF R amp D J ai appr ci collaborer avec vous et vous
315. yer ses simulations num riques I montre ensuite comment le d ploie ment de ces simulations peut tre d l gu l architecture de d ploiement dynamique ODD SA MURAAIE en conservant les m mes contraintes pour l utilisateur pr sente une implantation de cette d l gation et la valide par une exp rience de d ploiement d une simulation num rique avec ANGE Enfin ce chapitre d crit les volutions de SALOME qui permettront de lib rer l utilisa teur des contraintes et d exploiter des infrastructures informatiques h t rog nes et dynamiques pour les simulations num riques 7 2 SALOME et son approche du d ploiement 7 2 1 Introduction SALOME est une plate forme mono utilisateur de simulation num rique Un utilisateur de SALOME peut y r aliser toutes les tapes d une simulation num rique de la d finition de structures g om triques la visualisation de r sultats en passant par la programmation de sch mas de calcul Un utilisateur peut r partir l ex cution de la plate forme SALOME entre des ressources de calcul haute performance gr ce l infrastructure base de composants de celle ci fond e sur l architecture d objets distribu s CORBA Common Object Request Broker Architecture Un d veloppeur de programme de simulation num rique peut int grer celui ci sous la forme d un composant SALOME afin que des utilisateurs puissent l utiliser dans leurs simulations SALOME est une plate forme de simulation num rique
316. ystems dans LEAVENS G T et SITARAMAN M diteurs Foun dations of Component Based Systems p 47 68 Cambridge University Press 2000 165 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ALLEN R Formal Approach to Software Architecture Th se de doctorat Carnegie Mellon School of Computer Science janvier 1997 Issued as CMU Technical Report CMU CS 97 144 MAGEE J DULAY N et KRAMER J Structuring Parallel and Distributed Pro grams Software Engineering Journal vol 8 1993 p 73 82 LACOUR S P REZ C et PRIOL T Generic Application Description Model Toward Automatic Deployment of Applications on Computational Grids dans 6th IEEE ACM International Workshop on Grid Computing Grid2005 Seattle WA USA Springer Verlag novembre 2005 BOUZIANE H De l abstraction des mod les de composants logiciels pour la programma tion d applications scientifiques distribu es Th se de doctorat Universit de Rennes I f vrier 2008 OMG OMG Unified Modeling Language UML Infrastructure version 2 2 f vrier 2009 WOLSKI R SPRING N T et HAYES J The Network Weather Service A Distri buted Resource Performance Forecasting Service for Metacomputing Future Generation Computer Systems vol 15 n 5 6 1999 p 757 768 LEGRAND 1 NEWMAN H Vorcu R et al MonALISA An A

Download Pdf Manuals

image

Related Search

Related Contents

Ameriphone JB-20 Telephone User Manual  HP DV4200 User's Manual  Ultrasonic tester UK1401. User manual. 2 CONTENT 1  Téléphone - Messagerie vocale  Rio PECA  Nilfisk-Advance America GW 210 User's Manual  Intel SR1630BC server barebone  2011 - octobre  ASUS WT720 User's Manual  Manual  

Copyright © All rights reserved.
Failed to retrieve file