GRID commands lines Original presentation from David Bouvet CC/IN2P3/CNRS
Plan of this presentation Job submission proxy JDL submit command lines Data management basic command lines Data management in the job LFC data logical file catalog
Proxy creation and job submission voms-proxy-init -voms egeode Cannot find file or dir: /afs/in2p3.fr/home/d/dbouvet/.glite/vomses Your identity: /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet Enter GRID pass phrase: Creating temporary proxy Done Contacting cclcgvomsli01.in2p3.fr:15001 [/O=GRID-FR/C=FR/O=CNRS/OU=CC- LYON/CN=cclcgvomsli01.in2p3.fr] "egeode" Done Creating proxy Done Your proxy is valid until Sat Nov 4 02:56: voms-proxy-info subject : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet/CN=proxy issuer : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet identity : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet type : proxy strength : 512 bits path : /tmp/x509up_u2028 timeleft : 11:58:53 voms-proxy-info -all === VO egeode extension information === VO : egeode subject : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet issuer : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=cclcgvomsli01.in2p3.fr attribute : /egeode/Role=NULL/Capability=NULL timeleft : 11:58:25 subject : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet/CN=proxy issuer : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet identity : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet type : proxy strength : 512 bits path : /tmp/x509up_u2028 timeleft : 11:58:25 === VO egeode extension information === VO : egeode subject : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=David Bouvet issuer : /O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=cclcgvomsli01.in2p3.fr attribute : /egeode/Role=NULL/Capability=NULL timeleft : 11:58:25
JDL job creation JDL : Job Distinguish Language A minimum of files commands and attributs are specified : The program to be executed by the job and input arguments Save output and error messages in files Save the output result (OutputSandbox) JDL simple example : Executable = "/bin/echo "; Arguments = "Hello World "; StdOutput = "message.txt "; StdError = "stderror "; OutputSandbox = {" message.txt", "stderror "}; Ex: InputData = “lfn:testbed ”; DataAccessProtocol = “gridftp”; Requirements = other.Architecture==“INTEL” && \ other.OpSys==“LINUX” && other.FreeCpus\ >=4; Rank = “other.GlueHostBenchmarkSF00”; Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/joda/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; InputData = “lfn:testbed ”; DataAccessProtocol = “gridftp”; Requirements = other.Architecture==“INTEL” && \ other.OpSys==“LINUX” && other.FreeCpus\ >=4; Rank = “other.GlueHostBenchmarkSF00”; Job attributs Data attributs Grid resources attributs
Job submission commands on the UI edg-job-submit Submit the job Return the job ID edg-job-list-match Query the RB and list all execution places that are matching job requirements without executing the job. edg-job-cancel Just cancel the job edg-job-status Query the RB and return job status edg-job-get-output Retrieve and return the job output to the user edg-job-get-logging-info Return all logging information about the submitted job, all this information from the WMS is usefull for debug
Example: edg-job-list-match ui2$ edg-job-list-match myjobJDL.jdl Selected Virtual Organisation name (from JDL): egeode Connecting to host rb1.egee.fr.cgg.com, port 7772 *************************************************************************** COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* ce1.egee.fr.cgg.com:2119/jobmanager-lcgpbs-egeode grid10.lal.in2p3.fr:2119/jobmanager-pbs-egeode gridgate.cs.tcd.ie:2119/jobmanager-pbs-egee hudson.datagrid.jussieu.fr:2119/jobmanager-lcgpbs-egeode marseillece01.mrs.grid.cnrs.fr:2119/jobmanager-pbs-egeode polgrid1.in2p3.fr:2119/jobmanager-pbs-egeode scaicl0.scai.fraunhofer.de:2119/jobmanager-lcgpbs-egeode cclcgceli02.in2p3.fr:2119/jobmanager-bqs-short cclcgceli02.in2p3.fr:2119/jobmanager-bqs-long cclcgceli02.in2p3.fr:2119/jobmanager-bqs-medium ***************************************************************************
RB/WMS match making The RB Resource Broker is the main component of the WMS Workload Management System. It should find the best computing (CE) and resource site for the current job It query the mains information system of the grid the evaluate this information. The chosen CE must match to all job requirements if more than one CE is matching theses requirements then the CE with the best rank will be chosen.
LCG commands to query resources lcg-infosites --vo egeode ce #CPU Free Total Jobs Running Waiting ComputingElement ce1.egee.fr.cgg.com:2119/jobmanager-pbs-egeode grid10.lal.in2p3.fr:2119/jobmanager-pbs-egeode polgrid1.in2p3.fr:2119/jobmanager-pbs-egeode cclcgceli02.in2p3.fr:2119/jobmanager-bqs-long cclcgceli02.in2p3.fr:2119/jobmanager-bqs-short cclcgceli02.in2p3.fr:2119/jobmanager-bqs-medium marseillece01.mrs.grid.cnrs.fr:2119/jobmanager-pbs-egeode hudson.datagrid.jussieu.fr:2119/jobmanager-lcgpbs-egeode scaicl0.scai.fraunhofer.de:2119/jobmanager-lcgpbs-egeode gridgate.cs.tcd.ie:2119/jobmanager-lcgpbs-egee
DATA management tools Replica-Manager tool RM LCG File Catalog (LFC) is storing all files location Data transfers on the grid are mainly using: gsiftp It’s a FTP transfer protocol over the grid authentication and security layer. It is using certificates and proxy instead of password. The replica-manager tool includes all facilities and interactions between gsiftp and LFC for file creation and file replication Resource Broker RB the RB can handle small data transfers from/to jobs the RB can use the LFC to find data and to send it to the job
Data management commands (1) How to copy a data file on to the GRID ? In this exemple I want to copy the file : /home/myhome/myfile01 on the SE (storage element) se1.private.gridprototype and the register it in the LFC by the name: myfile01.test the command to use is: lcg-cr -d se1.private.gridprototype -l lfn:/grid/egeode/myfile01.test --vo egeode file:/home/myhome/myfile01 Storage Element – data server on the GRID Logical File Name – symbolic (or logical) file name to call and manipulate the file on the grid without precising the real file location. The lcg-cr command returns a grid unique ident: “GUID” : guid: b4c7-11d8-bb5e-eba42b5000d0 GUID (Global Grid Unique ID) are permanents LFN names are temporary
Data management commands (2) How to find data with listReplicas (lr) lcg-lr --vo egeode lfn:/grid/egeode/myfile01.test # via LFN sfn://se1.private.gridprototype/grid/egeode/tutorial/data/gen erated/ /file7115df45-b4c7-11d8-bb5e-eba42b5000d0 lcg-lr --vo egeode \ # via GUID guid: b4c7-11d8-bb5e-eba42b5000d0 sfn:// se1.private.gridprototype/grid/egeode/tutorial/data/generat ed/ /file7115df45-b4c7-11d8-bb5e-eba42b5000d0 “replicas” means that you can create many copies of the same file on differents SE on the GRID LFN and GUID are referencing all file copies on the GRID
Data management commands (3) How to find information on LFC/DMS/SE (Data Management System) lcg-infosites –-vo egeode se Avail Space(Kb) Used Space(Kb) Type SEs n.a se1.egee.fr.cgg.com n.a grid11.lal.in2p3.fr n.a grid05.lal.in2p3.fr n.a n.a n.a polgrid2.in2p3.fr n.a polgrid4.in2p3.fr n.a cclcgseli01.in2p3.fr n.a sedpm.mrs.grid.cnrs.fr n.a barentz.datagrid.jussieu.fr n.a scaise-2.scai.fraunhofer.de n.a gridstore.cs.tcd.ie
Data management commands (4) lfc-ls -l /grid/egeode/DATA/myProject/ -rw Oct 19 11:17 I DAT -rwx Oct I DAT -rwx Oct I DAT -rwx Oct I DAT -rwx Oct I DAT -rw Nov 29 15:20 I DAT -rw Nov 29 15:36 I DAT -rw Oct 19 16:41 I DAT -rw Mar 30 10:24 I DAT -rw Feb 23 16:19 I DAT -rw Nov 28 12:33 KI.DAT -rw Oct 19 16:39 P DAT How to query the LFC catalog to get the symbolic (logical) view of my datas ?
Local and jobs, data management (1) JDL syntaxis to retrieve jobs output data (for small data files only!) Output data are generated in the working directory of the worker node At the end of the job, output data are located in the temporary directory of the RB machine. Just use edg-job-get-output to retrieve data manually To do it automatically in the job, you must know files names to be retrieved for example: OutputSandbox = {“higgs.root", “graviton.HDF"}; This method can not be applied to big data files, output data size must be less than 100 Mb
Local and jobs, data management (2) Job output data will be stored in a local file The job program should know the local file name lcg-*-* commands are used to: transfer and copy output data on a storage element SE Register output data as available data on the GRID ? Where do the job ouput data will be stored ? On which SE ? In which directory ? The 2 possible options are : by default it will be the SE “local” or you have to specify a symbolic (logical) name and directory no LFN name is generated by default
JDL syntaxis for data output the JDL OutputData attribut specify the place to store data, if no LFN is precise, the WMS will choose the closest storage element SE to the current worker node WN. At the end of the job output data files are erased from the WN In the JDL a file for this operation is added to the sandbox : DSUpload_.out OutputData = { [ OutputFile = “myfile01.out”; StorageElement = “se1.private.gridprototype”; LogicalFileName = “lfn:/grid/egeode/logicalmyfile01”;], [ OutputFile = “myfile02.out”; StorageElement = “se1.private.gridprototype”; LogicalFileName = “lfn:/grid/egeode/logicalmyfile02”;] };
JDL syntaxis for data input Just use the field: InputSandbox InputSandbox = {“input-ntuple.root“, “job.sh”}; Again this method can not be used for big data submission to the input of the job InputData = “lfn:/grid/cms/myfile01.dat” For big files you have to query data files from the LFC, it means that theses data files must have been previouly loaded to the GRID. The RB is using the file:.BrokerInfo on the worker node WN to store information about jobs data files. In the job execution script you can use edg-brokerinfo and lcg-*-* commands to create a local copy of the file on the WN working directory
Replication commands How to duplicate data from one SE to another SE lcg-rep --vo egeode lfn:/grid/egeode/myfile01.test\ –d se5.private.gridprototype then if you use the list of replicas command : lcg-lr lcg-lr --vo egeode lfn:/grid/egeode/myfile01.test sfn://se1.private.gridprototype/grid/egeode/tutorial/data/gene rated/ /file7115df45-b4c7-11d8-bb5e-eba42b5000d0 sfn://se5.private.gridprototype/grid/egeode/tutorial/data/gene rated/ /file3498dg93-h3b6-38s2-kf7d-ksr38h8379q7
LFC commands (1) For the end user the LFC catalog (LCG File Catalog) is presented like a local file sytem. It is possible to create new directory structures in this catalog, and it is also possible to create logical links on files. The default LFC catalog is the central main catalog of the VO. lcg-infosites –vo egeode lfc return the name of the central main catalog lcg-infosites –vo egeode lfcLocal return the list of local file catalog of the VO To use a local file catalog, just change LFC_HOST variable : export LFC_HOST=
LFC commands (2) LFC root directory stucture: /grid/ ( the variable LFC_HOME can be defined to point on this root ) Commands to list the content of the catalog: lfc-ls /grid/egeode/... New directory creation : lfc-mkdir /grid/egeode/.../ Others commands : lfc-ln, lfc-rm, lfc-getacl, lfc-setacl...
Sample Image Questions ?