Rapport de Recherche. La visualisation distante. 4 rue Léonard de Vinci BP 6759 F Orléans Cedex 2 FRANCE.

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

Download "Rapport de Recherche. La visualisation distante. 4 rue Léonard de Vinci BP 6759 F-45067 Orléans Cedex 2 FRANCE. http://www.univ-orleans."

Transcription

1 4 rue Léonard de Vinci BP 6759 F Orléans Cedex 2 FRANCE Rapport de Recherche La visualisation distante Sébastien Limet, Souley Madougou, Emmanuel Melin et Sophie Robert Université d'orléans LIFO Rapport N /12/2006 1/62

2 Étudedecomposantslogicielspourlavisualisationdistribuée hauteperformance Lotn 2:Étatdel'artsurlavisualisationdistante Rapportdesynthèsesurlessolutionsétudiées Préparépar Laboratoired'InformatiqueFondamentaled'Orléans(LIFO) ProjetParallélismeRéalitéVirtuelleetVérification(PRV) BâtIIIA,RueLéonarddeVinci BP OrléansCedex Rédigépour Commissariatàl'EnergieAtomique CEA/DIF/DSSI/SNEC CentreCEABruyères le Châtel 91680Bruyères le ChâtelCedex 2/62

3 Tabledesmatières I.Introduction... 4 II.Classificationenfonctiondulieudurendu Scénario1(Imagestreaming) VNC OpenGLVizserver HPRemoteGraphicsSoftware VirtualGLetlestravauxdel'UniversitédeStuttgart Scénario2(Rendulocal) RemoteDisplayX Approchedatastreaming Approchedatastreamingavecmulti résolution Scénario3(Approchesmixtes) Visapult PrototypeduSCIInstitute Universitédel'Utah VisualisationconcurrentedeAmes(NASAAmesResearchCenter) III.Modèlesdecommunications RéseausurlemodèleTCP/IP Approcheparcomposants CCM CCA Servicesweb Globus ApprocheFlowVR Descriptiongénérale ArchitectureFlowVR IV.Systèmesautonomes Amira Covise Approche Architecture EnSight Approche Architecture ParaView Descriptiongénérale Infrastructure VisIt Approche Architecture Covisa/CovisaG/gViz Covisa/CovisaG ProjetgViz:Intergicieldevisualisationpourlese Sciences Modèleencouches Miseenpratiquedumodèle /62

4 6.5 BibliothèquegViz DIVA SciRun/SciRun SciRun SciRun Mbender EncodeurJavascript QuickTimeVRobjectMovies Navigationinteractivedansdesimagespré renduesenmulti résolution CumulVS Approche Architecture EnvironnementpourlePilotagedeSimulationsNumériques Approche Architecture Cactus Modèle Parallélisme Visualisationdistanteetanalysededonnées V.Conclusion /62

5 I. Introduction Lavisualisationdedonnéesestdeplusenplusexploitéedansdenombreuxdomainesscientifiques (géologie, biochimie, mécanique,...). Son utilité ne s'arrête pas à l'illustration de résultats d'expériencesoudesimulationàdesfinsdevulgarisationmaiselledevientunélémentessentiel danslacompréhensiondephénomènesétudiésdanslesdifférentesdisciplinesscientifiques. Danstouslescas,faceauxenjeuxdelacomplexitédessimulationssous jacentesetdelatailledes données générées, le développement des applications scientifiques se base désormais sur des systèmes parallèles et distribués. Ainsi, il devient classique d'envisager un déploiement d'une applicationsurtroissitesparexemple.lepremierestencharged'exécuterlecodedelasimulation, ledeuxièmepermetlestockagedesdonnéesgénéréesouparamètresdelasimulationetenfinle derniersiteréalisel'affichagedesrésultats.cetétatdel'arts'intéresseàcedernierpoint.eneffet,la visualisation distante [18; 19] implique des contraintes particulières qui obligent à définir des solutionsspécifiquestenantcompteparexempledesbesoinsenfluiditédel'affichage. Nousnoussommesainsiintéressésàdifférentessolutionsdevisualisationdistanteafind'obtenir uneclassificationpermettantdejugerdeleurqualitéenfonctiondesattentesdesutilisateurs.il existeplusieursfaçonsdeclassifierlesdifférentessolutionsdevisualisationdistante.nousavons choisid'abordercetteclassificationenfonctiondulieudurenduquiinfluesurlesperformancesen termedetauxderafraîchissementdel'imageparrapportàlaqualitéduréseau.cepointdevue permetdetraiterlesdifférentesméthodespossiblespourrépartirlepipelinegraphiqueentreles deuxsitesimpliquésetd'envoirlesavantagesetlesinconvénients.ilferal'objetdelapremière partiedecedocument.ensuitelavisualisationdistantes'appuiesuruneinfrastructureréseaudont dépendentlesperformancesfinales.cetteinfrastructurepeutêtreunesimpleconnexiondetype socketous'appuyersurdesconceptsplusgénérauxquivisentàformaliserlesaspectsréseaupour desdéploiementsdetypegrid.cesaspectsferontl'objetdeladeuxièmepartiedecedocument. Cettepartienouspermettradedécriredifférentsmodèlesdecommunicationquiapportentouqui pourraient apporter à la visualisation distante un cadre de développement tout à fait pertinent. Enfin,ilexistedéjàaujourd'huidessystèmesquenousqualifionsd'autonomesdédiésdirectement ouindirectementàlavisualisationdistante.cessystèmesserontdécritsdanslatroisièmepartiede cerapport.ilsviendrontillustreràlafoislaclassificationselonlelieudurenduetlesdifférents modèlesdecommunicationpossibles.deplus,untableaugénéralviendrarésumerl'ensembledes systèmescitésenfonctiondesqualitésd'unesolutiondevisualisationdistantesoit: lesperformances(réseau,framerate), lesdépendancesmatériellesetlogicielles, lesdépendancesgraphiques lagénéralitéetleniveaudusystème(middleware,framework,...) lesmodalitésdedisponibilité(commerciales,opensource)etlestatutdedéveloppementet demaintenance l'évolutivitéetl'ouvertureversdesfonctionsplusavancées(collaboratif,steering) 5/62

