Edit Knoops CPPM 20/01/2009 Enabling Grids for E-sciencE Gestion des données Gestion des jobs Edith Knoops
Enabling Grids for E-sciencE 2 Plan Les principaux systèmes Le catalogue LFC La gestion des données à l’aide des commandes de base –Copier des données sur la grille –Retrouver les données –Dupliquer les données –Effacer les données –Trouver les informations Le catalogue LFC La gestion des données pendant un job –Adresser les données en entrée de job –Récupérer les données sur votre bureau
Enabling Grids for E-sciencE 3 Point suivant Les principaux systèmes Les commandes de base Le catalogue LFC La gestion des données pendant un job
Enabling Grids for E-sciencE 4 Les principaux systèmes Le système de gestion de l’espace des noms logiques : le LCG File Catalog (LFC) –Garde la trace de la localisation physique des diverses copies d’un fichier sur la grille Fournit le GUID (Global Unique IDentifier) du fichier, et aussi le SURL (Storage URL) –Présente une arborescence et des commandes façon « système de fichiers » –C’est l’interface avec l’utilisateur Le système de gestion de l’espace des noms physiques : le Storage Resource Manager (SRM) –Utilise le GUID (ou le SURL) et nous fournit le TURL (Transport URL) –C’est l’interface avec les systèmes de stockage Le système de transfert de données –Utilise le TURL –Protocoles : rfio, gsiftp …
Enabling Grids for E-sciencE 5 Point suivant Les principaux systèmes Les commandes de base Le catalogue LFC La gestion des données pendant un job
Enabling Grids for E-sciencE 6 Copier des données sur la grille Copier le fichier /home/myhome/toto (ordinateur local) sur le Storage Element le SEchoisi.in2p3.fr et l’enregistrer avec le nom de fichier logique macopie.test –Storage Element (SE) – machine accessible par la grille pour le stockage de données –Logical File Name (LFN) – nom de fichier symbolique avec lequel vous pouvez faire référence à un fichier grille sans préciser sa localisation physique lcg-cr –d leSEchoisi \ - l lfn:/grid/vo.formation.idgrilles.fr/myname/macopie.te st file:/home/myhome/toto Remarque : les LFNs peuvent comporter des dossiers et sous-dossiers et l’utilisateur est libre de les organiser à sa guise La commande lcg-cr retourne le “GUID” : – guid: b4c7-11d8-bb5e-eba42b5000d0 –Les GUID sont permanents, les LFN non ! Il y a plein d’autres options disponibles: ‘lcg-cr –help’
Enabling Grids for E-sciencE 7 Retrouver vos données Localisez vos données en utilisant le LFN ou bien le GUID : –lcg-lr --vo lfn:/grid/vo.formation.idgrilles.fr /macopie.test –lcg-lr --vo guid: b4c7-11d8-bb5e-eba42b5000d0 lcg-lr (listReplicas) : “replicas” car on peut avoir plusieurs copies sur des SE différents – les LFN et GUID font référence à toutes les copies Ces commandes retournent le SURL : –sfn://leSEchoisi.in2p3.fr/dpm/in2p3.fr/home/vo.formations.idgrilles.fr/ge nerated/ /file7115df45-b4c7-11d8-bb5e-eba42b5000d0 Pour obtenir une copie locale de vos données –lcg-cp guid: b4c7-11d8-bb5e-eba42b5000d0 \ file:`pwd`/newcopy
Enabling Grids for E-sciencE 8 Dupliquer les données Vous pouvez dupliquer vos données sur d’autres SE à partir du LFN (GUID ou SURL) du fichier – lcg-rep lfn:/grid/vo.formation.idgrilles.fr/macopie.test \ –d autreSEchoisi.in2p3.fr Si vous listez ces données avec la méthode listReplicas, vous trouvez une nouvelle liste : – sfn:// leSEchoisi.in2p3.fr/ dpm/in2p3.fr/home/vo.formati ons.idgrilles.fr/generated/ /file7115df45- b4c7 – sfn://autreSEchoisi.in2p3.fr/dpm/in2p3.fr/home/genera ted/ /file3498dg93-h3b6-38s2-kf7d- ksr38h8379q7
Enabling Grids for E-sciencE 9 Effacer les données Pour effacer un replica sur un SE : – lcg-del –s lautreSE.cern.ch \ lfn:/grid/vo.formation.idgrilles.fr/myname/macopie.te st Il faut spécifier le SE car s’il y a plusieurs replicas, la commande ne sait pas quel fichier effacer. Pour effacer tous les replicas d’un même fichier, il faut rajouter l’option –a Le catalogue LFC est mis à jour automatiquement
Enabling Grids for E-sciencE 10 Trouver les informations Comment trouver les SEs disponibles localement ? – lcg-infosites –-vo atlas se Avail Space(Kb) Used Space(Kb) Type SEs n.a sa3-se.egee.cesga.es n.a n.a se201.grid.ucy.ac.cy n.a n.a n.a dublin.desy.de n.a n.a ctb04.gridctb.uoa.gr n.a lxb1921.cern.ch Beaucoup d’autres informations peuvent être affichées –Le nom des serveurs LFC : utiliser l’argument lfc (au lieu de se) –Toutes les ressources disponibles : argument all –Autres arguments possibles : ce, closeSE, rb –Attention : l’option ‘--vo’ est toujours vitale Un SE peut être valide pour une VO et pas pour une autre
Enabling Grids for E-sciencE 11 Point suivant Les principaux systèmes mis en jeu Les commandes de base Le catalogue LFC La gestion des données pour un job donné
Enabling Grids for E-sciencE 12 LCG File Catalog (LFC) Le catalogue LFC (LCG File Catalog) présente une arborescence et des commandes façon Posix : –il est possible de lister les références, de créer une nouvelle arborescence, de faire des liens symboliques… Par défaut, le catalogue utilisé est le catalogue central de la VO. lcg-infosites –vo vo.formation.idgrilles.fr lfc retourne le nom du LFC central Pour utiliser un catalogue local : export LFC_HOST=
Enabling Grids for E-sciencE 13 Commandes LFC Elles permettent la gestion des LFNs Racine de l’arborescence d’un LFC : /grid/ –on peut stocker cette racine dans la variable LFC_HOME export LFC_HOME=/grid/vo.formation.idgrilles.fr –Si on définit cette variable, l’option ‘ -l lfn:mylfn ’ est en fait interprétée comme ‘ -l lfn:$LFC_HOME/mylfn ’ Lister les références : lfc-ls /grid/vo.formation.idgrilles/... lfc-ls $LFC_HOME/... Créer une nouveau répertoire : lfc-mkdir /grid/vo.formation.idgrilles.fr/.../ Autres ex. de commandes : lfc-ln, lfc-rm, lfc-rename, lfc-getacl, lfc-setacl lfc-chmod, lfc-chown, lfc-setcomment, lfc- delcomment Aide en ligne : commande ‘ man lfc-xx ’ ou simplement ‘ lfc-xx ’
Enabling Grids for E-sciencE La gestion des données dans la grille EGEE 14 Point suivant Les principaux systèmes Les commandes de base Le catalogue LFC La gestion des données pendant un job
Enabling Grids for E-sciencE 15 Adresser les données en Input Pour vos données « locales » : –C’est facile : utiliser le champ InputSandbox du JDL InputSandbox = {“input-ntuple.root“, “job.sh”}; –Attention : on ne peut pas utiliser ce champ pour de trop gros transferts (qqes MB seulement) Pour vos données « grille » : –Spécifiez les données grille à l’aide du champ InputData : guid:f62344d9-ca25-458a-adf7-9d dcd InputData = {“lfn:/grid/vo.formation.idgrilles/myfile.dat”, “guid:f62344d9-ca25-458a-adf7-9d dcd”}; DataAccessProtocol ={“gsiftp”,”rfio”};
Enabling Grids for E-sciencE 16 Récupérer les données sur le bureau Le job génère des données dans le répertoire de travail du WN, et vous souhaitez simplement les récupérer sur votre machine locale (UI) –A la fin du job, les fichiers nouveaux sont placés dans un espace de stockage temporaire (sur le WMS) –Vous les récupérerez via “ glite-wms-job-output ” Eléments clés : –vous devrez spécifier les noms des fichiers que vous souhaitez récupérer dans le JDL du job par la clause : OutputSandbox = {“higgs.root", “graviton.HDF"}; –méthode fortement déconseillée pour de gros fichiers (> 100MB) espace de stockage temporaire limité
Enabling Grids for E-sciencE JDL Basé sur Condor’s CLASSified ADvertisement language (ClassAd) Mapping entre attributs et expressions ClassAd est un langage extensible. Construit sur des séquences d’attributs. Application de ClassAds : match-making On spécifie ici : –Le programme et ses arguments –On définit les STDOUT et STDERR –On dit que faire des outputs Executable = “/bin/echo”; Arguments = “Bonjour”; StdError = “stderr.log”; StdOutput = “stdout.log”; OutputSandbox = {“stderr.log”, “stdout.log”};
Enabling Grids for E-sciencE Attributs de ressources (site) Requirements (pré-requis) –Besoins du job vis à vis des ressources de calcul. –Sont spécifiés à partir des attributs qui sont définis dans le système d’information de la grille. –S’ils ne sont pas définis dans le JDL, ce sont les valeurs définies par défaut dans l’UI qui sont utilisées Default: other.GlueCEStateStatus == "Production" (Les ressources utilisables devront absolument présenter l’attribut demandé) Rank –C’est une préférence, concernant l’ordre de rangement des ressources qui remplissent les « requirements » –Si non spécifié, utilise la valeur définie sur l’UI Default: - other.GlueCEStateFreeCPUs (le plus grand nombre de CPU libres)
Enabling Grids for E-sciencE Attributs de ressources (données) InputData (facultatif) –Réfère les données utilisées en entrée par le job. –PFNs et/ou LFNs. DataAccessProtocol (seulement si InputData est spécifié) –Le protocole ou la liste de protocoles de communication utilisables par l’application pour accéder aux INPUTDATA. OutputSE (facultatif) –Nom de l’élement de stockage sur lequel sera copié OutputData –Utilisé par l’ordonnanceur pour choisir un CE qui est compatible avec le job et proche du SE. OutputData (facultatif) –Données en sortie qui seront enregistrées à la fin du job –Différent de l’output sandbox…
Enabling Grids for E-sciencE Exemple de fichier JDL Executable = “Test.sh”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/fede/script/Test.sh”}; OutputSandbox = {“stderr.log”, “stdout.log”}; InputData = “lfn:/grid/vo.formation.idgrilles.fr/testbed ”; DataAccessProtocol = “gridftp”; Requirements = other.Architecture==“INTEL” && \ other.OpSys==“LINUX” && other.FreeCpus >=4; Rank = “other.GlueCEStateFreeCPUs”;
Enabling Grids for E-sciencE JOBS SPECIFIQUES Nouveaux JobType –Bulk submission : soumission par lot JobType = « collection » Permet l’envoi et la gestion de plusieurs jobs comme un seul Tous les jdl dans un répertoire sont soumis. –Type DAG JobType=« DAG » (direct acyclic graph) Permet de définir des dépendances entre jobs –Type paramétrique JobType = « Parametric » Permet l’envoi et la gestion d’un job avec plusieurs jeux de paramètres
Enabling Grids for E-sciencE Liens utiles Projet LCG – LCG User Guide – LCG FAQ (pas à jour mais ça aide quand même) – User Support – …) ClassAd gLite User Guide – JDL attributes specification for WM proxy – WMProxy quickstart – WMS user guides –