Simple job with data manipulation

From MediaWiki

(Difference between revisions)
Jump to: navigation, search
Line 41: Line 41:
  [ngrkic@ui hello.SE]$ cat run.sh  
  [ngrkic@ui hello.SE]$ cat run.sh  
-
#Downloading source for SE
 
-
lcg-cp lfn:/grid/aegis/nikola/hello.SE/hello.c 'hello.c'
 
   
   
-
  #Downloading script that compiles source code and execute program
+
  #Downloading source code from SE
-
  lcg-cp lfn:/grid/aegis/nikola/hello.SE/hello.sh 'hello.sh'
+
  lcg-cp lfn:/grid/aegis/power/src.tgz 'src.tgz'
   
   
-
  #runing compile & execute script
+
  #Extract code
-
  chmod +x hello.sh
+
  tar xvzf src.tgz
-
  ./hello.sh
+
 +
#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
  #Uploads output to SE
-
  lcg-cr -l lfn:/grid/aegis/nikola/hello.SE/std.out file:`pwd`/std.out
+
  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  
+
  lcg-cr -l lfn:/grid/aegis/nikola/hello.SE/std.err file:`pwd`/std.err
 +
 
5. Creating VOMS proxy:  
5. Creating VOMS proxy:  

Revision as of 17:45, 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.


Content of uploaded files:

hello.c

#include <stdio.h>

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


1. Extract files

[ngrkic@ui jobovi]$ tar xvzf hello.SE.tgz

2. Enter directory hello.SE

[ngrkic@ui jobovi]$ cd hello.SE

3. List directory

[ngrkic@ui hello.SE]$ ll hello.SE

4. See content of files

[ngrkic@ui hello.SE]$ cat hello.jdl 
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);
[ngrkic@ui hello.SE]$ cat run.sh 

#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


5. Creating VOMS proxy:

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

6. Submiting hello job:

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

7. 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
==========================================================================

8. 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

9. Cat std.out

hello world!!
Personal tools