6 II. Classificationenfonctiondulieudurendu Danscettepremièrepartie,ils'agitdedécriredessolutionsdevisualisationdistanteenfonctiondu lieud'exécutiondurendu.pourcelaonsupposequelesdonnéesinitialessontstockéessurune machinedistante(simplepc,grappeousupercalculateur)appeléeserveuretquel'affichageest effectuéàpartird'unedeuxièmemachineenlocal(ordinateurdebureau,grappepilotantunmur d'images,...)appeléeclient.danscecontexte,ilestpossiblededécrirel'ensembledesétapesqui précédentl'affichagesousformedupipelinedonnéfigure1 données brutes Simulation Stockagedes résultats pré rendu rendu Serveur Scénario 1 Serveur Affichage Net Net Client Client Scénario 2 Serveur Net Client Scénario 3 Figure1:Pipelinedelavisualisationdistanteetrépartitionclient/serveur(schémainspiréde[47]).«Net»désigne l'opérationdetransfertdesdonnéesentreleserveuretleclient. où l'étape«simulation»estfacultativeetdésignelescalculseffectuéssurlesdonnéesbrutes, l'étape«pré rendu»désigneunepartiedupipelinedevisualisationavecparexemplele calculdelagéométrie,etestcomplétéeparl'étape«rendu»(graphique). Danscecontextenousavonsretenutroisscénariossurlesquatrepossibles: 1. Scénario1:leserveureffectueentièrementlerenduetenvoiedesimagesauclientpour l'affichage.cettetechniqueestconnuesouslenomd'imagestreaming. 2. Scénario2:leserveureffectuelasimulationet envoielerésultatauclientquicalcule entièrementlerenduavantl'affichage. 3. Scénario3:ilyaunerépartitiondechargedesopérationsentreleserveurquieffectuele pré renduetleclientquiréaliselerendu. Ledernierscénarioconsisteraitàenvisagerleserveurcommeunsimplelieudestockage(basede données)avecunclientquieffectueentièrementlasimulation,lerenduetl'affichage.danslecadre d'uneétudesurlavisualisationdistante,nousconsidéronscescénariocommesimilaireauscénario 2oùlerenduesteffectuéenlocal. 6/62

7 1. Scénario1(Imagestreaming) Lebesoinenvisualisationdistantevientessentiellementdelanécessitédereporterdessimulations lourdesencalculsurdessitesspécialiséséquipésensupercalculateursouengrappes.lavolonté ensuitedevisualiserlesdonnéesgénéréessoitsuruneplate formelocaledevisualisationsoitmême sursapropremachinedebureauestnaturelle.lapremièreidéedanscecontexteestdeprofiterde la puissance de calcul distante pour également procéder au calcul de rendu pour n'envoyer à l'utilisateurqu'unfluxd'images(imagestreaming).cettetechniqueabiensûrcommeprincipal avantagedeneriendemanderdespécifiqueauposteclient.ellepermetégalementd'assurerla confidentialitédesdonnéesennefaisanttransitersurleréseauquedespixelsetnondesdonnées brutes.enrevancheleprincipalinconvénientdecetteméthodeestqu'ellesolliciteleréseaupour l'envoidesimagesrelativesàchaquechangementd'unparamètrelocaldevisualisation(pointde vue,...).mêmesilabandepassantedemandéen'estdépendantequedelarésolutionlocaleetnonde latailledesdonnéesoudelacomplexitédurendu,cesenvoisrépétéspeuventrestreindrelaqualité dutauxd'imagesàl'arrivée.danscescénario,lafluiditédurenduinteractifnécessiteunréseauà faiblelatence. Danscettesection,nousallonsdécriretroissolutionsd'imagestreaming(VNC,OpenGLVizserver et VirtualGL) qui font référence et sont très utilisées. Par exemple, VaPOR développé par le National Center for Atmospheric Research qui a pour ambition de proposer une plate forme d'analysesetdevisualisationdedonnéesfaitappelàvizserverpourl'aspectvisualisationdistante. Autreexemple,leprojetTACCdel'universitéduTexaspourlecalculscientifiques'appuiesur Maverickuneplate formelogicielleetmatériellededéploiementd'applicationsscientifiquesqui intégrevirtualgl/vncpourledéportdel'affichagesurunposteclient.lescentresdecalcul nationauxcinesetidrisutilisentvizserverdepuisdesannées,exploitantainsidesmachinesde puissancesgionyxauprofitd'utilisateursrépartissurtoutelafrance. 1.1 VNC VNCpourVirtualNetworkComputing[58]estunprotocoled'affichagedistants'appuyantsurle réseautcp/ip.lapremièreapplicationviséeestlebureauvirtuel.ils'agitdepermettreunaccèsà sonbureauàpartirden'importequelpostereliéàinternetviaunsimplenavigateurparexemple. VNCserveur ProtocoleVNC VNCviewer Figure2:Principedel'affichagedistantVNC Le protocole VNC estbasésur unearchitecture client/serveur avec unprotocole d'accès et de transfertduframebufferverslamachinelocaleselonunencodagenégociéentreleserveuretle 7/62

8 client.l'apportdevncsesitueàlafoissurlaconceptiond'unclientléger(viewer)(cffigure2)et surl'encodagedesdonnéesadaptéautypedelatransmission,soitunensembledefenêtres.les encodagespossiblessontentreautresl'encodageparcopiederectangles,adaptéauxmodifications detypeascenseurdansunefenêtre,etl'encodageséparantleszonesdubureauquicorrespondentau fondd'écranetleszonesquicorrespondentréellementàdesdonnées. Il s'agit donc d'une première approche de l'image streaming sachant que VNC est adapté à l'affichage du bureau d'un utilisateur, affichage qui ne nécessite pas une fréquence de rafraîchissement trop élevée. Par contre dans le cas de la visualisation scientifique, les performancesdeceprotocolepeuventêtreinsuffisantes. 1.2 OpenGLVizserver CettesolutionestunesolutioncommercialedéveloppéeparSiliconGraphics [57].Ellepermetà touttypedeclients(pc,portable,grappe)quelquesoitsonsystèmed'exploitation,d'accéderaux ressourcesd'unemachinegraphiquesgi(onyxousilicongraphicsprism)etd'afficherlerésultat surleclient.deuxmodesd'affichagesontdisponibles,soitparapplicationsoitlebureaucomplet. OpenGLVizserverestbaséesurunearchitectureclient/serveur,surlesbibliothèquesOpenGLet X11 associées à des wrappers et sur des bibliothèques supplémentaires qui vont permettre de complétercertainesfonctionsopengletx11pourlesopérationsdetransfertversleclient.le principe général est illustré par la figure 3. L'application OpenGL classique fonctionne sur le serveurenutilisantnonpaslesbibliothèqueslibgl.soetlibx11.sonativesmaislesbibliothèques «wrappées»d'openglvizserverquiagissentsurcertainesfonctionsopengl.labibliothèque libvsx.sopermetdegérerlesinformationsnécessairesàopenglvizserverpourletransfertdes imagesauclient. Serveur(ressourcesgraphiques) application OpenGL + wrappers Run time system + vssession Client(affichage) évènement framebuffer OpenGL vizserver client Segmémoirepartagée Figure3:Principed'OpenGLvizserver. Undeuxièmeprocessusvssessionalachargedecompresseretd'envoyercesdonnéesgrâceàun protocole entre libvsx.so et vssession basé sur le partage d'un segment de la mémoire. A la réception d'un événement par exemple de type swap buffer de la part du client, l'application OpenGLgèrelereadbackduframebufferetvssessioncompresseetenvoiel'imageadaptéeàla 8/62

9 résolutionduclient. Lesperformancesdépendentdestechniquesdecompressionutilisées(tauxdecompressionetcoût encpu)etbiensûrdelabandepassantedisponible.demanièregénéralesurunréseaulan100 Mbit,lesperformancessontdel'ordrede10à30fpsenfonctiondutauxdecompressionpourune résolution1280x HPRemoteGraphicsSoftware HPproposeégalementunesolutionlogicielleanalogueàOpenGLVizserverbaséesurdel'image streamingviadescommunicationsdetypetcp/ip [27].Lerendueffectuésurleserveurdistant s'appuiesurl'accélérationmatériellepourgénérerl'imagerésultantequiestcompresséeetenvoyée auclient. 1.4 VirtualGLetlestravauxdel'UniversitédeStuttgart LeprojetVIS(VisualizationandInteractiveSystems)del'universitédeStuttgartapourthèmede recherchelavisualisationscientifique,enparticulierlerenduvolumiqueetabordelaquestiondela visualisationdistantedansdifférentstravaux.lepremieraxederecherche[56]abordel'approche servicewebdelavisualisationdistanteetseradécritdanslapartie4decerapport. VIS s'intéresseavant tout àla visualisation3d.le deuxièmeaxe derecherche concerne donc l'utilisationdurendubasésurdel'accélérationmatériellepourobtenirunframeratecorrect,même sil'affichagen'estpasréalisésurlesiteoùs'effectuelescalculs.ainsiceprojetabordelerendu distantselonlescénario1.leurapprocheestdepermettreàtouteapplicationbaséesuropenglet GLXd'êtreutiliséesurdeuxsitesdistantssansaucunemodificationducode.Elleaétéimplémentée (pardesdéveloppeursinconnus)souslenomdevirtualgl,disponibleenopensource. a) Descriptiongénérale UneapplicationOpenGL/GLXpeutfonctionnerenmodedirectcommel'illustrelafigure 4.Ce modeappelé«directrendering»permetauxcommandesopengld'êtreadresséesdirectementàla cartegraphiquesanspasserparleserveurx.pourlemomentcemodeestobligatoirelorsqu'on souhaiteutiliserl'accélérationmatérielledelacartegraphiqueduserveur.cependant,danscecas, l'affichagesurunsitedistantdel'imagerésultanten'estpasimmédiatetnepeututiliserledéportde l'affichage. Application Xlib ÉvénementX Serveur X CommandeX libgl GLX OpenGL Carte graphique Figure4:LemodedirectpourOpenGL/GLX 9/62

10 LestravauxdeVIS [52] consistentàutiliserlemodedirectassociéàdel'imagestreamingpour transmettre l'image au client pour affichage. En profitant des propriétés d'une édition de liens dynamique,leursolutionpermetsansaucunemodificationdeprocéderàdelavisualisationdistante àpartirdetouteapplicationécriteenopengletglx,quifonctionneenlocal. L'architecture finale est basée sur le développement d'une bibliothèque supplémentaire à GLX (appeléeiciglx+)quivapermettreletraitementparticulierdecertainesfonctionsglxafinde transmettrel'imageauclient.parexemple,àl'appeldelafonctionglxswapbuffers,letraitement consistera à lire le framebuffer puis à transmettre l'image résultante au client via la méthode XputImageouXshmPutImage.Lapremièresolutionproposéerépondàl'architectureillustréeparla figure5. Cettearchitectureaétéaméliorée[53;54]afind'intégrerplusfacilementdesoutilsdecompression adaptésàl'application.ainsiaprèslectureduframebuffer,l'imageestcompresséeetenvoyéeau client.alaréceptiondel'imageparleclient,elleestdécompresséeettraitéeparsonserveurx. SeulleserveurXduserveurdoitreconnaîtreGLX. b) VirtualGL CettedernièrearchitectureaétédéveloppéesouslenomdeVirtualGLenopensource [49].Le serveur utilise la bibliothèque appelée GLX+ dans ce rapport et le client est constitué principalementd'undémonenécoute.cedernier,àlaréceptiondedonnées,lesdécompresseet reconstituelespixelsdanslafenêtrexvoulueavanttraitementparleserveurx. Application OpenGL/GLX GLX+ GLX OpenGL Lect.Framebuffer OpenGL/ GLX/XLib ServeurX Événement Image ServeurX Affichage/Interaction Client Cartegraphique Serveur Figure 5 : Architecture OpenGL/GLX en mode direct avec image streaming Ilestégalementpossible,àpartirdumodedirect,d'utiliserunproxyXquivaprendreenchargela réceptiondescommandesetdesévènementsxmaiségalementlacompressionetl'envoidel'image résultante. VirtualGL propose donc une architecture supplémentaire qui intègre la bibliothèque GLX+pourutiliserl'accélérationmatériellemaisVNCcommeproxyafindegérerladétectiondes changementsd'affichage,lacompressionetl'envoidesimages.leclientdoitalorsêtreunclient VNC tel que décrit à la section 1.2. En terme de performances, il est en revanche préférable d'utiliserlasolutionsansproxyàcelleavecvnccarcedernierprotocoleestsurtoutadaptéaux 10/62

11 applications2ddetypebureau(donnéesmajoritairementstatiquesavecdegrandsblocsdemême couleur). 2. Scénario2(Rendulocal) De manière symétriqueauscénarioprécédent,certainessolutions devisualisationdistante sont baséessurunrenduenlocal.lescommandesgraphiquessontalorsenvoyéesauclientdontles ressources (la carte graphique essentiellement) doivent être suffisantes pour assurer le rendu correspondant.l'avantagedecettefamilledesolutionsestuneutilisationmoinsfréquentedela ressourceréseau.eneffet,tantquelesdonnéesnesontpasmodifiées,l'utilisateurpeutinteragir avecl'affichagesansdemanderdenouvellescommunications.cependant,lescommunicationssous jacentespeuvents'avérertrèsvolumineusesetsurtoutbeaucoupmoinsmaîtriséesquedanslecasde l'imagestreamingoùlesdonnéesenvoyéessontdespixelsdontlenombredépenduniquementdela résolutionduclient. Endehorsdel'approchebrute,lessolutionsquenousallonsdécriresontbaséessurdestechniques demulti résolutionsquipermettentdes'adapteràlabandepassantedisponibletoutenassurantun affichagecontinudesdonnées. 2.1 RemoteDisplayX Lasolutionlaplussimplepourprocéderàl'affichagesurunsitedistantestd'utiliseruneconnexion distanteauserveurdecalculs(sshparexemple)puisd'exporterl'affichagesurlamachinelocale. Cartegraphique Application ClientX Serveur Requêtes d'affichage ServeurX Client Figure6:PrincipeduRemoteDisplay AtraversleprotocoleX11touteslesrequêtesd'affichagesontalorsenvoyéesviaTCP/IPauserveur Xduclientselonl'architecturedonnéefigure6.Lesimagessontdoncbiencalculéesenlocaletce sontlescommandesgraphiquesquitransitentsurleréseau.x11estuneapi2d,leprotocolepeut toutefoisvéhiculerdesordres3dcomprisparuneextensiondetypeopengl. 11/62

12 Application ÉvénementX Xlib CommandeX libgl OpenGL OpenGL/GLX Serveur X Carte graphique Figure7:Lemodeindirectd'OpenGL PourlesapplicationsOpenGL,onretrouveceprincipedanslemodeappelémodeindirectoules commandes OpenGL issues du serveur, qui exécute l'application, sont transmises à la carte graphiqueduclientviasonserveurxcommelemontrelafigure Approchedatastreaming Ladeuxièmeapprochedevisualisationdistanterespectantlescénario2,s'appuiesurunlogicielde visualisationexécutésurleclientquicommuniqueavecleserveurcontenantlesdonnéesàafficher. Cette communication peut être de deux types. Soit l'écriture des résultats est effectuée sur un système de fichiers basé sur un montage réseau de type NFS soit les résultats sont transmis explicitement au logiciel de visualisation. Par exemple dans [22], le code GTC (Gyrokinetic ToroidalCode)fournitdesrésultatsécritsdansdesfichiersauformatHDF5.Leclientexécute AVS/ExpressoùExpressaétéenrichid'unefonctiondecommunicationsparsocket.Cettedernière permetàavs/express derecevoirlesdonnéesàafficher,soitlefichierhdf5souhaité,etde calculerlerenducorrespondantpourl'affichage.cependant,lorsquelesdonnéesàvisualisersontde grandetaille,lecodequilesgénèrepeutêtreparallèle.danscecas,ilestintéressantsoitdefaire appelàdessystèmesdefichiersparallèlesetdistribuéscommepvfs[44]ougpfssoitd'organiser une fusion des résultats du serveur vers le client. Là encore, [22] ou [32] proposent d'utiliser GridFTP [23] quifaitpartiedutoolkitglobus.parexemple, [22] associeàchaqueprocesseur générantdesdonnéesunthreadsupplémentairepourlesopérationsdesortiequiconsisteenune lecture d'un buffermémoire allouéàl'application. Cesthreads sontenchargedutransfert des donnéesenblocssuccessifsversleservicegridftpduclient.ilsgèrentégalementdesreprisesde transmissionencasdepertesdedonnées. Leprincipalinconvénientdecesapprochesestd'êtredépendantdelaqualitédelabandepassante duréseauutilisé.eneffet,laquantitédedonnéesàtransmettrepoureffectuerlatransmissiondes données à visualiser peut être conséquente. En cas de données variant dans le temps, cette transmissionpeutdevenirprohibitivepourpermettreunaffichagedequalité. 2.3 Approchedatastreamingavecmulti résolution Cetteapprocheapourobjectifderemédierauxinconvénientsdudatastreamingbrutenajoutantun 12/62

13 nouvelélémentdansl'architectureentrelasourcededonnéesetlesitedevisualisation.lerôlede cetélémentestd'élagueretdesimplifierlesdonnéesprovenantdelasourcededonnéesversle client d'affichage. Dans [39] par exemple le serveur intermédiaire, appelé serveur de données, effectuedessimplificationsenutilisantdestechniquesdemulti résolution.l'idéeexploitéedans cetteapprocheestdeconsidérerquel'explorationdesdonnéescomportedesphasesdenavigation durantlesquellesl'utilisateurrecherchelapartiedesdonnéesquil'intéresseetdesphasesd'analyse visuelledesdonnées.durantlesphasesdenavigation,l'utilisateurpeutsecontenterd'uneversion simplifiée desdonnéesquiluipermetdeserepérerdanslemodèle,parcontredanslesphase d'analyselesdonnéesaffichéesdoiventêtreprochesdesdonnéesréelles.partantdeceprincipe,le serveur intermédiaire calcule des représentations à différentes résolutions des données brutes. Lorsquel'utilisateurchangedepointdevue,lesdonnéesdelarésolutionlaplusfaibleluisont envoyées,lorsquelepointdevuesestabilise,leserveurdedonnéesaugmentelarésolutiondes donnéesqu'iltransmetàlavisualisation.enprocédantainsi,onpeutfluidifierlanavigationdansles donnéesaudétrimentdelaqualitéd'affichage,maisretrouverlesdonnéescomplèteslorsquele point de vue s'est stabilisé. Cette technique permet aussi d'adapter la résolution maximale des donnéesenfonctiondudispositifd'affichage.eneffet,sil'utilisateurveuteffectuerunaffichagesur unordinateurdebureauavecpeuderessourcesgraphiques,leserveurintermédiairepeutéviter d'envoyerlesrésolutionslesplushautesdesdonnées. DansleprojetVISUS,lerôleduserveurdedonnéesestnonseulementdecalculeretgérerlamulti résolutionmaisilpermetaussideréorganiserlesdonnéesafind'optimiserlescommunicationsentre ce serveur et la visualisation. Il s'agit de définir la structure de données qui va permettre de minimiserlesphasesd'explorationetd'extractiondesdonnéesàvisualiser.onretrouvecetteidée égalementdans[7]quis'appuiesurdu«chessboarding»pourréduirelestempsd'accèsetlataille descommunicationsouencoredans[32]quiluiutiliselestandardhdf5. Leprincipalavantagedecetteapprocheestbienévidemmentd'éviterlesécueilsdudatastreaming en permettant une navigation interactive dans les données. Cette navigation se fait avec une dégradationtemporairedelaqualitéd'affichage,cequipeutêtreunecontrainteacceptablepour l'utilisateur.ilfautquandmêmenoterquedanslessystèmeétudiés,lesdonnéesvariantaucoursdu tempsnesontpasévoquées.deplus,ilsubsisteunedifficultémajeuredanslamiseenoeuvrede cettetechnique,c'estl'existenced'unalgorithmeefficacedecalculdelamulti résolutionpourle typededonnéesquel'utilisateurveutafficher.c'estd'ailleurslecoeurduprojetvisus,quia développéplusieursalgorithmespourdifférentstypesdedonnéesmaisquin'estévidemmentpas exhaustif. Onpeutremarquerquecetteapprocheestvraimenttrèsprocheduscénario3puisquelerôledu serveur intermédiaire est de préparer les données en vue de l'affichage et on peut tout à fait imaginerquedanscecadre,ceserveurpourraiteffectuerunepartiedurendu. 3. Scénario3(Approchesmixtes) Dans le cadreduscénario1,pourobtenirdebonnesperformances,ilfautunréseaudefaible latencepourpermettrelafluiditédel'affichagetoutenoffrantuntauxd'interactionélevéavec l'utilisateur.parcontreilestdifficilementapplicableàdessupportsd'affichagecommelecaveou lemurd'images.pourlescénario2,unbonframerateestdépendantdelabandepassanteduréseau et des ressources graphiques du client. Cependant, pour de gros volumes de données il peut atteindrerapidementseslimitesetnepermettreunebonneinteractionqu'auprixd'unedégradation 13/62

14 delaqualitédel'image(mêmetemporaire). Lescénario3consisteenuncompromisentrecesdeuxdémarches.Lessolutionsrépondantàce scénariopeuventêtrediviséesendeuxcatégories.lapremièreproposeunerépartitionentrele serveuretleclientbasésuruncalculdelagéométrieparlepremieretunepriseenchargedurendu finalparledeuxième.danscecas,l'interactionavecl'utilisateurestcomplèteetleréseaun'est sollicitéquelorsquelesdonnéesàvisualiservarientdansletemps.lasecondecatégorieestplus complexeetsiellepermetunerépartitiondecharges,ellenepermetqu'uneinteractionpartielle avecl'utilisateur. Danslapartie3,nousverronsquedenombreuxsystèmesautonomesproposentunevisualisation distanteselonlescénario3.danscettepartienousavonschoisideprésentervisapultcarils'agit d'uneréférencepourlavisualisationdistante,ainsiqu'unepartiedestravauxdusciinstitutepour les différentes répartitions de charges proposées. Dans la dernière section, nous décrirons une architectureproposéeparlecentrederechercheamesdelanasa.cettedernièreestuneapproche mixteunpeudifférentedanslesensoùelleexploitetroissitesdifférentspourlegénérationdes donnéesàvisualiser,lecalculdurenduetenfinl'affichage. 3.1 Visapult Visapult[4;50;51]estunesolutioncomplètedevisualisationdistantedegrosvolumesdedonnées développéeparlevisualizationgroupdulawrenceberkeleynationallaboratory.ceprojetest affichécommeunprojetterminéaveccommesuccesseurdivadontlesprincipesserontdécritsau chapitresuivant.cependant,leprototypevisapultestencoredisponibleenopensource. Visapultproposeunerépartitiondechargesentreleserveuretleclientpourlecalculderendu. Cependant,cettesolutionappartientàlacatégorie2quenousavonsdéfiniedanslesensoùledegré d'interaction avec l'utilisateur est limité. Seul un ensemble de transformations applicables aux donnéessansdégradationdel'imagesontpossibles. Lesystèmeestcomposédedeuxparties.D'uncôtéleserveur,appeléleback end,effectueles calculsderenduvolumique.del'autreleclientquiestappelélefront endouleviewerreconstruit l'imageetl'affiche.l'originalitédecettearchitectureestl'algorithmederenduvolumiqueutilisédit IBRAVRpourImage BasedRendering AssistedVolumeRendering[28].Cetalgorithmeconsiste àgénérerunensembled'imagesdesdonnéesdepuisunpointdevueenutilisantlerenduvolumique d'uncertainnombredesousvolumesappelés«slabs»quicorrespondentàdestranchesduvolume englobant.lerendudechaquesousvolumeestcalculéettransmisauviewerquireconstruitalors l'image.cependant,puisquelerenduvolumiquedes«slabs»estcalculéparleserveuràpartird'un point de vue donné, seules des interactions de type rotation de faible amplitude peuvent être appliquéesauxdonnéessansdégradationdel'image. 14/62

15 L'architecturedeVisapultestdonnéefigure 8.Leback endestainsiparallèleetécritenmpi. Chaqueprocesseurreçoituncertainnombredesousvolumesdontilcalculelerendu.Lefront end estmulti threadéenutilisantpthreadsetutiliseopenrmscenegraph.lescommunicationssont réaliséesselonunprotocoleadhocdetypetcpdetellemanièrequechaqueimage2dgénéréepar unprocesseursoitreçueettraitéeparunthreadauniveaudufront end. La dernière version Visapult2, améliore le modèle en offrant une parallélisation à partir d'un Lesdonnées Proc1 Proc2 TCP TCP thread1 thread2 Scene Graph Rendu Procn TCP threadn Figure8:ArchitecturedeVisapult découpageenblocsduvolumeàrendreafind'assurerunemeilleurescalabilitéetd'êtreindépendant delaformeduvolume.eneffet,un«slab»peutêtreencoretropgrandenfonctiondecetteforme pour tenir dans l'espace mémoire d'un processeur. De plus le rendu est désormais effectué en fonctiondes6directionsprimairesetcesontdonc6rendusquisonttransmispourlarecomposition del'imagefinalesurleclient. 3.2 PrototypeduSCIInstitute Universitédel'Utah Ils'agitd'unMaster'sthesisquiaétépubliédansIEEEVisualizationen2002parEricJ.Lukeet CharlesD.HansenduSCIInstitute [47].Cetteéquipeestégalementàl'originedeSCIRun,un environnement de programmationpour le calcul scientifique et la visualisation et sice master constitue leur première approche de la visualisation distante, nous verrons que désormais leur recherchesurcethèmeseconcentresurl'approcheparcomposantsavecscirun2. Ce travail décrit une infrastructure complète pour de la visualisation distante offrant les trois possibilitésdelocaliserlelieudurenduenlocal,àdistanceouenrépartissantlacharge.cette infrastructurereposesurunearchitectureclientserveuravecunensembled'interfacesquipermet d'abstraire l'utilisateur des problèmes de communication par exemple. Seul un prototype a été développémaisilapermisdevalideruneapprochemixteégalementbaséesurlerendud'images. Lesinteractionsavecl'utilisateursontillimitéesdanslesensoùpourchaquechangementdepoint devue,leserveurreçoitl'information,procèdeaucalculdupré renduetletransmetauclient. Larépartition,pré rendusurleserveur,rendusurleclient,s'appuiesurl'algorithmesuivant.dans unpremiertempslecolorbufferesttransmisenimagestreamingauclient.ensuiteleserveurprend enchargelecalculdudepthbufferpourchaquenouveaupointdevue.alaréceptiondecebuffer, 15/62

16 le client termine le calcul de la texture correspondante et affiche le résultat. Les tests de ce prototypesurunserveursgiorigin2000,unclientdetypepentiumiiietunréseauethernetont montréquecetteapprochemixtegénéraitunmeilleurframeratequel'imagestreamingouquela solutionderépartirlachargeentreleserveurpourlagéométrieetleclientpourlerendufinal. 3.3 VisualisationconcurrentedeAmes(NASAAmesResearchCenter) Lestravauxdécritsicisontissusd'unepublicationrécentedeDavidEllsworthetal[61].L'objectif généralestlavisualisationconcurrentedéfiniecommelavisualisationetl'interprétationtempsréel desdonnéesaufuretàmesuredeleurgénération(time varyingdata).cestravauxapparaissent commeuneapprochemixtedanslesensoùlecouplagesimulation/visualisationesteffectuésur troissites.ilrespecteainsiàlafoislescénario2pourletransfertdesdonnéesauserveurderendu etlescénario1pourletransfertdesimagesauserveurd'affichage. LeprojetMAP'051s'intéresseàlacompréhensiondesphénomènesdecyclonestropicaux.Ilsebase sur GEOS4 (finite volume general circulation model) une simulation parallèle hybride MPI et OpenMPquigénèreàchaqueitérationdesrésultatsquidoiventêtrevisualisés(soit19.4GBde donnéesàtraiter). Ledéploiementdel'applicationestlesuivant: lasimulations'exécutesurunegrappecomposéede20noeudssgialtixetécritsurun segmentmémoirepartagésesrésultats, unprocessusindépendantlitsesdonnéesetlestransmetviaunréseauhautdébitinfiniband àunnoeudspécifiquedelagrappe, Leprocessusrecevantlesdonnéessechargedelestransmettreviaunréseauprivébasésur TCPauxdifférentsnoeudsdelagrappegraphique, leserveurderendueffectuelagénérationdesimagesetlesencodeauformatmpegavant d'écrirelerésultatvianfssurunserveurdefichiers, ceserveurdefichiersrelaiecesimagesaunoeudmaîtreduserveurd'affichagevia des requêtesssh, enfinlesnoeudsd'affichagereçoiventàleurtourlesimagesetprocèdentàl'affichage. L'originalitédecetexempleestdetraiterdesdonnéesvariantdansletempsavecpourobjectifdene paspénaliserunesimulationdéjàcomplexe,parl'extractiondesdonnéesetleurvisualisation.de plusellepermetd'illustrerunepossiblecombinaisondestechniquesrelativesauscénario2etau scénario 3 avec un enjeu plus fort sur le serveur d'affichage qui peut être n'importe où. Les performancesrestentdoncdépendantesdel'efficacitédelacompressionmpegutilisée.cependant, cetteapprocheresteadhocetfortementliéeauxmoyensmatérielsdisponiblespourleprojet,soient unegrappedecalculs,unegrappegraphique,unserveurdefichiersetenfinunegrapped'affichage /62

17 17/62

18 III. Modèlesdecommunications La visualisation distante nécessite d'étudier les solutions d'un point vue répartition du pipeline graphiqueobjetduchapitreprécédentmaiségalementd'unpointdevuemodèledecommunications associéauréseaugrandedistanceenjeudanscecontexte.lessystèmesautonomesquenousallons décriresebasenttoussurundecesmodèlesquipeutallerduplussimpleavecl'utilisationdes socketsàdesmodèlespluscomplexesquipeuventdépasserlecadredelavisualisationdistante. Cependant,cesdernierssontplusadaptésauxenjeuxdesréseauxdetypeGrid.Etonpeutpenser qu'ilsserontdeplusenplusutilisésaufuretàmesuredeleurmaturitésurtoutlorsquelessystèmes de visualisation distante souhaiteront traiter des problèmes plus complexes tenant compte par exempledelavariationdesdonnéesdansletemps. 1. RéseausurlemodèleTCP/IP La plupart des systèmes de visualisation distante étudiés dans ce rapport se basent sur des communicationsutilisantdessocketstcp/ip.bienquepeud'articlesindiquentlesraisonsdece choix,onpeutfacilementlesdeviner.toutd'abordcemodèledecommunicationestunstandard trèslargementrépanduquelquesoitlesystèmed'exploitationetletypederéseauutiliséetpar conséquentilestconnudetouslesprogrammeurs.ilestdeplusassezsimpleàmettreenoeuvreet permetdetransférerefficacementdegrosvolumededonnées.cechoixpeutdoncparaîtretrès pertinent mais en fait il comporte un certain nombre d'inconvénients qu'il est important de souligner.cesinconvénientssontliésaucaractèretrèsgénéralistedetcp/ip.afindemieuxles comprendrenousallonstoutd'abordfairequelquesrappelssurlemodèlederéseautcp/ip. IP(InternetProtocol)estunprotocoleréseauquiaétéimplémentéaudessusdelaquasitotalitédes protocoles de liaisons existants sur le marché. TCP (Transmission Control Protocol) est un protocoledetransportconnectéquiseplaceaudessusd'ip.tcpgarantitnotammentàl'expéditeur ladélivrancedesdonnéesaudestinataire.udp(userdatagramprotocol)sesitueaumêmeniveau quetcp,iloffredoncdesservicessimilairesmaisilnegarantitpasladélivrancedesdonnéesau destinataire.decettemanièreudppermetdestransmissionsplusrapidesquecelledetcp,cequi peutêtretrèsintéressantdanslecadredel'imagestreamingparexemple,oùonpeutimaginerqu'il n'estpastrèsimportantdeperdreuneimagedetempsentempsmaisoùlavitessedetransmission estextrêmementimportante. LemodèledecommunicationTCP/IPadoncunaspectassezrudimentairedanslesensoùilpermet uniquement des transferts de données non typées entre deux machines2. De ce fait on peut implémenteràpeuprèsn'importequeltypedecommunicationensebasantsurlessocketstcp/ip, maiscelasignifiequetcpneprendrapasenchargeletypedesdonnéesquel'ontransfère.par conséquentc'estàl'applicationquiutiliselaliaisonparsocketdemettreenplacetoutelagestion spécifique aux données transférées. Il en résulte que chaque système de visualisation distante utilisanttcp/ipadûimplémenterdessolutionsadhocpoureffectuercettegestion.onpeutnoter quecettegestionn'estjamaisdécritepourlessystèmesétudiés.seullesystèmecovisefaitétatde la mise en place d'un protocole optimisé d'échanges de données entre ses composants sans le décrire. 2 UDPpermetdefairedeladiffusiondedonnéesàpartird'unemachineàdestinationdeplusieursmachinesmaiscela nécessiteleplussouventunegestionassezpointuedusuividesdonnéesenvoyéesetreçues. 18/62

19 Laconséquencedetoutceciestqu'avecTCP/IPilesttrèssimpledefaireunecommunicationpoint à point entre deux entités, ce qui est le scénario le plus souvent retenu dans le cadre de la visualisationdistante.celapermetrapidementdetesterlavaliditéd'unesolution.lepassagedela communicationpointàpointàunecommunicationpluscomplexe(entrenserveursdedonnéesetm machines de visualisation par exemple) est loin d'être trivial et demande des développements spécifiquescomplexes. 2. Approcheparcomposants Lescomposantslogicielsconstituentunmodèledeprogrammationassezrécentdontl'objectifest defavoriseruneapprocheplusmodulairedudéveloppementdecodesetleurré utilisation.un composant se définitcommel'implémentation d'un algorithme quelqu'ilsoitplusunensemble d'interfacesappeléesports,quidéterminelesliensdececomposantavecl'extérieur.l'application estalorsréaliséeeninter connectantunensembledecomposantsgrâceàladéfinitiondeleurs ports.l'ensembledesrèglesquirégissentcesliensetleurimplémentationestappelél'infrastructure d'intégration des composants. Enfin, l'association de l'infrastructure et de tous les outils pour développerl'applicationparcomposantsconstituel'architectureparcomposants.plusieursmodèles decomposantslogicielsexistent.parmiceuxadaptésauxcalculsscientifiques,ontrouveccm (CorbaComponentModel)etCCA(CommonComponentArchitecture)quifontl'objetdansles deuxcasd'unevolontédenormalisationviadesconsortiums,omg(objectmanagementgroup) pourccm3etccaforumpourcca CCM LemodèleCCM [9] estlaspécificationcorbadescomposantslogicielsparomg.laversion CORBA2.0n'estpasuneapprocheparcomposantsmaisunearchitectureobjetsdistribués.La version CORBA 3.0 la complète avec de nouveaux services tels que la composition et le déploiementdesobjets/composants.cettedernièredevientuneréelleapprocheparcomposants. CemodèleCCMestrelativementcomplexe.Ils'articuleautourd'unbusd'objetsrépartisouORB (ObjectRequestBroker)quiassureletransportdesrequêtesentredesobjetsquiappartiennentà unedescatégoriessuivantes: servicesobjetscommunsquifournissentdesabstractionsauxfonctionssystèmetellesquela sécuritéoulenommageetquirendentlesapplicationsindépendantesdesimplémentations lorsquecesservicessontutilisés, interfacesdedomainesquiconcernentlesobjetsmétiersrelatifàundomained'activités, utilitaires communs qui peuvent offrir une abstraction supplémentaire pour des fonctionnalitéscommunesàungrandnombred'applications(gui,gestiondestâches,...), objetsapplicatifsquisontlesmodulesobjetsdéveloppésparl'utilisateur. Dansle casleplussimplequinousintéresse,lebuscorbaestutilisépourletransportdes requêtesentredesobjetsapplicatifsdontledéveloppementestàlachargedel'utilisateur. Unobjetestdéfinidansunlangagedeprogrammationquelconquemaispossèdeuneinterfaceécrite forum.org/ 19/62

20 enidl(interfacedefinitionlanguage)quipermetdedécriresonmodedecommunicationavecles autresobjetsconnectésaubuscorbaselonlemodèleobjetclient/serveurcommelemontrela figure9. Application Cliente BUSCORBA Code d'implantation Référence Requête Objet Objet del'objet CORBA Activation Interface del'objet Application Serveur Figure9:LemodèleobjetdeCORBA Une pré compilation des descriptions IDL des interfaces permet de les construire en tant que souchesdecommunicationquel'utilisateurpeutdésormaisutiliserpourappelerunobjetdansson applicationcliente.lorsdel'exécutiondel'application,cetteinvocationestalorspriseenchargepar lebuscorbademanièretransparentepourl'utilisateurdanslesensoùpourluitoutsepasse comme si l'objet était local. Le bus applique alors la bonne invocation en fonction du lieu d'exécutiondel'objetappeléquipeutêtresurlemêmeprocessus,surunprocessusdifférentmais surunemêmemachineousurunemachinedifférente.cependant,cettetransparencedépendde l'implémentationcorbautiliséequidoitprendreenchargelestroislieuxd'exécutiondel'objet invoqué.ilestenparticulierimportantdechoisiruneimplémentationdecorbaquirespectele protocole IIOP (Internet Inter ORB protocol) qui définit la communication pour des objets distribuésutilisantleprotocoletcp/ipd'internet. Cettetechnologieestutiliséedansdenombreusessolutionsadhoc('petites'applications)réalisées parlesutilisateurseux mêmespourrépondreàunbesoindegénéricitédeleursapplicationsoude leursdéploiementssursystèmesdistribuéstellesque[34]ou[56]ouencore[20]. Par exemple, [56] décrit un framework permettant de contrôler et d'afficher le résultat d'une applicationopeninventorselonl'architectureillustréefigure10. 20/62

21 Serveur Application Open Inventor OpenGL Client CORBA Interface CORBA Bus CORBA Interface Encodeur Socket UDP Cartegraphique Framebuffer Application Fenêtre d'affichage+ évènements Décodeur Cartegraphique pbuffer Framebuffer Figure10:ArchitectureduframeworkbaséesurOpenInventor[56] Cette approche suit un modèle de programmation orienté objet permettant au client via une interfacecorbad'accéderàdistanceàdesméthodesdisponiblessurleserveur.laréceptiond'un événement de la part du client sous forme de requête CORBA, déclenche sa traduction en événement OpenInventor. L'image est alors générée dans le pbuffer qui permet d'utiliser l'accélération matérielle de la carte graphique sans effectuer d'affichage. L'image générée est encodéepuisenvoyéeauclientparuneconnexiondetypesocketudp.l'applicationd'affichagedu clientpeutêtresoituneappletjavaappliquéeàunnavigateurwebsoitunsystèmeadhoc. Cettesolutionréponddoncauscénario1del'imagestreaming.Deplus,unschémadecompression basésurlestechniquesdefluxvidéosurinternetestproposé.l'idéeestquedanslecontexted'une tellediffusionsurplusieursclients,ilfauttenircomptedeleurhétérogénéitéentermesdepuissance decalculsetdebandepassante.lecodecs'appuiesurunepyramidederésolutionspatio temporelle quitransformelesignaloriginalendeuxsous couchesderésolutionsdifférentesquisonttoutesles deuxtransmises.decettemanièretoutclientestaumoinscapabledetraiterlacouchedeplusfaible résolution. Autreexemple,dans[20],Shumilovetalproposentunearchitecturebaséesurunetransformation de GeoToolkit (bibliothèque de transformation et représentation d'objets spatio temporels géologiques) en composant CORBA via un adaptateur appelé GTA pour GeoToolKit/CORBA Adapter.AinsitoutclientcompatibleCORBAestàmêmed'accéderàlabasededonnéesetde visualiser les données correspondantes dans un navigateur. En particulier, leur implémentation proposeunclientbasésuruneinterfaceutilisateurgraphique(gui)quieffectuelarequêteàlabase dedonnées,s'appuiesurgocadpourlecalculdelagéométrieetgrapepourlerendu.ensuite unnavigateurcompatiblevrmlenrichid'uneappletjavapermetl'affichagedecesdonnéesspatio temporelles. CORBApourlecalculhauteperformance CORBA est plus souvent associé à des applications de type client/serveur simple qu'à des applicationsscientifiquespourdesraisonsd'adaptationàunmodèlefortementparallèleoudistribué oudeperformances.cependant,ilexistedesmodèlesdeprogrammationadaptésauxapplications scientifiqueshauteperformancequisontbaséssurcorba,dontcertainesimplémentationsontdes performancestrèsprochesdecellesdempi[10]. 21/62

22 Danscesens,leprojetPARIS5del'IRISAproposedifférentesextensionsdeCORBAauxobjetsou auxcomposantsdistribués. Parexemple,danslecadredumodèleorientéobjet,ceprojetproposeplusieursdéfinitionsd'un objetparallèle.dans[40],chaqueobjetparallèleestvucommeunecollectiond'objetscorbaetle langage IDL est complété de mots clés supplémentaires pour exprimer les nouvelles communications parallèles entre objets. L'inconvénient de cette approche est de modifier l'implémentation de CORBA et de nécessiter de nouveaux compilateurs tenant compte des nouvellesdéfinitionsdulangageidl.avecpaco++ [41],lechoixconsisteàajouterunniveau d'abstractionaudessusdesimplémentationsexistantesdecorba.ainsitoutobjetparallèleest égalementunecollectiond'objetscorbaselonleprincipespmd,quipeuventutilisermpipar exemplepourdescommunicationsinternes.onassocieàcetobjetparallèledeuxcontextespartagés partouslesobjetscorbaquilecomposent.lepremier«globalcontext»permetàtoutobjet parallèled'êtreunobjetcorbaetledeuxième«operationcontext»permetd'exprimertoutesles opérationsparallèles.paco++estdisponibleenopensourceetaégalementfaitl'objetdetestssur uneapplicationd'eadsdanslecadredel'acigrid RMI CCA LemodèleCCA[6]estunmodèleparcomposantslogicielsquiviselaperformancedanslecadre ducalculscientifique.parrapportauxspécificationsccm,ilsimplifielemodèledecomposantde CORBA3.0.ParcontreCORBA2.0enfonctiondesonimplémentationpeutêtreconformeau standardcca. CemodèlesebasesuruncomposantplussimplequeCORBA3.0etnecontientquedeuxtypesde portspourinvoqueruneméthode(«usesport»)oufourniruneméthode(«providesport»).il s'appuiesurunlangageidlappelésidl(scientificinterfacesdescriptionlanguage)adaptéàla description des données manipulées par les applications scientifiques comme les tableaux de dimension n parexempleetsupportantl'héritageàlajava.uneimplémentationparcomposants conforme au modèle CCA fournit donc ce langage SIDL, les différentes API et les services nécessairesàlaconstructionetlagestiondel'applicationccacommelemontrelafigure11. La particularité de l'approche CCA est d'adapter un modèle par composants aux besoins des applications scientifiques et en particulier au couplage de codes en vu des contraintes de performances de ces applications. Cette particularité s'exprime au niveau du SIDL adapté aux structures de donnéesscientifiquesmaiségalement surladéfinitiondes portsquipeuvent être directsoucollectifs.danslepremiercas,un«uses»portn'admetuneconnexionqu'àununique «provides»port.dansledeuxièmecasc'estunensemblede n «uses»portsquipeuventêtre connectésàm«provides»portsavecdanscecaslapossibilitédereprésentertouslesschémasde communicationsn mclassiques(gather,scatter,...)auxapplicationsparallèles RMI/www/fr/ 22/62

23 Figure11:L'architectured'uneapplicationCCA LesdéveloppementsCCAdisponiblesactuellementsontencorepeunombreuxetsouventdel'ordre duprototype.deplus,cetteapprocheestbienplusgénéralequelavisualisationdistantequiestle thème de ce rapport. Nous en verrons cependant un exemple dans le chapitre «Systèmes autonomes»avecscirun2.cemodèleentantquetelestmentionnédanscetétatdel'art,carilest prometteurpourtoutprojetscientifiquedontl'ambitionestdedéployerdesapplicationscomplexes detypecouplagedecodesintégrantdesoutilsdevisualisation,cesderniersétantdescomposants commelesautres.ildevraitpermettred'assurerdesmisesenoeuvred'applicationsquiprennenten comptelesbesoinsenperformanceseteninter opérabilitétoutenabstrayantlescientifiqued'une large partie des problèmes de développement relatifs à l'hétérogénéité des plate formes et aux modèlesd'échangesentrelescomposants. 3. Servicesweb De manière générale, un service web est défini comme un mode d'échanges de données via «internet»entredifférentslogicielstournantsurdesmachineshétérogènes.ils'agitdoncd'une implémentationdansunlangagequelconquequidélivreunservicequidoitpouvoirêtredécouvert etinvoquédynamiquement.unensembledenormesetdeprotocolesauseindu«webservices ProtocolStack»sontdisponibles(ouencoursdespécification)pourassurerleséchangesetl'inter opérabilité.parmicesnormes,onretrouveparexemplexmlpourleformatdedonnées,vrml pourlesdonnéesgraphiques[59],soap(simpleobjectaccessprotocol)[48]quiimplémenteun protocole RPC (Remote Procedure Call) basé sur XML pour les données et http pour les communications. Dans le cadre de la visualisation, nous pouvons définir les services web comme une mise à dispositiondedonnéesviainternetpourunaffichagedansunsimplenavigateurcompatible.les 23/62

24 solutionsquipeuventserevendiquerdetypeservicewebpourdelavisualisationdistantesemblent appartenir à deux familles distinctes. La première utilise CORBA avec une implémentation respectantlaiiopetdoncuneapprocheparobjets/composantspourassurerl'inter opérabilitéentre le serveur distantet leclient.nous retrouvons icilestravauxduprojetvisdel'universitéde Stuttgart.Ladeuxièmes'appuiesurlesoutilsdu«WebServicesProtocolStack»detypeSOAP.Le systèmegvizquiseradécritdanslapartiesuivantepeutêtreassociéàcettefamille. Cetteapprocheexisteégalementpouraccéderàdesbasesdedonnéesvolumineusesetpermettre l'affichagedecesdonnéessurdesclientslocaux.parexemplepourledomainedel'astronomie,au seinducsiro(australiannationalscientificresearchorganisation),l'atnf(australiatelescope NationalFacility)proposeunoutildevisualisationdistantedetypeservicewebRVS7 (Remote Visualisation System).Cettesolutionlogicielleestbaséesurunserveuraccédantauxbasesde données des images FITS eteffectuant lescalculset sur unclientdetype viewer java qui se connecteauserveurrvsenluiindiquantlabasededonnéesdetravailetprocèdeàl'affichagedes imagesreçues.onretrouvecetteapprocheaussidansaladindéveloppéparlecentrededonnées astronomiques de Strasbourg dont une démonstration est disponible à l'adresse strasbg.fr/java/nph aladin.pl.làencoreunviewerpluginjavad'unnavigateurwebpermetd'accéder auserveurd'imagesdigitaliséesduciel.depluscetteversionpermetégalementunaffichagedeses propresdonnéesparsuperposition. 4. Globus8 Globusnepeutêtredéfinisurlemêmeplanquelesautresprojetsderecherche.C'estplusquecela puisquesesconcepteurslepensententantqu'écosystèmedecomposantsetoutilsquiinter opèrent ensemble.leprojetestconstitué:d'unecommunautéd'utilisateursetdedéveloppeursopensource centrés sur les thèmes du calcul distribué ; d'organisations virtuelles ; et d'une fédération de ressources. La partie software est constituée du Globus Toolkit qui comporte un ensemble de bibliothèquesetdeprogrammesquirépondentauxproblèmesrencontréslorsquel'onconçoitdes systèmesdistribués.globusestaussil'infrastructurequisupportelacommunauté:répertoiresde codes,systèmededébogage,listes,etc...decetensembledoitémergerdessolutions,dessavoir faire classiques sur lesquels s'appuyer pour faciliter la conception des futures applications sur Grille. LapartieconcrèteetvisiblepourlesutilisateursresteprincipalementleGlobusToolkit.Ilfournit unevariétédeservicesallantd'implémentationsdeservicestelsquelagestiondesressources,la transmission des données et la découverte de services jusqu'aux outils pour en construire de nouveaux:webservices(java,c,python).globusfournituneinfrastructuredesécuritépour l'authentification,l'identification,l'autorisationd'accès.enfinilfournitauxclientsàlafoisdesapi (dans différents langages) ainsi que des programmes en ligne de commande pour accéder aux servicesglobus. LadernièreversionduGolbusToolkitestlanuméroquatre(GT4).Cettedernièrefaitunusage extensif des services web afin de définir ses interfaces et structurer ses composants. Leurs protocolessontadaptéspourlesinteractionsfaiblementcoupléesquecertainsargumententcomme préférables pour concevoir des systèmes distribués robustes. Leur but est de concevoir des architecturesorientéesservices,structuréesenservicescommunicantsdécritsdemanièreuniforme /62

25 Apartirduconstatquemêmelesapplicationstrèsspécifiquesàundomainepartagententreellesla nécessité de manipuler une infrastructure, GT4 fournit des services d'infrastructure qui implémententlagestionducalcul,dustockageetdesautresressources. ArchitectureGT4 Lafigure 12 illustrelesdifférentsaspectsduglobustoolkit4constituédetroisensemblesde composants: Services(enbasàgauche):gestiondel'exécution(GRAM),accèsauxdonnées(GridFTP, RFT,OGSA DAI),gestiondelaréplication(RLS,DRS),monitorageetdécouverte(Index, Trigger,WebMDS),gestiondelasécurité(MyProxy,Delegation,SimpleCA),gestiondes instruments(gtcp);laplupartsontdesserviceswebmaiscertains(enbasàdroite)sont implémentésdansd'autreslangageset/ouprotocoles. Troiscontainerssontréservéspourhébergerlesservicesdesutilisateurs.Ilsfournissentles mécanismes(compatiblewebservices)fréquentslorsquel'onconçoitdesservices. DesbibliothèquesclientesenC,JAVAetPythonpourinvoquerdesopérationsGT4ou cellesdéveloppéesparlesutilisateurs. Figure12:LescomposantsGT4etleursinteractions(lesboîtesblanchessontlescodesutilisateurs) Deparsagénéricité,sonarchitectureetsesservices,Globussembleseprêteràuneutilisationpour visualiserdesdonnéesmassivesàdistance.pourtantpeudesolutionssontcitées.parmicelles ci uneexpérimentationretientl'attention[21]puisqu'ellemetenoeuvreuneconnexionentrelesetats UnisetlaHollandeauxfinsdecoupleruncomposantdecollaborationavecuncomposantderendu hauterésolutionàdistance.lecomposantdecollaborationrendetdiffusedesimagesenfaible résolution, calculées sur un sous échantillonnage des données. Il utilise VTK (extraction d'isosurfacessurdesdonnéessouséchantillonnées)etchromium [8]pourparalléliserlerenduet 25/62

26 décomposerlesimagesensort lastafind'expédierdesfluxvidéosséparésetcompressésenh261. Lecomposantdecollaborationesttypiquementcapablederendreuneimage3x2pouratteindre 1056x576. Le composant de rendu haute résolution est un prototype de parallélisation de visualisationutilisantl'ensemblecompletdesdonnées.lespiècesdel'imagesontensuiteenvoyées enstreamingpuiscomposéespourformerl'imagefinale.celafournitauxutilisateursfinauxdes images(2048x1536)quis'affinentprogressivement.lescalculsdesimagesetleurstransfertssont réalisésviampich G2uneimplémentationdeMPI 1quiutiliseGlobuspouradapterMPIàla Grille.MPICH G2estàmêmed'utiliserdessocketsparallèlesviaGridFTP.Cetexempleillustre bien que si Globus n'est pas explicitement un environnement de visualisation, il en facilite notablement la conception si celui ci doit prendre en charge la visualisation distante, la parallélisationdurendu,lasécuritéetc. 5. ApprocheFlowVR Ledéveloppementd'applicationsdevisualisationscientifiquedistribuéesavecstreamingetgestion de la latence rencontre des difficultés similaires à celles que l'on doit surmonter lors du développementdesapplicationsderéalitévirtuelle(rv)ambitieusesquiincluentdenombreuses simulationsetdesinteractionscomplexes.ondoitdanslesdeuxcadres,fairefaceàdeuxdifficultés majeures: gestion ardue du génie logiciel où de multiples morceaux de codes, développés par différentsacteurs,àdifférentespériodes,doiventêtreassemblésdansuncadreuniqueet fonctionnerensemble; surmonterleslimitesdumatérielenmultipliantlesunitésdetraitement(gpu,cpu,...) mais avec le désavantage majeur d'ajouter des difficultés supplémentaires liées à la parallélisationdetâches,pipelineoudedonnées. Ilexistedenombreuxoutilsquifacilitentl'utilisationdesmachinesparallèlesactuelles(engénéral desarchitecturesfaiblementcoupléesdetypecluster)pourlarv.parexemplechromium[8]porte lamachinerieopenglsurunclusterdevisualisation.d'autresoutilsproposentdesdiffusionsafin desynchroniserdemultiplescopiesd'applicationsplusoumoinsparallèles [37].Commedansle casdelavisualisationdistribuée,lesoutilssontmultiplesettoussontutilesàdiverstitres.ilest simplementdifficiledechoisirparmieuxetdelescombiner.onnoteraqueleparcoursdataflow strictementfifodesapplicationsclassiquesdevisualisationscientifiqueestpluscontraintetrend difficilelagestiondelavisualisationdistribuéesansralentissementliéàdesfortessynchronisations et un trafic réseau lourd. Les applications classiques de RV relâchent ces contraintes non en proposantunegestionfinedesynchronisationmaisenproposantd'extrapolerlescomportements calculésàdistancepourabsorberlalatenceduréseau(estimationdeposition). 5.1 Descriptiongénérale FlowVR propose un cadre pour le développement d'applications ambitieuses de RV [17]. Les applications sont fortement modulaires pour faciliter le développement et pour être aisément déployéessurlesarchitecturesdesclustersdepc.flowvrétendlecadredataflowtraditionnelen autorisantdescommunicationsetdessynchronisationsbienpluscomplexesquecellesdesapi classiquesparallèles.pourautant,lasémantiquedesapplicationsn'estpasforcémentlaisséesousla responsabilitédesdéveloppeursmaisellepeutêtregéréeviadesélémentspré intégrésàflowvr. Ainsi,ilestpossibled'utiliserFlowVRpourréaliserdescodesnonspécifiquementRV.Toutcode parallèlesurcluster(etparextension,probablementsurlagrille)peuttireravantagedeflowvr, 26/62

27 soitpour ses capacitésdegénielogicieletlavisionglobalequ'ilapporteducluster,soit,plus finement, lorsque la gestion des interactions, des framerates interactifs ou du pilotage des applicationsdevientcomplexe. 5.2 ArchitectureFlowVR Une application FlowVR est composée de modules qui échangent des données via un réseau FlowVR(voirfigure13). Un module est typiquement uncode existant (éventuellement lui même parallèle) modifié à la margeparl'ajoutd'appelsàdesfonctionsflowvr.unmodules'exécutedanssonprocessus,ilya doncpeud'effortàfournirpourtransférerd'ancienscodesversflowvr.lesmodulesn'ontpasà tenircomptedirectementducalculdesautresmodules. Figure 13 :Exempled'unréseauFlowVRcomposédeliensentredesmodules séquentielsouparallèles Cesderniersn'échangentleursdonnéesetnesesynchronisentqueviades DémonsFlowVR qui 27/62

28 s'exécutentsurchacunedesmachinesducluster.cesontlesdémonsquigèrentlestransfertsde donnéesentrelesmachinessinécessaire.cetteapprochepermetdesdéploiementsdifférentset mêmedesagencementsmultiplesdesmodulesdel'applicationflowvrsansnouvellecompilation. Lesconnexionsentrelesmodulespeuventêtresimples(fifodetypeMPIparexemple)oubienplus complexes:filtragesurlesdonnées,prélèvement,estimationdeposition,découpeselonlecônede vision,communicationscollectives,etc.cecontrôlefinpermetdetireravantagedelaspécificitéde l'application, des'adapteràl'architecture matérielle toutentenantcomptedes besoinsréels de l'utilisateur en termes de latence et de taux de rafraîchissement. Cette expressivité doit probablementpouvoiroffrirlesmêmesavantagesdanslecadredelavisualisationdistribuéeet distante. Une chaîne de visualisation distante doit pouvoir être transposée en graphe FlowVR (presquelittéralementdansunpremiertemps)puisutiliserlesmécanismesflowvretadapterles transfertsdedonnéesàlabandepassanteduréseau,ouàd'autrescritèrestelsquelapertinencedes résultats d'un calcul ou bien la forte/faible demande en interactivité à un instant donné. Par exemple,unfiltragemettantenoeuvreunmécanismedelodenfonctiond'informationsexternes qui proviennent de modules pourrait simplifier à la demande, les informations en sortie de simulations.etdanslecadredeflowvrcemécanismepourraitêtredéveloppéindépendamment descodesdesimulationsetmisenoeuvreenfonctiondutypededéploiement. Figure14:Processusdecréationd'uneapplicationFlowVR FlowVRestunesuitecomplèted'outilspourdévelopperlesmodules,lesréseauxd'interconnexion, pourplaquerl'applicationcomplètesuruncluster,lalanceretpourcontrôlersonexécution.deplus ilexisteégalementdesoutilspourtraceretanalyserl'exécution.làencorecesoutilsdevraientaider fortementledéploiementd'applicationsdevisualisationsdistantes.lafigure14illustreleprocessus de développement FlowVR depuis le code des modules jusqu'aux commandes générées à destinationdudémonflowvr.notonsquelepassageàuncodeflowvrsurlagrillenécessiterait 28/62

29 une adaptationdans lamesureoùflowvr n'offrepas lesfonctionnalités propresàcesupport commelasécurité,latoléranceauxpannes,ladécouvertedeserviceetl'équilibragedecharge. UneextensiondeFlowVRpermettraitd'exprimeretdedéployerrapidementdespipelinesdistribués detraitementdesdonnéespluscomplexesethétérogènesqueceuxclassiquementproposésdansles environnements modulaires de visualisation. Par ailleurs l'aspect «composants» de FlowVR devraitpermettred'intégrer,enfonctiondesbesoins,lesniveauxdedétailsdynamiquespertinents, qui sont au coeur des approches qui se préoccupent de la visualisation des gros volumes de données.enfinlaconceptiontypiquementflowvrdecodesousformedemodulesréactifsvis à vis d'événements externes ouvre la voie vers le pilotage et le travail collaboratif et pourrait constitueruneapprocheparcomposantspertinentepourlavisualisationdistanteetsesperspectives. 29/62

30 IV. Systèmesautonomes Ilexistenombredesystèmesdevisualisationdistribuée.Laplupartsontbasésàl'originesurun systèmedevisualisationmodulairelui mêmefondésurlanotiondemodèledeflotdedonnées[31]. Danscesapplications,leprocessusentierdevisualisationestscindéenparties,ouencoremodules, qui sont inter connectées via un réseau. Les données suivent le réseau et sont modifiées progressivementjusqu'àêtretransforméesenimagesvisionnéesparlescientifique(figure15). Simulation Sélection des données Données vers géométrie Rendu de la géométrie Données Figure15:Pipelinegraphiquedessystèmesdevisualisationmodulaires Sicescénarioaétécrééinitialementpourvisualiserdesdonnéesenregistrées,ilestaussiadapté auxdonnéesgénéréesàlavoléepardessimulations(voirfigure15).laplupartdesapplicationsde visualisationsontconçuessurcemodèle.chronologiquement,undespremiersexemplesestavs (version1) [2].Typiquement,ilfournitunéditeurvisuelafindeconstruirelesapplications en connectant entre eux des blocs de traitement. Il est probable que l'expressivité et la facilité d'utilisationdecettemétaphoredeconceptionsoientàl'originedusuccèsdesenvironnementsde visualisation modulaires. De par les notions de réseau et de modules de traitement, il devient naturel de passer de systèmes mono machine à des applications distribuées (AVS, VTK, IRIS Explorer, OpenDX...) [3; 33; 60]. Ce sont principalement ces applications, au fonctionnement relativementautonomes,quisontdécritesdanscettepartie. 1. Amira AmiraestunsystèmeorientéobjetdevisualisationbasésurOpenInventor[1;62].Aladifférence desautressystèmesdevisualisationdiscutésici,iln'estpasbasésurlemodèleàflotdedonnées. AulieudecelalesobjetssontpersistantsetaccessiblesvialesinterfacesC++desclassesdonnées. Pourcetteraison,ilestmaladaptéàladistributiondutravailenmodepipeline.Parcontreilest extensibleparl'utilisateuretlemodedeconceptionestbasésurunemétaphoreprochedecelle adoptéeparlesenvironnementsmodulairesdevisualisationsoitdesmodulesconnectésentreeux. Toutefois, on peut adapter Amira à la visualisation distante en écrivant des modules de communicationavecunesimulation(pourquoipasenutilisantunelibrairedecommunicationetde synchronisationtellequeflowvr [17])oumêmeendialoguantavecuneautreinstanced'Amira (méthode adoptée dans la version Amira VR à rendu parallèle reprenant ainsi une partie des 30/62

31 fonctionnalitésetdessolutionsdulogicieldervparallèlenetjuggler[37]). 2. Covise Covise[12]estunenvironnementdetravailcollaboratifdéveloppéàl'originepardeschercheursdu laboratoirehlrsdel'universitédestuttgart.lesdernièresversionsdecelogicielsontdevenues commerciales, elles sont développées par la société VISENSO après l'arrêt des activités de Vircinity. 2.1 Approche L'idéedeCOVISEestdeproposerunenvironnementdetravailcollaboratifdistribuéquipermetteà des chercheurs et des ingénieurs de travailler à distance sur des modélisations éventuellement complexes. COVISE est conçu pour permettre à l'ensemble des participants de visualiser et d'interagirsurlesmodèlesentempsréel. 2.2 Architecture COVISEsebasesurunereprésentationcentraliséeetpropriétairedumodèled'unepartetsurun protocoleoptimisédemiseàjourdecettereprésentationparlesdifférentsacteursd'autrepart.le schémadelafigure16ci dessousdonneuneidéedel'architecturedecovise. Chaquemachineparticipantàlasessiondetravailcollaboratifpossèdeunespacemémoireréservéà COVISEainsiqu'unprocessusparticulierappelé"courtier"(Broker)chargédesmisesàjoursdes modèlesmanipulés.unemachineparticulièrejouelerôledeserveur(lamachine1danslafigure 16). Elle maintient à jour le modèle manipulé (l'objet rouge de la figure). Chaque machine participanteconserveunecopiedumodèle.lecourtierduserveurvadiffuserlesinformationsde mise à jour à l'ensemble des courtiers des autres machines qui seront chargés d'effectuer les changementsnécessaires.chaquemachinepeutensuitemanipulersapropreversiondumodèleen extrayant par exemple une iso surface. Ce travail sera effectué en local mais n'aura pas de répercussionssurlesautresparticipants. Danscettearchitecture,ilestclairqueleserveurstockelesdonnéesissuesdelasimulationet effectuelamiseenformedecesdonnéesdanslemodèledecovise.chaqueclientdoitluiaussi stockerlemodèlecoviseetildoitaussiavoirlesressourcesnécessairespourmettreàjource modèle.c'estaussileclientquiestchargéducalculderendu(scénario2).cetyped'architecture permet donc des'affranchir des contraintes delatence duréseaupourtoutes lesmanipulations localesdumodèlemaisnécessitedesressourcesenmémoireetencalculsurlesclients.leserveur doitaussiêtrecapable,enplusdelagestiondumodèle,detransmettreefficacementlesmisesàjour àtouscesclients. 31/62

32 COVER Manipulation (extr. surface) Courtier Machine 2 Courtier Machine 1 Simulation Figure16:ArchitecturedeCOVISE 3. EnSight EnSight[14]estunlogicielcommercialdevisualisationscientifiquedéveloppéauxEtats Unispar lasociétécei.ensightesttrèslargementutilisépardegrandsorganismesderechercheaméricains commelanasaoulelaboratoiredelosalamos(lanl)etdesorganismesfrançaistelsqueedf, SNECMA/SAFRANouleCEA/DAM. 3.1 Approche CelogicielsedéclineenplusieursversionsallantdeEnSightpersonalmonoposte,àEnSightDR quiproposedesfonctionnalitéspourletraitementdedonnéesetlerendudistribué.ilsemblequela partiedistribuéed'ensightaétélargementdéveloppéeauseind'unecollaborationentreceietlos Alamos. 3.2 Architecture L'architectured'EnSightpeutallerdusimplemodeclient/serveuràunearchitecturecomplètement distribuéeoùlasourcededonnéesetlerendusontdistribuéscommeillustréfigure 17.EnSight permetnotammentdedistribueruniquementlapartieclienteoulapartieserveurenfonctiondes besoinsdel'applicationetdesressourcesmatériellesdisponibles.danscettearchitecture,lapartie serveurvajusqu'aucalculdelagéométriequiseraenvoyéeàlapartieclientquielles'occuperadu renduetdel'affichage. 32/62

33 Client Client ClientMaitre Client Client CollaborationHUB Serveurdeserveurs Serveur Serveur Serveur Serveur Serveur Figure17:Différentesarchitecturesd'EnSightDR L'architecturedistribuéedelapartieserveurs'appuiesurunserveurdeserveurs(abrégéenSOS) dontlerôleprincipalestdecoordonnerletravaildechacundesserveurs.ilpeutparexemple prendreenchargelarépartitiondesdonnéesentrechacundesserveurs.c'estaussilesosquiprend enchargelarecompositiondelagéométriecalculéeparchacundesserveursetlarépartitionvers lesdifférentsclientsenessayantd'équilibrerlescharges. Danslapartiecliente,plusieursscénariossontenvisagésenfonctiondumatérieletdesbesoins d'affichage. Le clients'exécutesurunemachineparallèleàmémoirepartagée.danscecasensight utiliseplusieursthreadspouraccéderauxdifférentescartesgraphiquesdelamachinequi faitlerendu. Leclients'exécutesurunemachineparallèleàmémoiredistribuée(typeclusterdePC). Danscecaslapartiecliented'EnSightestdistribuée.Touslesclients,àpartleclient maître, sontpassifsdupointdevuedel'interaction.leclient maîtreparcontreapourrôleprincipal deprendreenchargelesinteractionsdel'utilisateur.cesinteractionssontdiffuséesviale HUB de collaboration vers les différents clients. Le HUB de collaboration et le SOS échangentdesinformationsafindecontrôleretd'effectuerlarépartitiondelagéométrie entrelesdifférentsclients.ladistributiondesdonnéespeutallerdelasimpleréplicationdes primitives graphiques à une réelle distribution avec équilibrage de charge. Le mode réplicationnepermetpasd'afficherplusdedonnéesquecequ'onpourraitfairesurunseul client,maisilpermetdegérersimplementetefficacementl'affichagemulti écran.onpeut aussiconfieràchromiumlagestiondurenduparallèlepourlerendumulti ecran. Danslecasd'unaffichagesurunseulécranlarecompositiondel'imageproduiteparles clientsensightpeuventsefairesoitparl'intermédiairedu«ceiparallelcompositor»,soit 33/62

34 enutilisantchromium. Touteslescommunicationsentrelesdifférentsacteursdel'applicationEnSightsefontviaTCP/IP. Peud'informationssontdonnéessurleprotocoleutilisé,maisilsemblequelaconnexionentrele SOSetleHUBdecollaborationestlepointsensibledecettearchitecturecartoutelagéométrie passeparcelien.robertj.karesdulaboratoiredelosalamos[15]donnecependantuncertain nombred'indicationssurlespossibilitésoffertesparcettearchitecturedanslecadredetrèsgros volumesdedonnées.parcontre,aucuneinformationentermesdeframerateoudelatencede l'interaction n'est donnée.parmilesexemplescitésparkares,ontrouve lavisualisationà Los Alamos,durésultatd'unesimulationayantgénérée21TBdedonnéesauLANLàLivermoreàplus de1600kmdedistance.lapartieserveurcontenait50serveursetlapartieclienteétait"réduite"à unesgiorigine2000.lesdeuxsitesétantreliésparunréseauspécifiquedeplusieursgigabits. CettearchitectureestmaintenantutiliséeenproductionauseindulaboratoiredeLosAlamospour visualiserlesdonnéesgénéréespardiverscodesdecalcul.l'objectifactuelestderemplacerla machine SGI par une grappe de PC sous linux en utilisant les fonctionnalités client réparti d'ensight. 4. ParaView ParaViewestuneplate formedevisualisationdistribuéedestinéeàlamanipulationefficacede grandsvolumesdedonnéesquireposesurvtkpourlesalgorithmesdetraitementetderendu. ElleestdéveloppéeparKitwaresurconceptioninitaledeJimAhrensduLANL.LelaboratoireSNL aensuitebeaucoupcontribuéàparaview. 4.1 Descriptiongénérale ParaView [42] comme illustré par la figure 18, est construit au dessus de VTK, lui même implémentéenc++etfournissantuneplate formedevisualisationparallèleet/oudistribuée.afin defournirunesolutiongénériqueauxapplicationsdevisualisation,paraviewproposedifférents modesd'exécutionducalculdurenduetdel'affichage.lemodeleplussimple«stand alone» consisteenuneexécutiondeparaviewenlocalsurunemachineparallèleouuncluster.del'autre côtéparaviewproposeunmodebasésuruneséparationduserveurenunserveurdedonnéesetun serveur de rendu plus un client qui procède à l'affichage. Dans ce cas, l'approche adoptée est l'approcheclient/serveuravecunetransmissionentreleserveurderenduetleclientsoitdela géométrieenaccordavecnotrescénario3soitdesimagesrésultantesenaccordavecnotrescénario 1. ParaView VTK Tcl OpenGL C++ Figure18:OrganisationdeParaView 34/62

35 Dans le cadred'unetransmissiondelagéométrie,paraviewfournitunalgorithmeoptimiséde redistribution des données des M noeuds du serveur de rendu aux N noeuds du client qui compléterontlerenduavantdeprocéderàl'affichage. 4.2 Infrastructure Pourexprimercesdifférentsmodesdevisualisation,ParaViews'organiseautour d'unmoduleappelécsspourclient/serveurstreamingquigèrel'invocationdesméthodes fourniesparleserveurqu'ilsoitlocalousurunsitedistant, d'un gestionnaire de serveur au dessus des modules CSS qui prend en charge l'interconnexiondesserveursauclientetquigèrelacréationdesobjetsvtk,lesrequêtes surlesdifférentsobjets,etc. d'unehiérarchiedemodulesimplémentantlesdifférentsmodesderendu. Cette hiérarchie demodulesillustrée par lafigure 19 a pourracinele moduleabstraitrender Module(RM)quijouelerôled'interfaceavecl'ensembledesobjetsderenduVTK.Lemodule Simple RM (SRM) en hérite et englobe les fonctionnalités élémentaires de rendu telles que collectiondevisuels,lumière,caméra,interaction.leseulmodulefilsdesrmestlodrmqui ajoutedesfonctionnalitésdegestiondeniveauxdedétailpouraccélérerl'affichagependantles phasesd'interaction. RenderModule SimpleRenderModule LODRenderModule CompositeRenderModule IceTDesktop CAVERenderModule RenderModule Figure19:LahiérarchiedemodulesdeParaView Ensuite le module Composite RM ajoute des outils de rendu parallèle dans le contexte client/serveur,notammentlescommunicationsinter processusetlelodparallèle.c'estcemodule quiimplémentel'algorithmeoptimisédetransfertdegéométrieentreleserveurdedonnéesetcelui derenduainsiqu'unalgorithmesort lastpourl'affichagemulti écrans.lemodulecompositeétant abstrait,lesimplémentationssontfourniesparlessous modules:icetdesktopeticetrmd'une partetcavedel'autre.lespremiersutilisentlabibliothèqueicet[29;30]pourimplémenterle module Composite et proposent une facilité de compression à travers l'algorithme SQUIRT (Sequential Unified Image Run Transfert). Le second fournit une implémentation CAVE du 35/62

36 Composite. Ainsi l'architecture fortement distribuée de ParaView et l'abstraction du rendu à travers les différentsmodesdesonexécutionfontquecetenvironnementestaprioriparfaitementadaptéàla visualisationdistanteengénéral,etenparticulierpourl'affichagemulti écransdistant. 5. VisIt VisIt [55] estunoutild'analyseetdevisualisationdegrosvolumesdedonnéesdéveloppéparle LawrenceLivermoreNationalLaboratory;VisItestdisponibleenopensource.C'estunsystème autonomemaisquipermetl'utilisation,sousformedeplug ins,d'outilspersonnelsàl'utilisateur. 5.1 Approche CetoutilsebasesuruneapprocheDataFlowsimilaireàcelled'AVSouVTK.Pluslargement prévupourdelavisualisationclassiquededonnées,ilpermetlavisualisationdistanteenintégrant lesfonctionnalitésnécessairespourl'exécutionduvieweretdel'interfacegraphiqueintégrésàvisit surunposteclientdistant. 5.2 Architecture VisItestunenvironnementcompletdedéveloppementd'applicationsd'analyseetdevisualisation dedonnéesscientifiques.c'estàlafoisunensembledebibliothèquesgraphiquesbaséessurvtk et un environnement de programmation sur le modèle Data Flow. L'architecture générale est illustréeparlafigure20.ainsiàpartirdel'interfacegraphique(gui)surleclient,ilestpossiblede seconnecteràdistancesurleserveurvisitetdeluiindiquerlesdonnéessurlesquellesonsouhaite travailler.l'applicationestalorslancéesurlesitedistantcomprenantàlafoislabasededonnées voulue et les machines de calculs ou graphiques. Les opérations sont exécutées au sein du «compute engine» qui peut être parallèle et les résultats sont envoyés au viewer local pour l'affichage.ilestégalementpossibledevisualiserdesdonnéesgénéréesentempsréelpar une simulationeninstrumentantlecodedecettedernière.le«computeengine»aalorslacharge d'accéderauxrésultatsdelasimulationsansécritureintermédiairedefichiersdestockage.toutes lescommunicationssontbaséessurdessocketsetsurrpcpourl'invocationdistantedesméthodes 36/62

37 GUI Viewer client Server sitedistant Databaseserver Data ParallelCompute Engine Figure20:ArchitecturegénéraledeVisIt Un important effort a été fait sur l'optimisation des algorithmes de pré rendu et de rendu. Essentiellement,elless'appuientsurdestechniquesderendudescènes.Ellesrespectentdoncsoitle scénario2lorsquelescommandesopenglsontdirectementtransmisesàlacartegraphiquedu clientsoitlescénario3lorsquesurlesitedistant,viamesaparexemple,lerenduesteffectuéen parallèleetquelerésultatrecomposéestenvoyéauclientaprèsoptimisationdesobjetsquifont partisounondelascène. VisItestdonctrèscompletetconstitueunenvironnementdedéveloppementautonomepourtoute application de visualisation de données scientifiques. Pour la lecture des données, VisIt est compatibleavecdenombreuxformatsdontlesprincipauxsontleformatvtketleformatsilo (développéparlellnlpourlesgrilles2dou3detlestockagedistribué)maiségalementgis, FITSouencoreleformatpropriétaired'EnsightGold.IlsupporteégalementPythoncommelangage descriptpermettantauxutilisateursdegénérerdesscénarioscomplexesdevisualisationdeleurs données(animations,...).enfin,puisquetouteslesfonctionnalitéssontimplémentéessousformede plug ins,ilestpossibled'enrichirvisitdesespropresdéveloppements.parconséquent,visitest principalementutilisécommelogicielintégréàinterfaceapplicativeprédéfinieetlangagedescript. 6. Covisa/CovisaG/gViz 6.1 Covisa/CovisaG Lemodèleàflotdedonnéesaétéconçuinitialementpourunseulutilisateur,maissonprincipe 37/62

38 permet,avecquelquesextensions,del'adapteràplusieursutilisateursquiinter connectentleurs pipelinesgraphiquesdefaçonàcequelesdonnéespuissentvoyagerd'unutilisateuràl'autre.une étape supplémentaire est franchie si on donne les moyens aux scientifiques de piloter les simulationsenmodifiantsleursparamètres,làencoreàlavolée(voirfigure21). Pilotage Simulation Sélection des données Données vers géométrie Rendu de la géométrie Données Figure21:lepipelineduflotdedonnéespilotéàchaqueétape Danscesens,COVISA[11;33]estuneextensiond'IRIXExplorerquioffre,enoutre,lapossibilité derendrecollaborativelavisualisationetlepilotage.deplus,l'émergenceducalculsurlagrille conduit à adapter les solutions de visualisation distribuée. D'où une première extension avec CovisaGdontlebutestd'utiliserGlobuspourlescommunicationsdeCOVISA.Cedernierprojet s'est,semble t il,vitemétamorphoséengviz. 6.2 ProjetgViz:Intergicieldevisualisationpourlese Sciences Le projet gviz [19; 25] a été créé par le UK e Science Core Programme, et a deux objectifs principaux. En premier lieu, le projet vise à adapter à la grille deux systèmes existants de visualisation,irisexploreretpv3,desortequelesoutilsdevisualisationsoientdisponiblesdès quepossiblepourdesutilisateursdesgrillesinformatiques[26;43].ensecondlieu,gvizdéveloppe laréflexionàpluslongtermesurlavisualisationdistribuéeetcollaborative,avecl'emploiduxml pourdécriredesdonnéesàvisualiserainsiquelesprogrammesdevisualisationeux même.autour d'irisexplorerundémonstrateuraétéconçudefaçonàdistribueràtraverslagrilleunréseaude modulescommandéviaunordinateurdebureau.ceciestréaliséd'unefaçonsécuriséeenutilisant lelogicielglobuspourremplacerlepeusûrmécanismedersh.lescapacitésdecollaboration offertesparcovisasontimmédiatementdisponibles,etainsinousobtenonsuncadrepourla visualisationcollaborativedistribuéesurgrille.uneapplicationimportantedececiestlepilotage lorsquelemodèledesimulationfonctionnesurunserveurdistant,maisestcommandéàpartird'un ordinateurdebureau.laversiongrilledepv3estcrééeenremplaçantsescommunicationsbasées 38/62

39 surpvmparunmécanismedeservicewebquiutiliselepaquetdegsoap[24].lecalculdistribué fournidesdonnéesviadesoffresdeservicewebpourlavisualisationetlesserveurspv3serelient àcelui cientantqueclientsdeserviceweb.notonsquegsoapfournituneimplantationc/c++ efficacedeserviceweb,faisantusagedessletdegsi(gridsecurityinfrastructure)auxfinsde sécurité. 6.3 Modèleencouches LemodèlegVizestconçuautourdetroiscouches: unecoucheconceptuelle; unecouchelogique; unecouchephysique. La couche conceptuelle décrit le réseau de flot de données en termes de processus abstraits indépendantsdeschoixlogicielsetmatériels.lacouchelogiqueplaquesurcesprocessusleschoix logiciels.lacouchematériellerépartitlesprocessussurlagrilleendécrivantlalocalisationdes logicielsquivontconstruirel'applicationglobaledevisualisationcollaborative(voirfigure22). La couche conceptuelle décrit comment les données numériques doivent être transformées en donnéesvisualisables.lacollaborationestdécriteenassociantdesréseauxdeflotsdedonnéesà desutilisateursetenspécifiantlesliensentrecesréseaux.leréseaudeflotdedonnéespeutêtre modifiédefaçondynamiqueenfonctiondel'évolutiondesbesoinsdevisualisationaucoursd'une analyse. Concept Logique Contraintes Placement Physique Figure22:Modèlederéférenceencouches L'utilisation du langage XML pour décrire cette couche doit conduire à une meilleure inter opérabilité des systèmes de visualisation et à un développement plus pertinent des nouveaux logiciels de visualisation (qui pourraient être développés pour inter opérer avec ces nouveaux standards).l'avantaged'utiliserunecoucheconceptuelle(enxml)pourdécrirelesprogrammesde 39/62

40 visualisation (par exemple la façon dont les pipelines graphiques sont construits par les environnementsmodulairesdevisualisation)estd'ouvrirlavoieàdeséchangesdevisualisations entrelesutilisateursdedifférentssystèmes.onnoteratoutefoisquel'éventuelsuccèsd'unetelle spécification formelle estliéàl'émergence progressived'une ontologiedelavisualisationbien décriteetpartagée(ontologie=modèlegénéraloutaxonomiedestypesdedonnéesetdesméthodes ettechniquesdevisualisation[19]). La couche logique peut être réalisée de différentes façons. Par exemple, chaque entité peut correspondre à un module au sein d'une environnement modulaire de visualisation, ou à une fonctiondebibliothèqueouàunecombinaisondesdeux.sileprincipedecettecoucheestdenepas préciser la localisation des exécutions, le choix des logiciels introduit des contraintes sur les ressourcesrequises.depluscescontraintesnesontpasstatiquespuisquedenouvellesdonnées peuvent être mises en jeux lesquelles nécessitent une migration logicielle pour satisfaire des contraintesdeperformance. Aufinallacouchephysiqueinterprètelaspécificationdelacouchelogiqueentermederessources surunenvironnement«grille»particulier.icinonplusleschoixnesontpasstatiques. 6.4 Miseenpratiquedumodèle Chaquecouchedumodèleabesoind'êtrereprésentéepourpouvoirexprimerlesinstancesderéseau mais aussi les transformations d'une couche dans l'autre. Si la plupart des environnements de visualisationmodulaireàbasedeflotsdedonnéesprivilégientuneprésentationpardiagrammes, gvizexploreunmoyendereprésentationàlafoisdiagrammatiquemaisaussibasésurunlangage «skml». La description des modules gviz ressemble àcelle des modules FlowVR, avec des définitionsdeportsd'entréeetdesortie.unsouciparticulierdesconcepteursdegvizaétéde proposer des outils généraux tout en les illustrant avec de véritables environnements de visualisation.c'estdanscetespritqu'ilsontproposéunmoduleirisexplorerquiluipermetdelire lesfichiersskmlpourlancerdessessionscollaborativescovisa.unoutilinversepermetde générer du skml pour exprimer des sessions IRIS Explorer. Le concept est annoncé comme transférableàvtk[60],opendx[38],outoutenvironnementmodulairedevisualisation. Le«g»degVizsignifie«Grille»et,hormislesoucidegénéralité,c'estleprincipalapportdecet environnement.cedernierautorisel'allocationdemodulesenlocalmaisaussiàdistancesurla grille.defaçonévidente,c'estparticulièrementutilepourlessimulationsquigénèrentlesdonnées, maisaussipourlescalculsintensifsdevisualisationtelsquelesextractionsd'iso surfacessurdes données massives. D'autres environnements modulaires de visualisation implantent ce type de distribution mais gviz apporte la technologie «grille» en portant l'effort sur la sécurité, l'authentification, l'identification et la découverte de ressource. Par exemple IRIS Explorer se contentedumécanismedershpourlesappelsdistants,alorsquegvizprivilégiesshouglobus. 6.5 BibliothèquegViz LabibliothèquegVizestcomposéededeuxparties:unepourlepilotagedesapplicationsqui permet d'appareiller le code des scientifiques, l'autre pour autoriser les connexions entre les composants généraux et les codes de visualisations. L'implantation des mécanismes de communication vise à minimiser les interruptions de la simulation. L'architecture fournit des 40/62

41 processuslégerspourrecevoirleschangementssurlesparamètresdepilotageetpourlesconserver dansunequeuejusqu'àcequ'ilssoientrequisparlasimulation.demêmelesystèmefournitdes processuslégersenguisedeserveurspourlesparamètresàdestinationdesclientsconnectéset d'autresprocessuslégerspourfournirlesdonnéescalculées.lasecondegrandefonctionnalitédela bibliothèqueestdefournirdesroutinesd'apipourlesclientsafinqu'ilslesutilisentpourcréerdes communications avec la simulation. L'apport de gviz, vis à vis d'autres environnements de visualisationdedonnéesautorisantlepilotage,estdefournirlesmoyensd'externaliserlasimulation vis à visduprocessusdeflotdedonnées(voirfigure23). Simulation active gviz Paramètres de contrôle Grille Pilotage données gvviz gvviz Contrôle de la Simulation Sélection des données Données vers géométrie Rendu de la géométrie Figure23:UtilisationdegVizpourpiloteretvisualiserdesdonnéesdepuisunesimulation exécutéesurlagrille Lescommunicationsentrelessimulationsetlescodesclientspeuventêtregéréesdedifférentes manières.cesontlesconcepteursdessimulationsquichoisissentlesmodesdecommunicationen choisissantlesméthodes.lemoyenleplussimpleestd'utiliserlessocketsunixmaisceladevrait êtreréservéàunenvironnementsécurisé.l'environnementoffreuneinterfaceaveclesservicesweb vialabibliothèquegsoap.làoùl'accèsestréservéàcertainsmaisoùl'environnementestouvert, dessocketsglobussontfournis.uneversiondesgsoaputiliseunmodulegsiafindegarantir l'authentification.enoutreilestpossibled'adjoindredesmoyensd'encryptagepoursécuriserles transfertsdedonnées. La bibliothèque gviz contient également les outils gvizds et gvizproxy. Le premier est un «directory service» qui collecte l'existence et les modalités de connexion des simulations disponibles.unsystèmegvizpeutainsitrouverlessimulationsencoursd'exécutionencontactant un ou plusieursserveursgvizds.unefoislasimulationdécouverteellepeutêtredirectement contactée.gvisdsestfournisouslaformed'unensembledeserviceswebaccédéviasoap. Unedesdifficultésbienconnuelorsqu'ondoitaccéderàuneressourcedecalculsurlaGrilleest qu'elle est souvent localisée sur un cluster configuré en réseau privé. Il est alors difficile de communiquer directement avec une machine ne disposant que d'une adresse privée. L'outil 41/62

42 gvizproxyréaliseunpontentreprocessusinterneetprocessusexterne.lorsqu'uneapplicationde visualisationcontactegvizdspourtrouverunesimulation,celui ciretournelesmodalitédecontact de gvizproxy au travers duquel il est possible d'accéder à la simulation. La visualisation se connecte alors à gvizproxy comme si elle accédait à la simulation et gvizproxy transfère les donnéesdel'unàl'autre. LesmoyensfournispargVizpermettentderéaliserentièrementàdistanceledéploiementetle pilotagedelasimulationetduprocessusdevisualisationpournegérerenlocalquelesparamètres depilotage,ladéfinitiondupipelineetlerapatriementfinaldesimagesrendues.c'estlescénariode lafigure24.ceschémacorrespondàundémonstrateuroùirisexplorerestutilisécommefront endpourlanceràdistanceuncodedesimulationetunpipelinedetraitementvisueletdepilotage.il estalorspossibledesedéconnecterpouruntempsdelasimulationavantd'yreveniràsaguisepour récupérerlesimagescourantesetajusterlesparamètresdevisualisation. Pilotage Simulation active Grille gviz données geométrie Rendu Paramètres de contrôle gvviz Contrôle de la Simulation Visualisation des images distantes Figure24:Connexiondecomposantsdesimulationsetdevisualisationssurlagrille Leprojetestopensource(dernièrerelease:gViz1.1août2005)etestpoursuiviviale«Integrative BiologyProject»quiestactif(dernierrapportdatantde2006). 7. DIVA9 Lebutinitialdeceprojetestdepromouvoirladéfinitionetl'émergenced'un«standardvirtuel» pourlavisualisationscientifiquehauteperformance.leprojetestissududépartementd'energie Américain(DOE)quiatravaillésurlesalgorithmesetl'infrastructuredevisualisationaprèsavoir constatéquelesproduitscommerciauxnerépondaientpasàsesbesoins.leprojetseperçoitentant que processus complet associant les partenaires dépositaires des besoins en visualisation (en l'occurrencelesprojetsscidacfinancésparledoe)jusqu'àlacommunautédelarecherchesur cedomaineprécis.cesrecherchesportentsurlesalgorithmespropresàlavisualisationdistante ainsiquesurlesinfrastructuresnécessairesauxdéploiementseffectifs. Les promoteurs de DIVA (le DOE) dressent le constat qu'en dépit d'années d'efforts et de 9 vis.lbl.gov/research/diva/index.html 42/62

43 démonstrationsréussiesdevisualisationdistante,lesutilisateursutilisentdefaçonprédominantedes outilsenlocalsurlesstations.aumieuxcesontdesconnectionsviax11surdesoutilsdistants séquentiels.pourtantiln'existepasd'autreissuequelavisualisationdistante/parallèlepourgérerles donnéesactuelles.maislesoutilsoffrentdesfonctionnalitésfractionnairesetleseffortsenmatière devisualisationdistantenelesontpasmoins:certainsoutilssontopensource(parallelvtk, OpenDX), d'autres sont des environnements commerciaux (CEI EnSight, AVS Express) enfin certainssonttotalementintégrés(visit,visapult,terascalebrowser). LespromoteursdeDIVAinsistentsurlemanquedegénéralitédesoutilsexistantsetsurtoutsurle faitquecesarchitecturesn'offrentpasdesolutionexhaustivepourlesarchitecturesparallèleset distribuéesactuelles.commentlesfaireinter opérer?entoutétatdecause,uniquementavecune architecture commune créée à cette fin et conçue pour susciter l'adoption des utilisateurs. Ils proposentdoncdeconstruireunearchitecturerigideinduisantdebonnespratiquesdeconception. Lesystèmedevraitfournirlesmoyensdedéchargerlesdéveloppeursdestâchesdomestiquespour qu'ilsseconcentrentsurlesconcepts. DIVAdevrait: êtremodulairepourintégrerlesdéveloppementscommunautaires; supporterladécouvertederessources; supporterl'analysedeperformanceetl'équilibragedechargeenconséquence; supporterlestreaming,l'out of coreetlesniveauxdedétails; découplerlesmodulesdetraitementetlescodesdeprésentation/gui; intégrerdesmodèlesinternesrobustes; reprendrelescaractéristiquesessentiellesdesoutilsdelacommunautécommeopendx, AVSetVTK; encoderdesstructuresdedonnéesdebaseenvisualisationetscience(décompositionde domaine, représentation hiérarchique, LOD...) afin de mettre fin à la balkanisation des formatsetdesdonnées. Le projet par ces ambitions et son analyse ressemble à gviz. Par contre il semble plutôt en gestationetpeudynamiqueavecdesworkshopsdatantde2003puisuneprésentationaulbl's DistributedSystemsDepartmentennov SciRun/SciRun2 LeSCIInstitutedel'universitédel'Utahapourthèmederecherchegénérallecalculscientifique incluant les aspects visualisation et traitement d'images. Dans ce cadre, il est à l'origine du développement de SCIRun [45], PSE (Problem Solving Environment) dédié aux simulations numériquesetquiintègredesoutilspourlavisualisation.nousavonsvuquelespremierspasvers lavisualisationdistanteontdonnélieuàunprototypeappelésemotusvisumquiapermisuntravail sur la répartition du pipeline graphique. Désormais cet aspect est abordé d'une manière plus généraleavecledéveloppementdescirun2[46]quiestuneapprocheparcomposantsconforme aucca. 43/62

44 8.1 SciRun SCIRunestdéfinicommeunenvironnementdeprogrammationpourlecalculscientifiqueetla visualisation.ilsedéfinitcomme: un ensemble de bibliothèques qui fournissent diverses implémentations de méthodes numériques(solvers,...),deméthodesdeprérenduetderendu, une infrastructure qui permetla création et la gestion de l'applicationvia une interface graphique.uneapplicationestalorsconçuecommeuncanevasdemodulesconnectésentre euxvialeursportsselonlemodèledataflow, unensembledepontsavecdesbibliothèquestrèsutiliséesencalculscientifique(petsc, Matlabviadesscripts). L'utilisationdeSCIRunestbaséesuruneinterfacegraphiquequipermetdeconstruirel'application encréantlecanevasdel'applicationgraphiquementmoduleparmoduleeteninter connectantleurs ports.deplus,unmoduleparticulierpeutêtreutiliséafind'intégrerdelavisualisationdansune application.cemoduleestenfaitunvieweravecseulementdesportsd'entréeconnectésàdes modulesdeprérenduetderenduappliquésauxrésultatsd'unesimulationcommel'illustrelafigure 25issued'untutorielSCIRun10. Figure25:ExempledecanevasdeSciRun SCIRunestdestinéauxarchitecturesàmémoirepartagéeetutilisedoncunparallélismeparthreads. Enintégrantàlafoisdesbibliothèquesdecalculsetgraphiquesiloffreunenvironnementdetravail convivial et qui semble facile à utiliser. Il reste une question sur la facilité d'intégration d'un /62

45 nouveaumoduledecalculougraphiquelorsquel'algorithmevoulun'estpasimplémentédansles bibliothèquesdisponibles. 8.2 SciRun2 Dans[45],lavisualisationdistanteestpointéecommeuneperspectived'améliorationdeSCIRun. Cependant,auvudelacomplexitédesdifférentsscénariospossiblespourlarépartitiondupipeline graphique(similairesànostroisscénarios),ladirectionchoisieestdefaireévoluerscirunenune approcheparcomposantsconformeaumodèlecca. Ainsil'ambitiondeSCIRun2commel'illustrelafigure 2611 estdefournirunmétamodèlepar composantspermettantd'intégrerunensembled'environnementsauseind'unemêmeapplication. Figure26:SCIRun2commemétamodéleparcomposants SCIRun2estdansunpremiertempsuneimplémentationd'uneapprocheparcomposantsdetype CCAintégrantaussilesportsdirectsoucollectifsàpartird'unebibliothèqueappeléeMxN[36]qui formalise les méthodes collectives d'invocation et de distribution de données sur plusieurs composants. De cette manière il définit des composants parallèlesconstituésd'un ensemble de composants dont tous les ports participent à une même opération collective «uses» ou «provides». Ensuite, SCIRun2 permet ou permettra d'intégrer directement des composants CORBA,MicrosoftCOMoudesmodulesVTKdansuneapplicationSCIRun2.Enfin,SCIRun2en tantquemétamodèlesebaseégalementsurdescomposantssupplémentairesappelés«bridges» pourcréerdespontsentredifférentscomposantsn'appartenantpasàlamêmeinfrastructurecca. Un prototype SCIRun2 semble être en cours de développement mais non disponible. Cette approche,encoreunefoisplusgénéralequ'unesolutiondevisualisationdistanteestàsuivrecarses perspectivespourraientenfaireunenvironnementdedéploiementd'applicationstrèsintéressant forum.org 45/62

46 9. Mbender Le projet Mbender12, duvisualization Group dulawrence Berkeley National Laboratory, s'est intéresséauxsolutionsderechangeauxdécompositionstraditionnellessousformedepipelinepour améliorerlavisualisation3dinteractiveàdistance.lebutaffichéestdeproposerunevisualisation entièrement interactive des données 3D variables dans le temps à l'aide "des outils de bureau standard".leprojetpartduprincipequedansbeaucoupdecas,lesutilisateursexigentseulementun sous ensembledetouteslesfonctionnalitéspossiblesdevisualisation.ilssouhaitentsimplement comprendre des rapports entre la forme 3D et la profondeur, et passer en revue des données variablesdansletempsprésentéesdansunformat3d. L'approcheadoptéeestd'explorerdesmanièresdefournirlavisualisationetlesrésultatsderendu d'unefaçonquisimulel'expérienceparl'explorationinteractiveen3d.lemécanismedefourniture àdistancedurendudoittrouverunéquilibreentrelecoûtetlesfonctionnalitésoffertes.l'envoides imagesplutôtquedesdonnéesestunemeilleureapprocheentermed'extensibilitéversdesdonnées toujoursplusgrandes.cependant,l'envoidesimagesestintrinsèquementcoûteuxetl'interactivité souffredèsqu'ilyaunelatencemêmemineuredueauréseau. LechoixdeMbenderestdecréerunfilminteractif3D.Ilproduituncertainnombred'imagesd'une scène4d(3+temps)enchangeantlepointdevue,puisfournitàl'utilisateurlacapacitédechoisir facilement un point de vue ou un pas de temps. De cette façon, l'utilisateur a l'expérience de l'interaction 3D avec des données variables en temps. Cette technique, comme l'ibr, est particulièrementutiledanslecadredelavisualisationscientifiqueàdistancepuisqu'elleestbasée surletransfertdesimagesdontlataillepeutêtrebieninférieureàcelledesdonnées.parcontre, contrairementauxtechniquestraditionnellesd'ibrquitiennentcomptedelacohérenceinterframe pourreconstruiredesimages,cetteapprochesecontentedefournirlesmoyensdeprésenterdes images préexistantes adaptées au point de vue de l'utilisateur. Plusieurs approches alternatives répondentàcesobjectifs:desprimitivesjava script,quicktimevretmbrowser,unnavigateur surdesimagesmulti résolution. Mbendersacrifielagénéralitédesautressolutionsdevisualisationdistantemaisoffredenombreux avantages: Lecoûtdetransfertestbornéparlenombredevuesetlarésolutiondesimagesrenduesqui composentlefilminteractif,pasparlaquantitédesdonnées. Lacapacitéd'exécuterdel'interaction/explorationdesdonnées3Dvariablesentempsen utilisant"lelogicieldebureaustandard",commeunnavigateurwebstandard,oulemodule QuickTimedesordinateursApple. La capacité de fournir une expérience 3D interactive aux utilisateurs à distance indépendamment de l'algorithme, de la technique ou de l'application de visualisation produisantdel'imagerie. Lacapacitédeservirdelavisualisationàdistanceavecunsimpleserveurweb,simplifiant parlàmêmelesproblèmesdeconfigurationdesserveurs,despare feux. Unevisionsimilaireauserviceweb,lavisualisationpeutêtreaccessibleàungrandnombre d'utilisateurspotentiels,ouseulementàquelques uns,enfonctiondeschoixdecontrôles d'accès vis.lbl.gov/research/mbender/ 46/62

47 9.1 EncodeurJavascript Figure27:Visualisationvial'encodeurJavascript UnedespremièresexpériencescitéeduprojetMbenderutiliseJavaScriptpourexécuterducôtédu clientlasélectiond'imagesdynamiquesbaséesurlapositiondelasouris(figure27).c'estprésenté en tant que solution "à faible composante technologique" utilisant n'importe laquelle parmi un certainnombred'applicationsdevisualisationpourproduiredesimagesselonunjeudepointsde vueetstockerlesimagesdansdesfichiersderastérisation.ensuite,"unencodeur"créeunepage webcontenantlesimagesenlienavecunclientjavascriptquisélectionnelesimagesenfonctionde lapositiondelasouris.silespointsdevuesontchoisisdelabonnemanière,alorsl'interfacede Javascript«secomportecomme»unenavigation3Dinteractiveclassique. L'avantage principal de cette approche (via un encodeur en Javascript) est qu'un web browser standardpeutêtreemployépourfairel'interaction3d.ildemeurel'inconvénientquesonutilisation n'estpasraisonnablepourdes«grandesetcomplexes»interactions3d.lejavascriptpré charge d'abordtouteslesimagespourlascènedanslecachedunavigateuravantqu'ilsoitpossibled'agir surlascène.quandlascènecontientunnombrerestreintd'images,cettelimitationestrarementun problème.quand«lefilminteractif»contientungrandnombred'images peut êtrereprésentant beaucoupdepointsdevuefinementespacéspourfournirunebonnefidélitévisuelle alorsilest possiblequelasaturationducacheprovoqueuneerreurdunavigateur.l'approchejavascriptest intéressantepourladiffusiondesrésultats(peut êtrepournaviguerdanslesbasesderésultats), mais son utilisation est relativement limitée pour la visualisation 3D interactive des données importantesentaille. 9.2 QuickTimeVRobjectMovies QuickTimeVRestunlecteurdemédiacrééetmaintenuparApple.C'estunetechnologieinter plate forme,pourmanoeuvrer,augmenteretstockerlavidéo,leson,l'animation,lesgraphiques,le texte,lamusique,ainsiquelavisualisationà360degréspropreàla«réalitévirtuelle».ilpermet 47/62

48 égalementdelireencontinuunfluxvidéonumériqueoùlefluxdedonnéespeutêtrestockéou fourni en continu. Apple sur son site web précise qu'il existe deux types principaux de film QuickTimeVR:les«filmsdepanorama»etles«filmsd'objet».Lesdeuxformessontdesfilmsoù l'imageestdirigéeparl'utilisateur.lesfilmspeuventêtrecréésphotographiquementouavecun logiciel3d.classiquementlesenvironnementsrendussontdesinterprétationsphoto réalistesdela réalité.avecunfilmdepanorama,ilestpossibledetournerà360degrésàpartird'unpointfixe afinderegarderautourdesoi.inversement,lesfilmsd'objet(voirfigure28)sontplusapparentés auregardàl'intérieurd'unbocaldepuisn'importequelledirection.end'autrestermes,onpeut placerlepointdevueàn'importequelendroitsurlasurfaced'unesphèretoutenobservanttoujours lecentredelasphère.lesfilmsd'objetssontcomposésd'unchoixd'imagesdiscrètes:qtvrne faitaucuneinterpolation.sil'ondisposed'ungrandnombred'imagesprisesàdesanglesproche,le mouvementsemblelisse.lefilmd'objetsdeqtvrestuneexcellentemanièredeprésenteren3d lesrésultatsdevisualisationetdepermettreunemanipulationinteractivedesvues.leplayerqtvr autorise également les «zoom in, zoom out», ainsi que la capacité de rembobiner des images variablesdansletemps. Figure28:VisualisationviaQTVR L'avantageimportantparrapportàl'encodeurjavascriptestquelesimagesn'ontpasbesoind'être entièrementstockéesenmémoirepourcommencerlerendu.ellespeuventapparaîtreaufuretà mesureenfonctiondelanavigationtoutenamortissantlalatenceduréseaugrâceàlacapacitéde QTVRd'offrirunenavigation3Dàpartird'imagesenmémoire.Cesystèmeaainsilacapacitéde «cacher» les résultats d'un rendu distant et de les visualiser sur n'importe quelle machine de bureau. LacontributiondeLBNLsurcesujetestlacréationd'unencodeurquiproduitdesfilmsd'objet QuickTime VR.Leprojetsembleavoir rencontrédesdifficultésàtrouverunencodeurqtvr open source. 48/62

49 9.3 Navigationinteractivedansdesimagespré renduesenmulti résolution. Si l'onutiliselezoomdeqtvr,onvoitrapidementqu'ilyaunproblèmeaveclarésolution d'image.pendantlezoom,larésolutionnes'améliorepas.ilseraitpréférabled'offrirlacapacitéde zoomeràdesrésolutionsaussiélevéesquenécessaire.ainsi,desimagesderésolutionplusélevées devraientpouvoirêtrechargéesdansunespacedecacheafind'êtrevisualiséesencasdezoom. Figure29:ImageQTVRlarge Lesfigures 29, 30 et 31 illustrentexactementcepoint.lafigure 29 estlareprésentationlaplus largedel'objet.sil'onzoomeàl'intérieuravecleplayernormaldeqtvr,onobtientuneimage brouilléedonnéefigure 30.Aveclavéritablereprésentationdemulti résolution,onobtientune imagefortementdétailléefigure31 Letravaildemulti résolutionpartdubesoindemaintenir lafidélitévisuelleélevéependantlanavigationinteractive3d.destechnologiessemblables sontnaissantessurleweb,parexemplepourl'achatenligneafindepermettrelezoomsur desdétailsdeproduit /62

50 Figure30:Détailsansmulti résolution Figure31:Détailavecmulti résolution L'architecture(figure32)dusystèmemulti résolutionestbaséesurdesimagespré rendues, parexempleviaopenrmscenegraph[35].lesimages,parpasdetemps,sontprisesde plusieurspointsdevuesetàdifférentesrésolutions;parexemple:400x300,1600x1200et 4000x3000.Ensuitelesimagessontpré traitéespourobtenirunensembledefichiersavec uneconventiondenomsenlienavecdeuxfichiersdeméta données:lefichiercatalogueet lefichiercarte.cesfichierssontplacéssurunserveurweb.leclientchargecesfichiersde méta données puis les images en fonction de la navigation. Le client est ici un code classiqueécritenc++quifaitappelàlatechnologiejni(javanativeinterface)etjnlp (JavaNetworkLaunchingProtocol). Figure32:ChaînedetraitementMulti résolution Ilseraitintéressantd'étendrecesystèmeàdescartesdynamiquescequipourraitélargirle nombredesimagesaccessibles.demêmeonpourraitimaginerdegénérerlesimagesàla voléeensortiedesimulation. 50/62

51 10.CumulVS CumulVS [13] est un système de pilotage et de visualisation de simulations lourdes, de collaboration et de tolérance aux fautes et pannes. Il est développé par Oak Ridge National Laboratory, et supporté par le U.S. Department of Energy (DOE). Il n'est pas destiné à la visualisationdistanteentantqueteletpeutdoncêtreclassifiécommeunsystèmetangentànotre étude. Cependant, dans le cadre du pilotage, il intègre la visualisation comme un outil pour contrôler l'évolution des donnéesen cours desimulation. Dans ce sens, il propose aussi de la visualisationdistante Approche Il s'agit de permettre à plusieurs collaborateurs de connecter/déconnecter dynamiquement un visualiseur(viewer)àunesimulationparallèleenaction Architecture L'architecturereposesurunviewerconnectéàl'application.Cedernierdemandeàvisualiserune portion(ourégion)dudomainedecalculàunefréquencedonnée.laspécificationdesdonnées concerneaussilesfrontièresetlatailledescellules.apartirdecettedemandelesdonnéessont collectéesetenvoyéesauviewer.pours'assurerquecelui ciaunevuecohérente(itération)des données,unmécanismedesynchronisationlâche(sansbarrièreexplicite)estréaliséaprèschaque envoidedonnées. Plusieurscollaborateurspeuventmodifierl'applicationparallèle.Unmécanismeàjetonpermetde maintenirlacohérencedesparamètresdupilotage.desprotocolesdeconsistancepermettentde garantirquetouteslestâchesmodifientlesparamètresàl'unisson. CUMULVS comporte deux parties : une partie applicative et un front end de visualisation. L'applicationpeutêtreconstituéedetoutprogrammeàpassagedemessagesetlefront enddetout systèmedevisualisation(implémentationactuellepvm/avs). L'interfaceutilisateurestassezsimple.Ondoitspécifierdeuxinformationsimportantessoitdécrire lamanièredontlesdonnéessontdécomposéesetdéfinirlesparamètresàpiloter. Pourlacollectedechampsdedonnées,CUMULVSréaliselesopérationssuivantes: leviewerseconnecteinitialementàl'applicationpourrassemblerdesinformationssurles différentschampsdedonnéesetlesparamètres, leviewerdemandelacollectedesdonnéesd'uncertainnombredechampsditsvfg(view fieldgroup), pourchaquevfg,leviewerspécifielaportiondedonnéesàcollecter(visualizationregion); cettezoneestdéfinieentermesd'intervallessuivantlesaxesduvolumeetunetaillede cellule. LadeuxièmefonctionessentielledeCUMULVSestlepilotagedesimulationquiconsisteàpouvoir modifierenlignecertainsparamètresd'uneapplicationpardesprocessusdistants(ouexternes).le 51/62

52 pilotageestinitialiséparunappeldefonctionquiréalisel'équivalentd'unerequêtedechampsde donnéesen établissantuneconnexion synchronelâcheavecl'application. Cettesynchronisation garantitquetouteslestâchesmodifientlesparamètresaumêmemoment. Unefoislepilotageinitialisé,pourmodifierunparamètreparticulier,leviewerdoitacquérirun jetonspécifique.lorsqu'ilalejeton,unviewermodifielesparamètresqu'ilasélectionnésavantde lesrenvoyeràl'applicationetrelâcherlejeton. Pourcertainstypesdesimulationscommelessystèmesàparticules,plusieursinstancesd'unmême objet peuvent être contrôlées différemment. Pour ce type d'utilisation, CUMULVS propose les paramètresindexés.aveccesderniers,unparamètresupplémentaire«index»estajoutéàceuxde l'application.lorsdelarécupérationdesparamètresparl'application,c'estceparamètrequiest extraitenpremierpourconnaîtrel'instanceparticulièred'unobjetàlaquelles'appliquentlesautres paramètres. Lesprogrammesparallèless'exécutentdeplusenplussurdesarchitectureséclatéesethétérogènes. Latoléranceauxfautesetpannesdevientnécessaire.CUMULVSfournitdesoutilspouruntel mécanisme.ainsitouslesmoyensnécessairespourredémarreruneapplicationparallèleéchouée sontencapsulésdansunprocessusséparé,lecpd(checkpointingdaemon).c'estuncheckpointing dirigéparl'utilisateurdanslesensoùc'estleprogrammeurquispécifielesvariablesàsauvegarder etfournitlesmoyensd'indiquersil'applicationdémarrenormalementouàpartird'uncheckpoint. CUMULVS,quantàlui,gèrel'extractionduderniercheckpointcohérentainsiquesonchargement danslesvariablesutilisateur.cetteapprochepermetlamigrationdeprocessus,lescheckpoints stockantsuffisammentd'information. LeCPDs'exécutesurchaquenoeuddelamachinevirtuelle.Ilfournitdeuxfonctionsélémentaires: sauvegarderuncheckpointàpartird'uneapplication chargeruncheckpointdansuneapplication Deux réponses sont possibles en cas d'échec : soit on arrête tous les noeuds et on opère un redémarragecompletaprèschaqueéchec,soitonnotifieauxnoeudsencoreactifsqu'ilsdoivent repartird'uncheckpoint.danstouslescas,c'estlecpdquicontrôlelesignalementetlagestiondes tâchespourredémarrerproprementuneapplicationparallèlequiapartiellementoucomplètement échoué. Lecommitd'uncheckpoint(écritureenmémoirenon volatile)aunsurcoûtimportant.acausedu schémaasynchroneentrelestâches,lorsd'unéchec,siuncheckpointestincompletalorstoutesles tâchesdoiventremontercollectivementauderniercheckpointvalide.suivantlatailledesdonnées danslescheckpoints,celles cisontrépliquéessurchaquenoeudounon. 11.EnvironnementpourlePilotagedeSimulationsNumériques L'environnementEPSNestégalementdédiéaupilotagedesimulationsnumériquesparallèleset distribués.ilestdéveloppéauseind'uneaci GRIDparleprojetScAlApplixdel'INRIAFuturs14. Cetenvironnementaenparticulierfaitl'objetd'unethèse[16] /62

53 11.1 Approche Danslecadredessimulationsnumériquesreposantsurdesprocessusdecalculitératifselonune architecturedetypespmd,l'objectifdecetenvironnementestdepermettreauxutilisateursde piloterunesimulationparlavisualisationdesrésultatsintermédiaires.leprincipedecepilotageest d'insérerdanslasimulationmêmedespointsd'arrêtgérésparuneapiquipermetl'extractiondes donnéesetleurvisualisationsurleclientlocalselonleprincipeillustréfigure Architecture L'architectured'EPSNestbaséesurdesmodélisationsdelasimulationetdupilotagepourgénérer unmodèlehiérarchiqueentâchesquipermettradeconstruirelesinteractionsaveclasimulation. Commelemontrelafigure34,l'utilisateurfournitcesmodélisationssousformed'instrumentation ducodesourceassociéeàunedescriptioncomplémentairexmlprécisantlepilotagec'est à dire lesmodesd'interactionaveclasimulation.unere compilationdel'exécutabledelasimulation, utilisantlesbibliothèquesepsn,permetdefournirunenouvelleversiondite«pilotable»quise déploiesurleserveurdecalculsdemanièreordinairepourl'utilisateur.leclientpourréaliserson pilotageseconnectealorsdynamiquementàlasimulationetpeutluisoumettredifférentesrequêtes commel'accèsàlavoléedesrésultatsintermédiaires,lamodificationàdistancedeparamètresdela simulation.danscesens,l'environnementepsnfournitunclientgénériqueappelé Simone qui permetlaconnexionetl'interactionavectoutessimulationsinstrumentéesparepsn. Interactionàlavolée Réseau sitedistant sitelocal Simulation numérique Outilsde visualisation Réseau Transfertdesrésultatsintermédiaires Figure33:Simulationinteractive(schémareprisde[16]) Encequiconcernelecouplageentrelasimulationetleclientréalisantlepilotage,ilsuitunmodèle parcomposantsparallèles.ainsilasimulationestlepremiercomposantconstituéd'unproxyepsn etd'unensembledeportspourtouslesprocessus.demêmelavisualisationquipeutêtreparallèle constitue le deuxième composant sur le même principe. EPSN fournit alors une couche communication basée sur CORBA pour assurer les transferts de données entre les deux composants.lesrequêtesvialeproxyduclientsontenvoyéesauproxyduserveurdesimulations quilestransmetauxportsdesprocessusdelasimulationquienfinréalisentletransfertparallèledes 53/62

54 donnéesdemandées. Figure34:Lecycledevied'EPSN(schémareprisde[16]) EPSNestdoncplusqu'unoutildevisualisationdistantepuisquesonpremierobjectifestd'offrirles moyens d'interagir avec une simulation. Cependant, le pilotage étant fortement lié à de la visualisationilresteunexemplesignificatifdanslecadreduscénario2(rendulocal)pourlechoix effectuésurlecouplagedetypecorbaentreleserveurdesimulationetleclientquiréalisele pilotage. 12.Cactus Cactusestunenvironnementlibre,modulaireetportablepourledéveloppementcollaboratifde codeparallèlehauteperformancedesimulationsgénérantdesdonnéesmultidimensionnelles[5].il estportableausensoùl'ondoitpouvoircompileretexécuteruncodecactussurn'importequelle plate forme.ilestmodulaireausensoùilestpossibled'écriredesmodulesquiinteragissentviades interfacesstandardssanspourautantconnaîtrelefonctionnementinternedesautresmoduleset évidemmentdanscecastoutmodulepeutêtreremplacédefaçontransparente.comptetenudu publicvisé(physiciens)cactuspossèdedesstructurespermettantunportageaisédecodesanciens (héritage de code Fortran 77). Cactus ne réinvente pas la roue, mais fait un large usage de technologiesexistantes.iln'imposepasunmodèledeprogrammationafindenepashypothéquer l'avenir.ilproposeuneprogrammationparallèleenmodepropremaisrestecompatibleavecles bibliothèques standards de passage de messages. Son mode d'entrée sortie est propre mais compatibleavecdessystèmesstandardstelquehdf.cetenvironnementseveutsimpleàutiliser, biendocumentéetmaintenable. 54/62

55 12.1 Modèle Lemodèleestbasésuruncorpscentral(«flesh»littéralement«lachair»(ducactus))auquelles modules(«thorns»littéralementlesépines(ducactus))fontréférence.lecorpsestécritenc ANSIàdesfinsdeportabilité.Outrelecorps,l'environnementestprincipalementconstituéde modulespourfaireduparallélisme(classiquementmpiousurlagille:globusviampich G),des I/O(FlexIO,HDF5,Panda),delaphysique(driverspourunigrid/ARM(GrACE),solveursPETc), dupilotageàdistanceetdelavisualisationsansparticulièrementprivilégiercettedernière(1d,2d, 3dAmira,AVS,OpenDX).Leslangagesutiliséssontlaissésauchoixdesauteursdesmodules. LecorpsCactusestindépendantdesmodules.Ilsertdebibliothèquedeservicequelesmodules appellent pour avoir des informations ou demander des actions. Chaque module déclare l'implémentationqu'ilassumeetlesdépendancesentremodulessontexpriméesnonpasviades référencesexplicitesàd'autresmodules(cequibriseraitlamodularitédumodèle)maissousla formededépendancesd'implémentation.cechoixpermetderendrelesmodulesinterchangeables. C'estfinalementdelabonnepolitiquededéveloppementassezclassiquepourlesinformaticienset re découverteparlesphysiciensavectoutefoislapossibilitéd'avoirunsupportd'abstractiondela notiond'implémentation. LecorpsCactusestconstituéainsideplusieurséléments: un system Make : avec usage de configurations pour adapter les compilations aux architectures(t3e,irix,osf,linux,nt,etc) uneapipourlesmodulesafinqu'ilspuissentinter opéreraveclecorps unschedulerquiopèresurlesfonctionsoffertesparlesmodules(leschedulingdesroutines ougroupederoutineestdetype:avant/apres/tantque(trèsutilepourlessimulationavec critèredeconvergence)avecunsystèmededétectiond'inconsistance(figure35). unlangagedeconfiguration,ccl,quiexprimecequelecorpsabesoindeconnaîtredes modules(exemple:l'implémentationfournie,l'ordredesroutinesqueleschedulerdoit respecter,variablesàpasserentrelesroutines,paramètres...). 55/62

56 Figure35:flotduprogrammeCactus 12.2 Parallélisme Les«drivers»sontlesseulsmodulesquiaccèdentenpropreàlanotiondeparallélisme.Lesautres yaccèdentvialecorpscactus(flesh).sicesmoduleslesouhaitent,ilspeuventfaireappel,viale corps,àdesfonctionnalitésdesynchronisation,deréductionoud'interpolationfournies,enréalité, pas le «driver».la couche parallèlesous jacente esttransparenteauxmodules, ellepeut être constituéedesocketsoudesystèmesplusévolués.ilestpossibledechoisiruneimplémentationdu parallélismeàlavoléesansrecompiler,justeenchangeantde«driver»,afindetesterlacouche adéquateàl'environnementcourant.les«drivers»gèrentlesproblèmesdedécoupagedesdonnées etderépartitionsdecelles ci Visualisationdistanteetanalysededonnées Celle ci doit permettre, du point de vue Cactus, de se connecter à une simulation en cours d'exécutionpourréduirelestempsd'analysedessortiesdesimulation.lesexpérimentationscitées pointentqu'ilnesertàriend'avoirunevisualisationtropperformantesil'onestbridéparlasortie de simulation. Aussi les concepteurs ont ils décidé d'implanter des outils directement sur les machinesdesimulationoffrantainsiuntraitementdelavisualisationdontlacapacitéestdumême ordredegrandeurquecelledelasimulation.l'autrevoieexploréeviacactusestlaréductiondu volume des données à visualiser en n'exportant qu'un sous domaine. Les données sont sous échantillonnéesavecl'aidedesmodulesd'i/oenparticulieraveclaméthodehdf5.undernière voieestlareprésentationdansdessous dimensions. Danstouslescasdefigurechoisispourlavisualisation,Cactusn'apportequesonmodèlemodulaire et des modules pré réalisés. Il ne constitue pas intrinsèquement un outil spécifique pour la visualisationdistante.parcontre,deparletypedeproblèmequ'ilviseàrésoudre,lesconcepteurs desapplicationscactusontdûproposerdessolutionsdevisualisationdistante. 56/62

CORBA haute performance

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

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Architecture distribuée

Architecture distribuée Architecture distribuée Conception et développement d algorithmes distribués pour le moteur Baboukweb Jean-Christophe DALLEAU Département de Mathématiques et Informatique Université de La Réunion 26 juin

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

Plus en détail

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

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

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage SOBI10SHA dans la zone de recherche et validez. Cliquez sur le titre

Plus en détail

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt benjamin.damecourt@me.com. UFR SITEC Master 2 EESC 11 janvier 2012

Dossier. Développer en Java sur téléphone mobile. Benjamin Damécourt benjamin.damecourt@me.com. UFR SITEC Master 2 EESC 11 janvier 2012 Dossier Développer en Java sur téléphone mobile Benjamin Damécourt benjamin.damecourt@me.com UFR SITEC Master 2 EESC 11 janvier 2012 Table des matières Introduction 2 Pré-requis 3 Hello World! 5 Installation

Plus en détail

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

GL BE FLYER. Chef de projet de l équipe : SCIONICO Pierre

GL BE FLYER. Chef de projet de l équipe : SCIONICO Pierre GL BE FLYER Chef de projet de l équipe : SCIONICO Pierre Membres de l équipe : BRESSON Adrien THIERY Kévin SCIONICO Pierre ALBERTINI Rémi ROBERT Cédric Tuteur du projet : GESQUIERE Gilles IUT de l'université

Plus en détail

NFP111 Systèmes et Applications Réparties

NFP111 Systèmes et Applications Réparties NFP111 Systèmes et Applications Réparties 1 de 34 NFP111 Systèmes et Applications Réparties Cours 7 - CORBA/Partie 1 Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon

Plus en détail

Architectures n-tiers Intergiciels à objets et services web

Architectures n-tiers Intergiciels à objets et services web Plan pour aujourd hui Architectures n-tiers Intergiciels à objets et services web Clémentine Nebut Nebut LIRMM / Université de Montpellier 2 Clementine.nebut@lirmm.fr Introduction Architectures classiques

Plus en détail

Le cadre des Web Services Partie 1 : Introduction

Le cadre des Web Services Partie 1 : Introduction Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 1 : Introduction Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/21 Agenda (partie 1) 1/2 Introduction Services

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Software Engineering and Middleware A Roadmap

Software Engineering and Middleware A Roadmap Software Engineering and Middleware A Roadmap Ecrit par: Dr. Wolfgang Emmerich Présenté par : Mustapha Boushaba Cours : IFT6251 Wolfgang Emmerich Enseignant à University College London: Distributed Systems

Plus en détail

Qu'est-ce que le BPM?

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

Plus en détail

Alfresco Guide Utilisateur

Alfresco Guide Utilisateur Alfresco Guide Utilisateur ATELIER TECHNIQUE DES ESPACES NATURELS - 1 Table des matières Alfresco Guide Utilisateur...1 Accéder à la GED de l'aten...3 Via un client FTP...3 Onglet Général...3 Onglet Avancé...3

Plus en détail

Business Intelligence avec SQL Server 2012

Business Intelligence avec SQL Server 2012 Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Table des matières Les éléments à télécharger sont disponibles

Plus en détail

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE Contact : Mme Lapedra, stage@isoft.fr ISoft, éditeur de logiciels, est spécialisé dans l informatique décisionnelle et l analyse de données. Son expertise

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

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

Plus en détail

RMI le langage Java XII-1 JMF

RMI le langage Java XII-1 JMF Remote Method Invocation (RMI) XII-1 Introduction RMI est un ensemble de classes permettant de manipuler des objets sur des machines distantes (objets distants) de manière similaire aux objets sur la machine

Plus en détail

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Création d'un site dynamique en PHP avec Dreamweaver et MySQL Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 3 : Progiciels de Gestion Intégrés Sommaire Définition... 2 ERP... 2 Objectifs

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

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

Plus en détail

Introduction aux applications réparties

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

Plus en détail

Vulgarisation Java EE Java EE, c est quoi?

Vulgarisation Java EE Java EE, c est quoi? Paris, le 1 Février 2012 Vulgarisation Java EE Java EE, c est quoi? Sommaire Qu est ce que Java? Types d applications Java Environnements Java Versions de Java Java EE, c est quoi finalement? Standards

Plus en détail

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

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

Plus en détail

Infrastructure RDS 2012

Infrastructure RDS 2012 105 Chapitre 3 Infrastructure RDS 2012 1. Introduction Infrastructure RDS 2012 Une infrastructure RDS 2012 R2 est composée de plusieurs serveurs ayant chacun un rôle bien défini pour répondre aux demandes

Plus en détail

Les modules SI5 et PPE2

Les modules SI5 et PPE2 Les modules SI5 et PPE2 Description de la ressource Propriétés Intitulé long Formation concernée Matière Présentation Les modules SI5 et PPE2 BTS SIO SI5 PPE2 Description Ce document présente une approche

Plus en détail

LES ACCES ODBC AVEC LE SYSTEME SAS

LES ACCES ODBC AVEC LE SYSTEME SAS LES ACCES ODBC AVEC LE SYSTEME SAS I. Présentation II. SAS/ACCESS to ODBC III. Driver ODBC SAS IV. Driver ODBC SAS Universel V. Version 8 VI. Références I. Présentation Introduction ODBC, qui signifie

Plus en détail

Intergiciel - concepts de base

Intergiciel - concepts de base Intergiciel - concepts de base Ada Diaconescu, Laurent Pautet & Bertrand Dupouy ada.diaconescu _at_ telecom-paristech.fr Rappel : système réparti Système constitué de multiples ressources informatiques

Plus en détail

Logiciel de conférence Bridgit Version 4.6

Logiciel de conférence Bridgit Version 4.6 Spécifications Logiciel de conférence Bridgit Version 4.6 Description du produit Le logiciel de conférence Bridgit est une application client/serveur bon marché qui vous permet de planifier facilement

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

Introduction aux intergiciels

Introduction aux intergiciels Introduction aux intergiciels M. Belguidoum Université Mentouri de Constantine Master2 Académique M. Belguidoum (UMC) Introduction aux intergiciels 1 / 39 Plan 1 Historique 2 Pourquoi l'intergiciel? 3

Plus en détail

Communiqué de Lancement

Communiqué de Lancement Direction du Marketing Produits Sage - Division Mid Market Communiqué de Lancement Rapprochement Bancaire 1000 Produit : Rapprochement Bancaire 1000 Bases de Données : Oracle - MS/SQL Server Microsoft

Plus en détail

Architecture d'entreprise : Guide Pratique de l'architecture Logique

Architecture d'entreprise : Guide Pratique de l'architecture Logique Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam

Plus en détail

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage.

Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. TD réseau - Réseau : interconnexion de réseau Réseau : Interconnexion de réseaux, routage et application de règles de filtrage. Un réseau de grande importance ne peut pas seulement reposer sur du matériel

Plus en détail

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces

Plus en détail

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49 Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique

Plus en détail

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

Plus en détail

Systeme d'exploitation

Systeme d'exploitation Introduction au dévellopement de Methodes Natives Partie I : appelle de methodes C++ sous windows Auteur: Frank Sauvage. 1 \ introduction aux methodes natives : Les methodes natives sont des methodes devellopées

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel. 4 24 12 24 CC + ET réseaux

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel. 4 24 12 24 CC + ET réseaux PROGRAMME DETAILLE du Master IRS Parcours en première année en apprentissage Unités d Enseignement (UE) 1 er semestre ECTS Charge de travail de l'étudiant Travail personnel Modalités de contrôle des connaissances

Plus en détail

CONCEPT de MICRO-DOMOTIQUE. Système STANTOR-DOMODULOR

CONCEPT de MICRO-DOMOTIQUE. Système STANTOR-DOMODULOR CONCEPT de MICRO-DOMOTIQUE Système STANTOR-DOMODULOR Sommaire 1 Introduction...1 2 Le concept de services WEB en micro-domotique dans le logiciel STANTOR- DOMODULOR...3 2.1 Composition et services fournis...3

Plus en détail

novapro Entreprise Introduction Supervision

novapro Entreprise Introduction Supervision 1 novapro Entreprise Introduction Produit majeur dans le domaine de la GTB (Gestion Technique du Bâtiment), novapro Entreprise se positionne comme un logiciel haut de gamme et innovant pour des applications

Plus en détail

EIP 2012 Projet Livepad. Documentation technique 1.5

EIP 2012 Projet Livepad. Documentation technique 1.5 EIP 2012 Projet Livepad 1.5 Marc Mathieu Benjamin Netter David Ngo Pierre Pasteau Denis Togbe 12-01-2012 Informations sur le projet Groupe Nom du projet Type de document Marc Mathieu Benjamin Netter David

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

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

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

Plus en détail

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI

Plus en détail

Tableau Online Sécurité dans le cloud

Tableau Online Sécurité dans le cloud Tableau Online Sécurité dans le cloud Auteur : Ellie Fields Ellie Fields, directrice principale du marketing produits, Tableau Software Juin 2013 p.2 Tableau est conscient que les données font partie des

Plus en détail

Programme de la 1ère année

Programme de la 1ère année Programme de la 1ère année de master informatique Recopié du Syllabus M1 Informatique. 2004-2005 (UPS Toulouse) TC1 - Conception et Programmation Parallèle et Orientée Objet (96h) Objectif : Ce cours a

Plus en détail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

Plus en détail

Conception d'applications de base de données ios plus rapides Guide Pratique FileMaker

Conception d'applications de base de données ios plus rapides Guide Pratique FileMaker Conception d'applications de base de données ios plus rapides Guide Pratique FileMaker Table des Matières Introduction... 3 Conception de modèles... 3 Conception de bases de données... 5 Conception pour

Plus en détail

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP. Le système de transfert de fichiers d'internet Bernard Cousin Université de Rennes I laboratoire IRISA http://www.univ-rennes1.fr/ Plan Introduction aux systèmes de transfert de fichiers Le protocole FTP

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

UltraVNC, UltraVNC SC réglages et configurations

UltraVNC, UltraVNC SC réglages et configurations UltraVNC, UltraVNC SC réglages et configurations UltraVNC Serveur (réglages des paramètres d administration du module Serveur) L option «Accepte les connexions» est validée par défaut et toutes les autres

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

CORBA. (Common Request Broker Architecture)

CORBA. (Common Request Broker Architecture) CORBA (Common Request Broker Architecture) Projet MIAGe Toulouse Groupe 2 1 CORBA, introduction (1/4) Les systèmes répartis permettent de créer des applications basées sur des composants auto-gérables,

Plus en détail

En savoir plus pour bâtir le Système d'information de votre Entreprise

En savoir plus pour bâtir le Système d'information de votre Entreprise En savoir plus pour bâtir le Système d'information de votre Entreprise En savoir plus sur : Services en ligne, SaaS, IaaS, Cloud - 201305-2/5 SaaS, IaaS, Cloud, définitions Préambule Services en ligne,

Plus en détail

Annexe : La Programmation Informatique

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

Plus en détail

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5 Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur

Plus en détail

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7

et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,

Plus en détail

1 Description générale de VISFIELD

1 Description générale de VISFIELD Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit

Plus en détail

Eric Bertrand ebertrand@ixis-cib.com. 08/11/06 Maître de conférence 1

Eric Bertrand ebertrand@ixis-cib.com. 08/11/06 Maître de conférence 1 Calcul parallèle des options MC. Eric Bertrand ebertrand@ixis-cib.com 1 Plan Contexte du calcul parallèle Qualités requises Architecture Outillage Problèmes rencontrés perspectives 2 Contexte du calcul

Plus en détail

UE 8 Systèmes d information de gestion Le programme

UE 8 Systèmes d information de gestion Le programme UE 8 Systèmes d information de gestion Le programme Légende : Modifications de l arrêté du 8 mars 2010 Suppressions de l arrêté du 8 mars 2010 Partie inchangée par rapport au programme antérieur Indications

Plus en détail

Sage CRM. 7.2 Guide de Portail Client

Sage CRM. 7.2 Guide de Portail Client Sage CRM 7.2 Guide de Portail Client Copyright 2013 Sage Technologies Limited, éditeur de ce produit. Tous droits réservés. Il est interdit de copier, photocopier, reproduire, traduire, copier sur microfilm,

Plus en détail

Communiqué de Lancement. Sage Intégrale V4.50

Communiqué de Lancement. Sage Intégrale V4.50 Communiqué de Lancement Sage Intégrale V4.50 Nouvelle Version Majeure Avec près de 3000 entreprises clientes, l Intégrale est le Progiciel de Gestion Intégré le plus déployé en France, ce qui révèle toutes

Plus en détail

Assistance à distance sous Windows

Assistance à distance sous Windows Bureau à distance Assistance à distance sous Windows Le bureau à distance est la meilleure solution pour prendre le contrôle à distance de son PC à la maison depuis son PC au bureau, ou inversement. Mais

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

Programmation Web. Introduction

Programmation Web. Introduction Programmation Web Introduction 1 Introduction 10 séances 1 h cours + 1h TD Notes : contrôle continu DS 1 TP : note de groupe : rapport + code source + démo TD : note personnelle (=0 si 2 absences non justifiées)

Plus en détail

Gestion collaborative de documents

Gestion collaborative de documents Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Conception des systèmes répartis

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

Plus en détail

MANUEL. de l application «CdC Online» pour Windows. Table des matières

MANUEL. de l application «CdC Online» pour Windows. Table des matières MANUEL de l application «CdC Online» pour Windows Version 2.0 juin 2015 Table des matières 1 Introduction... 2 2 Compatibilité... 2 3 Téléchargement et installation... 2 4 Configuration... 6 5 Fonctionnement

Plus en détail

Configuration Interface for MEssage ROuting

Configuration Interface for MEssage ROuting Configuration Interface for MEssage ROuting Cahier des Charges Date : 05/04/07 Version : 1.1 Statut : diffusable Auteurs : BAGNARD Natacha FOROT Julien 1/16 Table des révisions Version Date Modifications

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

Architectures d'intégration de données

Architectures d'intégration de données Architectures d'intégration de données Dan VODISLAV Université de Cergy-ontoise Master Informatique M1 Cours IED lan Intégration de données Objectifs, principes, caractéristiques Architectures type d'intégration

Plus en détail

Surveiller et contrôler vos applications à travers le Web

Surveiller et contrôler vos applications à travers le Web Surveiller et contrôler vos applications à travers le Web Valérie HELLEQUIN Ingénieur d application Internet permet aujourd hui la diffusion d informations et de ressources que chaque utilisateur peut

Plus en détail

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise

OFFRE MDB Service & Architecture Technique. MyDataBall Saas (Software as a Service) MyDataBall On Premise OFFRE MDB Service & Architecture Technique MyDataBall Saas (Software as a Service) MyDataBall On Premise L offre Produit / Service 1 Implantation Rédaction collaborative du cahier des charges 2 3 de la

Plus en détail

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

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

Plus en détail

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90.

JAVA 8. JAVA 8 - Les fondamentaux du langage. Les fondamentaux du langage Java. Avec exercices pratiques et corrigés JAVA 8 29,90. Analyste et développeur pendant plus de 10 ans, Thierry GROUSSARD s est ensuite orienté vers la formation et plus particulièrement dans le domaine du développement. Sa connaissance approfondie des besoins

Plus en détail

Cloud Computing : forces et faiblesses

Cloud Computing : forces et faiblesses Chapitre 7 Cloud Computing : forces et faiblesses 1. Présentation Cloud Computing : forces et faiblesses Le monde informatique a connu une véritable révolution ces dernières années avec l'apparition d'un

Plus en détail

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2.

Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Plan de notre intervention 1. Pourquoi le test de charge? 2. Les différents types de tests de charge 1.1. Le test de performance 1.2. Le test aux limites 3. Méthode 2.1. Pré-requis 2.2. Préparation des

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

Authentification automatique sur La Plateforme collaborative LeadeR y-content

Authentification automatique sur La Plateforme collaborative LeadeR y-content Authentification automatique sur La Plateforme collaborative LeadeR y-content La plateforme Y-Content nécessite un accès sécurisé par mot de passe. Cette règle est valable pour chaque accès au serveur,

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A

NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A NOUVEAUTES de Microsoft Dynamics CRM 2011 REF FR 80342A Durée : 1 jour A propos de ce cours Cette formation d'un jour, Nouveautés de Microsoft Dynamics CRM 2011, fournit aux étudiants les outils et informations

Plus en détail

Nuxeo 5.4 : les nouveautés

Nuxeo 5.4 : les nouveautés Atelier GED - 30 mars 2011, Paris Consortium ESUP-Portail Nuxeo.conf et templates Depuis la version 5.3.2, nouvelle façon de configurer Nuxeo à l'aide du fichier nuxeo.conf et des templates. Les templates

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Fiche de l'awt Intégration des applications

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

Plus en détail

Description de la formation

Description de la formation Description de la formation Modalités Ce parcours de formation est un parcours en alternance, d une durée de 2ans, à raison d une semaine de formation par mois, soit 770 heures et de trois semaines de

Plus en détail

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...

Plus en détail

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons

Plus en détail

Diplôme de Comptabilité et de Gestion. D é c r e t N 2 0 0 6-1 7 0 6 d u 2 2 d é c e m b r e 2 0 0 6 - A r r ê t é d u 8 m a r s 2 0 1 0

Diplôme de Comptabilité et de Gestion. D é c r e t N 2 0 0 6-1 7 0 6 d u 2 2 d é c e m b r e 2 0 0 6 - A r r ê t é d u 8 m a r s 2 0 1 0 Diplôme de Comptabilité et de Gestion DCG D é c r e t N 2 0 0 6-1 7 0 6 d u 2 2 d é c e m b r e 2 0 0 6 - A r r ê t é d u 8 m a r s 2 0 1 0 Validation des Acquis de l Expérience VAE R é f é r e n t i e

Plus en détail

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA? Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA? Jean-Marc Pierson pierson@irit.fr IRIT, Université de Toulouse Agenda! Le Cloud! Le SOA! Quelle différence!?! Cloud et SOA! Mise en

Plus en détail

Microsoft Application Center Test

Microsoft Application Center Test Microsoft Application Center Test L'outil de Test de performance des Sites Web Avec Visual Studio.NET, il est fourni une petite application qui permet de valider la performance de son site Internet ou

Plus en détail

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii WebDAV en 2 minutes le but affirmé du groupe de travail WebDAV (DAV) est (pour ses concepteurs) de "définir les extensions de HTTP nécessaires pour assurer la disponibilité d'outils WEB de création collective

Plus en détail

25 septembre 2007. Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

25 septembre 2007. Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national 25 septembre 2007 Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national Plan Introduction Les catégories d utilisateurs Migration

Plus en détail