Simple job with data manipulation

From MediaWiki

(Difference between revisions)
Jump to: navigation, search
Line 31: Line 31:
-
3. Make a adv.jdl file with next content
+
4. Make a adv.jdl file with next content
  Executable = "run.sh";
  Executable = "run.sh";
Line 41: Line 41:
  Requirements =  RegExp("ce64.ipb.ac.rs*",other.GlueCEUniqueID);
  Requirements =  RegExp("ce64.ipb.ac.rs*",other.GlueCEUniqueID);
-
4. Make a run.sh file with following content
+
5. Make a run.sh file with following content
  #Downloading source code from SE
  #Downloading source code from SE
Line 65: Line 65:
-
5. Creating VOMS proxy:  
+
6. Creating VOMS proxy:  
  [ngrkic@ui hello.SE]$ voms-proxy-init -voms aegis
  [ngrkic@ui hello.SE]$ voms-proxy-init -voms aegis
-
6. Submiting hello job:  
+
7. Submiting hello job:  
  [ngrkic@ui hello.SE]$ glite-wms-job-submit -a hello.jdl
  [ngrkic@ui hello.SE]$ glite-wms-job-submit -a hello.jdl
-
7. Requesting Job status:  
+
8. Requesting Job status:  
  [ngrkic@ui hello.SE]$ glite-wms-job-status https://wms.ipb.ac.rs:9000/PhTXU-tuefu4iuvIotYG9g
  [ngrkic@ui hello.SE]$ glite-wms-job-status https://wms.ipb.ac.rs:9000/PhTXU-tuefu4iuvIotYG9g
Line 91: Line 91:
  ==========================================================================
  ==========================================================================
-
8. Download output file from SE
+
9. Download output file from SE
  [ngrkic@ui hello.SE]$ lcg-cp lfn:/grid/aegis/nikola/hello.SE/std.out file:/home/ngrkic/jobovi/hello.SE/std.out
  [ngrkic@ui hello.SE]$ lcg-cp lfn:/grid/aegis/nikola/hello.SE/std.out file:/home/ngrkic/jobovi/hello.SE/std.out
-
9. Cat std.out
+
10. Cat std.out
  hello world!!
  hello world!!

Revision as of 18:18, 27 May 2012

This is simple single job submitting example with data management. In this case, WN will download source code and executing script from SE and after successful ending of job, result will be uploaded on SE.

src.tgz

(You can download src.tgz directly in your working folder with "wget http://wiki.ipb.ac.rs/images/7/79/Src.tgz")


Content of uploaded file:

hello.c

#include <stdio.h>

int main()
{
 printf ("hello world!!\n");
 return 0;
}

1. Make a folder "adv"

[ngrkic@ui jobovi]$ mkdir adv

2. Enter adv folder

[ngrkic@ui jobovi]$ cd adv

3. Extract arhive

[ngrkic@ui adv]$ tar xvzf src.tgz


4. Make a adv.jdl file with next content

Executable = "run.sh";
Arguments = "";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = {"run.sh"};
OutputSandbox = {"std.out", "std.err"};
Requirements =  RegExp("ce64.ipb.ac.rs*",other.GlueCEUniqueID);

5. Make a run.sh file with following content

#Downloading source code from SE
lcg-cp lfn:/grid/aegis/power/src.tgz 'src.tgz'

#Extract code 
tar xvzf src.tgz

#Compile C file

gcc hello.c -o hello

#Execute hello program

./hello >> output

#Make tgz arhive of output 
tar cvzf output.tgz output

#Uploads output to SE
lcg-cr -l lfn:/grid/aegis/nikola/hello.SE/output.tgz file:`pwd`/output.tgz
lcg-cr -l lfn:/grid/aegis/nikola/hello.SE/std.err file:`pwd`/std.err


6. Creating VOMS proxy:

[ngrkic@ui hello.SE]$ voms-proxy-init -voms aegis

7. Submiting hello job:

[ngrkic@ui hello.SE]$ glite-wms-job-submit -a hello.jdl

8. Requesting Job status:

[ngrkic@ui hello.SE]$ glite-wms-job-status https://wms.ipb.ac.rs:9000/PhTXU-tuefu4iuvIotYG9g

======================= glite-wms-job-status Success =====================
BOOKKEEPING INFORMATION:

Status info for the Job : https://wms.ipb.ac.rs:9000/g2ntHSCHYN7oeH2l9eS_dg
Current Status:     Done (Success)
Logged Reason(s):
    - 
    - Job terminated successfully
Exit code:          0
Status Reason:      Job terminated successfully
Destination:        ce64.ipb.ac.rs:2119/jobmanager-pbs-aegis
Submitted:          Sat Dec 10 22:54:28 2011 CET
==========================================================================

9. Download output file from SE

[ngrkic@ui hello.SE]$ lcg-cp lfn:/grid/aegis/nikola/hello.SE/std.out file:/home/ngrkic/jobovi/hello.SE/std.out

10. Cat std.out

hello world!!
Personal tools