Enabling Grids for Escienc E Gestion des donnes
Enabling Grids for E-scienc. E Gestion des données Gestion des jobs Edith Knoops www. eu-egee. org Edit Knoops CPPM 20/01/2009
Plan Enabling Grids for E-scienc. E • 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 2
Point suivant Enabling Grids for E-scienc. E • • Les principaux systèmes Les commandes de base Le catalogue LFC La gestion des données pendant un job 3
Les principaux systèmes Enabling Grids for E-scienc. E • 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 … 4
Point suivant Enabling Grids for E-scienc. E • • Les principaux systèmes Les commandes de base Le catalogue LFC La gestion des données pendant un job 5
Copier des données sur la grille Enabling Grids for E-scienc. E • Copier le fichier /home/myhome/toto (ordinateur local) sur le Storage Element le SEchoisi. in 2 p 3. 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 le. SEchoisi 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: 76373236 -b 4 c 7 -11 d 8 -bb 5 e-eba 42 b 5000 d 0 – Les GUID sont permanents, les LFN non ! • Il y a plein d’autres options disponibles: ‘lcg-cr –help’ 6
Retrouver vos données Enabling Grids for E-scienc. E • 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: 76373236 -b 4 c 7 -11 d 8 -bb 5 e-eba 42 b 5000 d 0 • lcg-lr (list. Replicas) : “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: //le. SEchoisi. in 2 p 3. fr/dpm/in 2 p 3. fr/home/vo. formations. idgrilles. fr/ge nerated/2009 -01 -20/file 7115 df 45 -b 4 c 7 -11 d 8 -bb 5 e-eba 42 b 5000 d 0 • Pour obtenir une copie locale de vos données – lcg-cp guid: 76373236 -b 4 c 7 -11 d 8 -bb 5 e-eba 42 b 5000 d 0 file: `pwd`/newcopy 7
Dupliquer les données Enabling Grids for E-scienc. E • 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 autre. SEchoisi. in 2 p 3. fr • Si vous listez ces données avec la méthode list. Replicas, vous trouvez une nouvelle liste : – sfn: //le. SEchoisi. in 2 p 3. fr/dpm/in 2 p 3. fr/home/vo. formati ons. idgrilles. fr/generated/2009 -01 -20/file 7115 df 45 b 4 c 7 – sfn: //autre. SEchoisi. in 2 p 3. fr/dpm/in 2 p 3. fr/home/gener ated/2004 -11 -10/file 3498 dg 93 -h 3 b 6 -38 s 2 -kf 7 dksr 38 h 8379 q 7 8
Effacer les données Enabling Grids for E-scienc. E • Pour effacer un replica sur un SE : – lcg-del –s lautre. SE. cern. ch lfn: /grid/vo. formation. idgrilles. fr/myname/macopie. t est • 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 9
Trouver les informations Enabling Grids for E-scienc. E • Comment trouver les SEs disponibles localement ? – lcg-infosites –-vo atlas se Avail Space(Kb) Used Space(Kb) Type SEs -----------------------------845990 1 n. a sa 3 -se. egee. cesga. es 102800000 n. a se 201. grid. ucy. ac. cy n. a dublin. desy. de n. a 22095 n. a ctb 04. gridctb. uoa. gr 6200000 5642131 n. a lxb 1921. 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, close. SE, rb – Attention : l’option ‘--vo’ est toujours vitale Un SE peut être valide pour une VO et pas pour une autre 10
Point suivant Enabling Grids for E-scienc. E • • Les principaux systèmes mis en jeu Les commandes de base Le catalogue LFC La gestion des données pour un job donné 11
LCG File Catalog (LFC) Enabling Grids for E-scienc. E • 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=<hostname du LFC choisi> 12
Commandes LFC Enabling Grids for E-scienc. E • Elles permettent la gestion des LFNs • Racine de l’arborescence d’un LFC : /grid/<nom de la VO> – 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/. . . /<mon rep> • Autres ex. de commandes : lfc-ln, lfc-rm, lfc-rename, lfc-getacl, lfc-setacl lfc-chmod, lfc-chown, lfc-setcomment, lfcdelcomment • Aide en ligne : commande ‘man lfc-xx ’ ou simplement ‘lfc-xx ’ 13
Point suivant Enabling Grids for E-scienc. E • • Les principaux systèmes Les commandes de base Le catalogue LFC La gestion des données pendant un job La gestion des données dans la grille EGEE 14
Adresser les données en Input Enabling Grids for E-scienc. E • Pour vos données « locales » : – C’est facile : utiliser le champ Input. Sandbox du JDL Input. Sandbox = {“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 Input. Data : Input. Data = {“lfn: /grid/vo. formation. idgrilles/myfile. dat”, “guid: f 62344 d 9 -ca 25 -458 a-adf 7 -9 d 8150031 dcd”}; guid: f 62344 d 9 -ca 25 -458 a-adf 7 -9 d 8150031 dcd Data. Access. Protocol ={“gsiftp”, ”rfio”}; 15
Récupérer les données sur le bureau Enabling Grids for E-scienc. E • 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 : Output. Sandbox = {“higgs. root", “graviton. HDF"}; – méthode fortement déconseillée pour de gros fichiers (> 100 MB) espace de stockage temporaire limité 16
JDL Enabling Grids for E-scienc. E • Basé sur Condor’s CLASSified ADvertisement language (Class. Ad) • Mapping entre attributs et expressions • Class. Ad est un langage extensible. • Construit sur des séquences d’attributs. • Application de Class. Ads : match-making Executable = “/bin/echo”; Arguments = “Bonjour”; Std. Error = “stderr. log”; Std. Output = “stdout. log”; Output. Sandbox = {“stderr. log”, “stdout. log”}; • On spécifie ici : – Le programme et ses arguments – On définit les STDOUT et STDERR – On dit que faire des outputs
Attributs de ressources (site) Enabling Grids for E-scienc. E • 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. Glue. CEState. Status == "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. Glue. CEState. Free. CPUs (le plus grand nombre de CPU libres)
Enabling Grids for E-scienc. E Attributs de ressources (données) • Input. Data (facultatif) – Réfère les données utilisées en entrée par le job. – PFNs et/ou LFNs. • Data. Access. Protocol (seulement si Input. Data est spécifié) – Le protocole ou la liste de protocoles de communication utilisables par l’application pour accéder aux INPUTDATA. • Output. SE (facultatif) – Nom de l’élement de stockage sur lequel sera copié Output. Data – Utilisé par l’ordonnanceur pour choisir un CE qui est compatible avec le job et proche du SE. • Output. Data (facultatif) – Données en sortie qui seront enregistrées à la fin du job – Différent de l’output sandbox…
Exemple de fichier JDL Enabling Grids for E-scienc. E Executable = “Test. sh”; Std. Error = “stderr. log”; Std. Output = “stdout. log”; Input. Sandbox = {“/home/fede/script/Test. sh”}; Output. Sandbox = {“stderr. log”, “stdout. log”}; Input. Data = “lfn: /grid/vo. formation. idgrilles. fr/testbed 000019”; Data. Access. Protocol = “gridftp”; Requirements = other. Architecture==“INTEL” && other. Op. Sys==“LINUX” && other. Free. Cpus >=4; Rank = “other. Glue. CEState. Free. CPUs”;
JOBS SPECIFIQUES Enabling Grids for E-scienc. E • Nouveaux Job. Type – Bulk submission : soumission par lot Job. Type = « collection » Permet l’envoi et la gestion de plusieurs jobs comme un seul Tous les jdl dans un répertoire sont soumis. – Type DAG Job. Type= « DAG » (direct acyclic graph) Permet de définir des dépendances entre jobs – Type paramétrique Job. Type = « Parametric » Permet l’envoi et la gestion d’un job avec plusieurs jeux de paramètres
Liens utiles Enabling Grids for E-scienc. E • • • Projet LCG – http: //lcg. web. cern. ch/LCG/ LCG User Guide – https: //edms. cern. ch/file/454439//LCG-2 -User. Guide. html LCG FAQ (pas à jour mais ça aide quand même) – https: //edms. cern. ch/file/495216/1/LCG-Faq. html User Support – http: //www. ggus. org/ …) Class. Ad https: //www. cs. wisc. edu/condor/classad • g. Lite User Guide – • JDL attributes specification for WM proxy – • https: //edms. cern. ch/document/590869/1 WMProxy quickstart – • https: //edms. cern. ch/file/722398/g. Lite-3 -User. Guide. html http: //egee-jra 1 -wm. mi. infn. it/egee-jra 1 -wm/wmproxy_client_quickstart. shtml WMS user guides – https: //edms. cern. ch/document/572489/1
- Slides: 22