Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFlore Boudreau Modifié depuis plus de 8 années
1
Accès uniforme aux infrastructures de grille avec Journées Informatique IN2P3-IRFU Obernai, le 30 septembre Sylvain Reynaud
2
JSAGA2 Accès uniforme: le contexte middleware infrastructures ARCGOSNAREGI + les grilles nationales, régionales ou locales, académiques ou industrielles...
3
JSAGA3 cluster Accès uniforme: les besoins L'accès à plusieurs grilles peut être motivé par: l'augmentation du nombre de ressources de calcul le besoin de ressources ayant des caractéristiques particulières super-calculateur confidentialité faible latence (e.g. consolidation) interactivité la disponibilité des données du logiciel
4
JSAGA4 Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des interfaces des middlewares Cacher l'hétérogénéité des interfaces des middlewares Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de technologies utilisées Autant d'interfaces que de technologies utilisées SAGA SAGA
5
JSAGA5 Simple API for Grid Applications SAGA est une interface –standard spécification de l' –orientée objet –simple pour 80% des besoins, 20% des fonctionnalités suffisent –intégrée "look & feel" commun à tous les packages de l'API –high-level les détails du fonctionnement du middleware sont cachés –uniforme indépendante du middleware sous-jacent au niveau de la gestion des erreurs également –multi-langages implémentations pour Java, C –stable spécification SAGA 1.0 (15 janvier 2008) binding Java de référence bientôt stabilisé (release candidate 2) SAGA SAGA
6
JSAGA6 Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des interfaces des middlewares Cacher l'hétérogénéité des interfaces des middlewares Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de technologies utilisées Autant d'interfaces que de technologies utilisées SAGA SAGA core engine + plug-ins JSAGA utilisateur final développeur d'application développeur de plug-ins
7
JSAGA7 planned construction done Liste des plug-ins Data Expression catalogrnslfnsrb / irodshttphttpssftprbyteiofilezipgsiftptarftpmailcachesrm basicdefaultJEPBeanShell Language JSDL+ext.SAGAJDLRSL-2RSL-4 Exec.(control) Job control gatekeepergLite-WMSwsgramunicore6sshforkcreamPBSremotenaregi Exec.(monitor) gatekeepergLite-LBwsgramunicore6sshforkcream… Security InMemCredGlobusG. LegacyG. RFC820MyProxyVOMS Logical files core engine + plug-ins JSAGA X509SSHLogin / pwdJKS Physical files
8
JSAGA8 Interfaces des plug-ins Proche des besoins du développeur d'application –orienté objet –high-level –interface uniforme pour toutes les technologies supportées Objectifs: –facile à utiliser … mais > (T. Kielmann) code moteur = 2 x code plug-ins Proche des interfaces des middlewares existants –orienté service –low-level –autant d'interfaces que de façons d'implémenter chaque fonctionnalité (+ optionnelles) Objectifs: –facile à implémenter –permettre une utilisation efficace des middlewares SAGA SAGAplug-insinterfaces JSAGA core engine + plug-ins JSAGA
9
JSAGA9 Exemple: gestion de l'exécution planned construction done Job control SAGA user interface: getInput / getOutput Streaming Plug-in interfaces: direct/buffered/redirected streams used before/during/after execution gatekeepergLite-WMSwsgramunicore6 set stream for interactive set stream for non- interactive get stream for interactive sshfork getInput getOutput getError creamPBSremotenaregi Job monitoring SAGA user interface: getState / waitFor Monitoring Plug-in interfaces: querying / listening individual job / list of jobs / filtered jobs query status for individual job listen status for individual job query status for filtered jobs gatekeepergLite-LBwsgramunicore6 getState waitFor sshforkcream… core engine + plug-ins JSAGA
10
JSAGA10 En résumé… job desc. gLite plug-ins Globus plug-ins JSAGA cachel'hétérogénéité des middlewares (e.g. gLite, Globus, Unicore) JDLRSL core engine + plug-ins JSAGA
11
JSAGA11 WMS WMS input data SRM GridFTP WS-GRAM LCG-CELCG-CEWS-GRAM firewall … mais est-ce suffisant ? job desc. gLite plug-ins Globus plug-ins JSAGA job staging graph delegate selection & files staging job OPlast EGEE cachel'hétérogénéité des infrastructures (e.g. EGEE, OSG, DEISA) cachel'hétérogénéité des middlewares (e.g. gLite, Globus, Unicore) JDLRSL
12
JSAGA12 Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des interfaces des middlewares Cacher l'hétérogénéité des interfaces des middlewares Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de technologies utilisées Autant d'interfaces que de technologies utilisées SAGA SAGA core engine + plug-ins JSAGA jobscollection JSAGA utilisateur final développeur d'application développeur de plug-ins
13
JSAGA13 Hétérogénéité des middlewares –Interface uniforme (SAGA) Hétérogénéité des infrastructures –Sélection du bon contexte de sécurité –Sélection de la bonne configuration de l'API cliente –Transport des données du job vers/depuis les nœuds de calcul Description des possibilités des infrastructures qu'on utilise besoins World Grid E G E E l o c a l h o s t O p e n P l a s t C C - I N 2 P 3 Description des infrastructures wsgram WMS VOMS VOMS Globus gsiftp:// jobscollection JSAGA
14
JSAGA14 Description des infrastructures Hétérogénéité des middlewares –e.g. CREAM, WMS, SSH, GK Hétérogénéité des infrastructures –Politique de grille/site e.g. filtrage réseau, FS partagé –Variables d'environnement e.g. $VO_?_SW_DIR, /usr/local –Attributs de configuration e.g. monitor service URL, shell path on cygwin, default SE URL –Commandes disponibles e.g. globus-url-copy, srmcp, Scp, wget, tar World Grid EGEE OpenPlast localhost CC-IN2P3 http:// tar:// srb:// gsiftp:// srm:// lfn:// gatekeeper gatekeeper wsgram WMS gatekeeper VOMS VOMS Globus exemple : gestion de l'exécution jobscollection JSAGA
15
JSAGA15 url:// Chemin de transfert dépend de… Lorsqu'on utilise une seule grille –tous les fichiers peuvent être transportés jusqu'aux nœuds de calcul en passant par un seul et même nœud de stockage Lorsqu'on utilise plusieurs grilles –il devient nécessaire de construire dynamiquement un graphe de transfert plus complexe, qui va dépendre de… World Grid EGEE OpenPlast localhost CC-IN2P3 http:// tar:// srb:// gsiftp:// srm:// lfn:// gatekeeper gatekeeper wsgram WMS gatekeeper VOMS VOMS Globus jobdesc.plug-insJSAGA jobscollection JSAGA
16
JSAGA16 Chemin de transfert dépend de… grid or site – –network filtering policy – –commands available on workers – –services available from workers (close Storage Element, shared FS) – –supported context instances data to stage – –shared by several jobs – –installed on some worker nodes – –file size – –required data protection level execution service – –protocols supported for staging transfer protocol – –access mode (RO, WO, RW) – –third-party transfer – –supported data protection level jobdesc. World Grid EGEE OpenPlast localhost CC-IN2P3 http:// tar:// srb:// gsiftp:// srm:// lfn:// gatekeeper gatekeeper wsgram WMS gatekeeper VOMS VOMS Globus url://plug-insJSAGA jobscollection JSAGA
17
JSAGA17 jobscollection JSAGA OpenPlast OpenPlast World Grid EGEE OpenPlast localhost CC-IN2P3 http:// tar:// srb:// gsiftp:// srm:// lfn:// gatekeeper gatekeeper wsgram WMS gatekeeper VOMS VOMS Globus Chemin de transfert dépend de… grid or site – –network filtering policy – –commands available on workers – –services available from workers (close Storage Element, shared FS) – –supported context instances data to stage – –shared by several jobs – –installed on some worker nodes – –file size – –required data protection level execution service – –protocols supported for staging transfer protocol – –access mode (RO, WO, RW) – –third-party transfer – –supported data protection level OPlast GSIFTP EGEE CA SMTPGSIFTPGSIFTPHTTP OPlast SRB job C R1R1R1R1 E1E1E1E1 C' E1E1E1E1 R1R1R1R1 CC' common result std-error
18
JSAGA18 jobscollection JSAGA E1E1E1E1 R1R1R1R1 CC'C'' common EEsrc executable D1D1D1D1 input data result std-error OPlast EGEE CA SMTPGSIFTPGSIFTPHTTP GSIFTP OPlast SRB Chemin de transfert dépend de… grid or site –network filtering policy –commands available on workers –services available from workers (close Storage Element, shared FS) –supported context instances data to stage –shared by several jobs –installed on some worker nodes –file size –required data protection level job C"Esrc D1D1D1D1 E C R1R1R1R1 E1E1E1E1 C' TARTAR execution service – –protocols supported for staging transfer protocol – –access mode (RO, WO, RW) – –third-party transfer – –supported data protection level iGet
19
JSAGA19 jobscollection JSAGA Exemple de graphe généré Data flow E1E1E1E1 R1R1R1R1 CC'C'' common EEsrc executable D1D1D1D1 input data result std-error OPlast plusieurs protocoles utilisés, mais seulement 3 jobs soumis sur 1 grille…
20
JSAGA20 Qualité logicielle Processus de construction entièrement automatisé, y compris pour… –l'installation des outils de build –la génération de code –l'exécution des tests unitaires d'intégration –la génération du site web http://grid.in2p3.fr/jsaga/ –la génération de l'installeur graphique (voir slide suivant…) Core engine –analyses statiques de code –analyse de couverture des tests Plug-ins –génération du squelette du projet lors de la création d'une nouveau plug-in –validés par une suite de tests réutilisable (basée sur SAGA) –efforts de minimisation des dépendances externes e.g. pas besoin de gLite-UI indépendant de l'OS
21
JSAGA21 Installeur
22
JSAGA22 Licence(s) Licence LGPL –pour le moteur et pour tous les plug-ins qui le permettent Licences optionnelles –pour les plug-ins ayant des dépendances externes dont la licence est incompatible / LGPL –l'utilisateur doit alors… soit accepter cette licence soit décocher les plug-ins en question (voir slide précédent)
23
JSAGA23 Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Logiciel prêt à l'emploi, adapté au domaine scientifique ciblé Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des infrastructures de grille Cacher l'hétérogénéité des interfaces des middlewares Cacher l'hétérogénéité des interfaces des middlewares Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de façons d'implémenter chaque fonctionnalité Autant d'interfaces que de technologies utilisées Autant d'interfaces que de technologies utilisées Applications SAGA SAGA utilisateur final développeur d'application développeur de plug-ins core engine + plug-ins JSAGA jobscollection JSAGA
24
JSAGA24 Lignes de commande JSAGA fournit des commandes en ligne pour… –la sécurité jsaga-context-init jsaga-context-info jsaga-context-destroy –la gestion de l'exécution jsaga-job-run jsaga-job-status jsaga-job-cancel –la gestion des données jsaga-cat jsaga-cp jsaga-ls jsaga-mkdir jsaga-mv jsaga-rm jsaga-rmdir jsaga-test jsaga-logical Applications Applications
25
JSAGA25 Projets utilisant JSAGA JSAGA est utilisé par… –Elis@ portail web pour soumettre des jobs sur des infrastructures industrielles et de recherche –JJS (Java Job Submission) soumission de collections de jobs sur EGEE optimisé pour les jobs courts (sélection des ressources basée sur la QoS observée) –JUX (Java Universal eXplorer) explorateur de fichiers multi-protocoles Applications / voirprésentation de demain soir (P. Calvat) Applications Collaboration avec le – –permettre l'accès via SAGA à la grille japonaise NAREGI
26
JSAGA26 Conclusion Les principaux atouts de JSAGA Implémente des standards de l' –SAGA –JSDL Offre un haut niveau d'abstraction sans sacrifier l'efficacité et la scalabilité –grâce à la conception (définition des interfaces de plug-ins) –grâce aux mécanismes de cache Utilise les infrastructures de grilles telles qu'elles sont –grâce à Cacher l'hétérogénéité middlewares –des middlewares infrastructures de grille –des infrastructures de grille World Grid EGEE OpenPlast localhost CC-IN2P3 http:// tar:// srb:// gsiftp:// srm:// lfn:// gatekeeper gatekeeper wsgram WMS gatekeeper VOMS VOMS Globus
27
JSAGA27 Backup slides
28
JSAGA28 Accès uniforme: les approches L'approche moyen terme (GIN) –Transmettre les jobs aux autres infrastructures En adaptant les meta-ordonnanceurs En utilisant les CE comme porte d'entrée L'approche long terme (OMII-Europe) –La même interface sur les composants existants Suivre les recommandations de l'Open Grid Forum Mécanismes communs (e.g. pour la sécurité) L'approche avec plug-ins coté client –Meta-ordonnanceurs: GridWay, GridSAM… –API cliente: GAT, CoG-Kit… …et EGEE user regional grids cluster
29
JSAGA29 planned construction done /etc/grid-security/certificates /tmp/x509up_u_$UID ~/.globus/user*.pem Sécurité X509SSHInMemCredGlobusG. LegacyG. RFC820MyProxyVOMSLogin / pwd jsaga-context-init jsaga-context-info jsaga-context-destroy proxy path CA certkey p12 proxy pass phrase attributs d'un proxy Globus core engine + plug-ins JSAGA
30
JSAGA30 planned construction done Gestion de données Physical files cache catalogrnslfnsrb / irodshttphttpssftprbyteiofilezipgsiftptarftpmailcachesrm Optimisations: Interfaces optionnelles pour les plug-ins –e.g. transfert tierce-partie Gestion de cache –des connections ouvertes –des meta-données –du contenu explicite via plug-in Logical files core engine + plug-ins JSAGA
31
JSAGA31 Gestion de l'exécution (suite) planned construction done Expression basicdefaultJEPBeanShell myexec -from @{ date('dd/MM/yyyy', now+24*INDEX) } … myexec -from 30/05/2008 … myexec -from 31/05/2008 … myexec -from 01/06/2008 … extrait d'un job en JSDL Language JSDL+ext.SAGAJDLRSL-2RSL-4 Job Collection Job JSDL retryrules terminationrules parametric languagespecific data staging extensions description in JDL description in JSDL description in RSL core engine + plug-ins JSAGA
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.