Project

General

Profile

Submit Grid Job » History » Version 16

Timo Eronen, 2016-12-08 09:19

1 1 Timo Eronen
h1. Submit Grid Job
2 1 Timo Eronen
3 11 Timo Eronen
*This page is under construction* (obviously)
4 12 Timo Eronen
5 12 Timo Eronen
*1. Before you can submit Grid jobs you need to prepare your setup.*
6 12 Timo Eronen
7 12 Timo Eronen
Finish first the steps described here: https://p55cc-redmine.utu.fi/projects/user-s-page/wiki/Prepare_For_Grid_Usage
8 12 Timo Eronen
9 12 Timo Eronen
*2. Other preparation*
10 12 Timo Eronen
11 12 Timo Eronen
You use the Grid resources via the ARC (Advanced Resource Connector) middleware, developed by the Nordugrid community.
12 12 Timo Eronen
13 12 Timo Eronen
There are basically two ways to submit Grid job using ARC:
14 12 Timo Eronen
15 12 Timo Eronen
# From ANY other computer but Pleione or Titan Login frontend
16 12 Timo Eronen
# From Pleione or Titan Login frontend. (i.e. pleione.utu.fi or titan.utu.fi)
17 12 Timo Eronen
18 12 Timo Eronen
h3. 2.1 Using the Grid from other computers
19 12 Timo Eronen
20 12 Timo Eronen
Using the Grid from other computers than Pleione or Titan you need to install ARC client software and configure it. Such tasks
21 13 Timo Eronen
are documented here: https://research.csc.fi/fgci-arc-middleware#1.3.2
22 12 Timo Eronen
23 12 Timo Eronen
h3. 2.2 Using the Grid from Pleione or Titan frontend
24 12 Timo Eronen
25 14 Timo Eronen
The rest of this guide is just short version of this guide: https://research.csc.fi/fgci-using-arc-middleware
26 14 Timo Eronen
27 15 Timo Eronen
So you might want to read the comprehensive guide before running the example.
28 14 Timo Eronen
29 1 Timo Eronen
*3. Example of running a simple Grid job*
30 15 Timo Eronen
31 16 Timo Eronen
To run your binary as a Grid jog you need the following files:
32 16 Timo Eronen
33 16 Timo Eronen
- compiled program (the binary)
34 16 Timo Eronen
- job description file
35 16 Timo Eronen
- batch file
36 16 Timo Eronen
- possibly input file(s)
37 16 Timo Eronen
38 16 Timo Eronen
39 16 Timo Eronen
The c-source of an example program *gtest.c* :
40 16 Timo Eronen
41 16 Timo Eronen
<pre>
42 16 Timo Eronen
#include <stdio.h>
43 16 Timo Eronen
44 16 Timo Eronen
int main(void) {
45 16 Timo Eronen
46 16 Timo Eronen
char *line = NULL;
47 16 Timo Eronen
size_t size;
48 16 Timo Eronen
49 16 Timo Eronen
  printf("Hello UTU.\n");
50 16 Timo Eronen
51 16 Timo Eronen
  while (getline(&line, &size, stdin) != -1)
52 16 Timo Eronen
    printf("%s", line);
53 16 Timo Eronen
54 16 Timo Eronen
  return(0);
55 16 Timo Eronen
56 16 Timo Eronen
}
57 16 Timo Eronen
</pre>
58 16 Timo Eronen
59 16 Timo Eronen
Compile the source:
60 16 Timo Eronen
61 16 Timo Eronen
<pre>
62 16 Timo Eronen
gcc -Wall -o gtest gtest.c
63 16 Timo Eronen
</pre>
64 16 Timo Eronen
65 16 Timo Eronen
66 16 Timo Eronen
The job description file *gtest.xrsl* :
67 16 Timo Eronen
68 16 Timo Eronen
<pre>
69 16 Timo Eronen
&(executable=gtest.sh)
70 16 Timo Eronen
(jobname=g_test)
71 16 Timo Eronen
(runtimeenvironment>="ENV/FGCI")
72 16 Timo Eronen
(join="yes")
73 16 Timo Eronen
(stdout=std.out)
74 16 Timo Eronen
(cpuTime="1 hours")
75 16 Timo Eronen
(count="12")
76 16 Timo Eronen
(memory="1000")
77 16 Timo Eronen
(inputfiles=
78 16 Timo Eronen
   ("gtest" "" )
79 16 Timo Eronen
   ("gtest.txt" "" )
80 16 Timo Eronen
)
81 16 Timo Eronen
(outputfiles=
82 16 Timo Eronen
   ("gtest.tgz" "" )
83 16 Timo Eronen
)
84 16 Timo Eronen
</pre>
85 16 Timo Eronen
86 16 Timo Eronen
The batch file *gtest.sh* :
87 16 Timo Eronen
88 16 Timo Eronen
<pre>
89 16 Timo Eronen
#!/bin/sh
90 16 Timo Eronen
echo "Running gtest"
91 16 Timo Eronen
module load OpenMPI
92 16 Timo Eronen
chmod u+x gtest
93 16 Timo Eronen
mpirun ./gtest < gtest.txt > gtest.out
94 16 Timo Eronen
tar czf gtest.tgz gtest.out
95 16 Timo Eronen
echo "Done"
96 16 Timo Eronen
exit 0
97 16 Timo Eronen
</pre>
98 16 Timo Eronen
99 16 Timo Eronen
100 16 Timo Eronen
Optional input file *gtest.txt* :
101 16 Timo Eronen
102 16 Timo Eronen
<pre>
103 16 Timo Eronen
104 16 Timo Eronen
Hello FGCI.
105 16 Timo Eronen
106 16 Timo Eronen
</pre>
107 16 Timo Eronen
108 16 Timo Eronen
Get proxy to run the job:
109 16 Timo Eronen
110 16 Timo Eronen
<pre>
111 16 Timo Eronen
112 16 Timo Eronen
$ arcproxy
113 16 Timo Eronen
114 16 Timo Eronen
Enter pass phrase for private key:
115 16 Timo Eronen
116 16 Timo Eronen
Your identity: /DC=org/DC=terena/DC=tcs/C=FI/O=Turun yliopisto/CN=Timo Eronen tke@utu.fi
117 16 Timo Eronen
Proxy generation succeeded
118 16 Timo Eronen
Your proxy is valid until: 2016-12-08 19:46:02
119 16 Timo Eronen
</pre>
120 16 Timo Eronen
121 16 Timo Eronen
Run the job:
122 16 Timo Eronen
123 16 Timo Eronen
<pre>
124 16 Timo Eronen
$ arcsub gtest.xrsl
125 16 Timo Eronen
126 16 Timo Eronen
Job submitted with jobid: gsiftp://io-grid.fgci.csc.fi:2811/jobs/3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm
127 16 Timo Eronen
</pre>
128 16 Timo Eronen
129 16 Timo Eronen
Query status of the job:
130 16 Timo Eronen
131 16 Timo Eronen
<pre>
132 16 Timo Eronen
$ arcstat gsiftp://io-grid.fgci.csc.fi:2811/jobs/3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm
133 16 Timo Eronen
134 16 Timo Eronen
Job: gsiftp://io-grid.fgci.csc.fi:2811/jobs/3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm
135 16 Timo Eronen
 Name: g_test
