Simple job with data manipulation
From MediaWiki
(Difference between revisions)
Line 15: | Line 15: | ||
} | } | ||
+ | 1. Make a folder "adv" | ||
+ | [ngrkic@ui jobovi]$ mkdir adv | ||
- | + | 2. Enter adv folder | |
- | [ngrkic@ui jobovi]$ | + | [ngrkic@ui jobovi]$ cd adv |
- | + | 3. Extract arhive | |
- | [ngrkic@ui | + | [ngrkic@ui adv]$ tar xvzf src.tgz |
- | |||
- | + | 3. Make a adv.jdl file with next content | |
- | |||
- | |||
- | |||
Executable = "run.sh"; | Executable = "run.sh"; | ||
Arguments = ""; | Arguments = ""; | ||
Line 40: | Line 38: | ||
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 | |
- | + | ||
#Downloading source code from SE | #Downloading source code from SE | ||
lcg-cp lfn:/grid/aegis/power/src.tgz 'src.tgz' | lcg-cp lfn:/grid/aegis/power/src.tgz 'src.tgz' |
Revision as of 17:56, 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. 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
3. 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);
4. 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
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!!