Submitting Grid Job at Hallasan cluster (hallasan.kisti.re.kr)
Obtaining personal cert
- Personal cert is necessary to submit jobs in Grid env.
- User needs to get the cert from the Certificate Authority (i.e. NCSA, KISTI)
- Personal cert consists of two files: private key and public key
- Please follow the steps below to use your cert:
- Copy your cert files at $HOME/.globus/ at a machine (userkey.pem, usercert.pem)
- Change the permission to 400 (userkey.pem), 644 (usercert.pem)
Code Block |
---|
-rw-r{-}{-}r-\- 1 eairs eairs 1833 Oct 14 14:19 usercert.pem -r-\------\- 1 eairs eairs 1995 Oct 14 14:19 userkey.pem |
Creating Grid Proxy
grid-proxy-init
Code Block |
---|
$ grid-proxy-init Your identity: [your cert info] Enter GRID pass phrase for this identity: Creating proxy .................................................................................................. Done Your proxy is valid until: Wed Apr 7 04:10:14 2010 |
grid-proxy-info
Code Block |
---|
$ grid-proxy-info subject : [subject info] issuer : [issuer info] identity : [identity info] type : Proxy draft (pre-RFC) compliant impersonation proxy strength : 512 bits path : /tmp/x509up_u699 timeleft : 17:55:43 |
General info about submitting Grid Job
- Command for submitting Grid Job
- GT2: globusrun, globus-job-run, globus-job-submit
- GT4: globusrun-ws
- refer to globus web site
- Simple Example (by using fork)
Code Block $ globus-job-run hallasan.kisti.re.kr/jobmanager-fork /bin/hostname hallasan.kisti.re.kr
- SGE example
Code Block $ globus-job-run hallasan.kisti.re.kr/jobmanager-sge /bin/hostname hallasan.kisti.re.kr
How to submit a job for 2D, 3D Solver (CFD)
An example for 2D solver
Creating a RSL file (script for job)
Code Block |
---|
$ cat hallasan.gt2.rsl & (directory=/home/eairs/2D_Comp-2.0) (executable=/home/eairs/2D_Comp-2.0/2D_Comp-2.0) (arguments= -mesh eAIRS_naca15.msh -param endowed.inp ) (stdout=2D_Comp-2.0.out) (stderr=2D_Comp-2.0.err) |
- The example above executes /home/eairs/2D_Comp-2.0/2D_Comp-2.0 under the directory, /home/eairs/2D_Comp-2.0
- The parameters are -mesh eAIRS_naca15.msh -param endowed.inp
- Two files above needs to reside at the working directory, /home/eairs/2D_Comp-2.0
- The outputs are stored at 2D_Comp-2.0.out under the working directory
- The errors are stored at 2D_Comp-2.0.err under the working directory
- Note: If the working directory and files do not exist, the directory must be created and the files must be placed at the directory before submitting the job
- Tip: when there are many users and many jobs with different parameters, the output and error files will be overwritten. So, each job file (RSL) should have different working folder such as
Code Block (directory=/home/eairs/JOB/20100309) /JOB/20100406 ...
Submitting the job
Code Block |
---|
globusrun -r hallasan.kisti.re.kr -f hallasan.gt2.rsl |
An example for 3D Solver (MPI code)
Creating a RSL file (script for job)
- cat gt4.rsl.xml
Code Block xml xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:job xmlns="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:ns2="http://www.globus.org/namespaces/2004/10/gram/job/description" xmlns:ns3="http://www.globus.org/namespaces/2004/10/gram/job/types" xmlns:ns4="http://www.globus.org/namespaces/2004/10/rft" xmlns:ns5="urn:abc" xmlns:ns6="urn:def"> <ns2:executable>/home/eairs/eAIRS_3DP_Wing2.0/eAIRS_3DP_Wing2</ns2:executable> <ns2:directory>/home/eairs/eAIRS_3DP_Wing2.0/</ns2:directory> <ns2:argument>-mesh</ns2:argument> <ns2:argument>eAIRS_RectangWing_P.msh</ns2:argument> <ns2:stdout>Wing.out</ns2:stdout> <ns2:stderr>Wing.err</ns2:stderr> <ns2:count>4</ns2:count> <ns2:jobType>mpi</ns2:jobType> </ns2:job>
- The MPI job, jobType must be mpi
- count is the number of processors (in the example, it uses 4 processors)
Submitting the job
Code Block |
---|
globusrun-ws -submit -b -F hallasan.kisti.re.kr -Ft SGE -f gt4.rsl.xml |