136 16 Timo Eronen
 State: Finishing
137 16 Timo Eronen
138 16 Timo Eronen
Status of 1 jobs was queried, 1 jobs returned information
139 16 Timo Eronen
</pre>
140 16 Timo Eronen
141 16 Timo Eronen
Job was not yet finished but after awhile:
142 16 Timo Eronen
143 16 Timo Eronen
<pre>
144 16 Timo Eronen
$ arcstat gsiftp://io-grid.fgci.csc.fi:2811/jobs/3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm
145 16 Timo Eronen
Job: gsiftp://io-grid.fgci.csc.fi:2811/jobs/3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm
146 16 Timo Eronen
 Name: g_test
147 16 Timo Eronen
 State: Finished
148 16 Timo Eronen
 Exit Code: 0
149 16 Timo Eronen
150 16 Timo Eronen
Status of 1 jobs was queried, 1 jobs returned information
151 16 Timo Eronen
</pre>
152 16 Timo Eronen
153 16 Timo Eronen
Get the results:
154 16 Timo Eronen
155 16 Timo Eronen
<pre>
156 16 Timo Eronen
$ arcget gsiftp://io-grid.fgci.csc.fi:2811/jobs/3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm
157 16 Timo Eronen
158 16 Timo Eronen
Results stored at: 3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm
159 16 Timo Eronen
Jobs processed: 1, successfully retrieved: 1, successfully cleaned: 1
160 16 Timo Eronen
</pre>
161 16 Timo Eronen
162 16 Timo Eronen
And then:
163 16 Timo Eronen
164 16 Timo Eronen
<pre>
165 16 Timo Eronen
$ ls -l 3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm/
166 16 Timo Eronen
total 8
167 16 Timo Eronen
-rw------- 1 tke admin 148 Dec  8 09:14 gtest.tgz
168 16 Timo Eronen
-rw------- 1 tke admin  19 Dec  8 09:14 std.out
169 16 Timo Eronen
170 16 Timo Eronen
cd 3dxMDmPc7Ypn9NOVEmGrhjGmABFKDmABFKDmXGKKDmABFKDmWJfHjm/
171 16 Timo Eronen
172 16 Timo Eronen
$ tar xf gtest.tgz
173 16 Timo Eronen
174 16 Timo Eronen
$ cat std.out
175 16 Timo Eronen
Running gtest
176 16 Timo Eronen
Done
177 16 Timo Eronen
178 16 Timo Eronen
$ cat gtest.out
179 16 Timo Eronen
180 16 Timo Eronen
Hello UTU.
181 16 Timo Eronen
182 16 Timo Eronen
Hello FGCI.
183 16 Timo Eronen
</pre>