Title: Creating and running an application on the NGS
1Creating and running an application on the NGS
2Policy for re-use
- This presentation can be re-used for academic
purposes. - However if you do so then please let
training-support_at_nesc.ac.uk know. We need to
gather statistics of re-use no. of events,
number of people trained. Thank you!!
3Acknowledgements
- This presentation re-uses material
- on globus commands from Stephen Pickering
(University of Leeds)
4Outline
- A User interface machine and our set-up today
- Commands to be used
- Practical
- Port code and data from desktop/UI to the NGS
compute nodes - Compile and run code
- Invoke your application from the UI machine
- Summary
5Goals
- Youve got your proxy on a UI machine and want to
know how to port and run an application - Er.. Whats a UI machine?
6The UI machine
- The users interface to the grid
- Where you upload your certificate for your
session - Where you create proxy certificates
- Where you can run the various commands
7Our setup
Tutorial room machines
ssh
UI
Internet
Core NGS nodes
grid-data.rl.ac.uk
8Secure file copy
UI
NGS compute node
gsiscp copies file using proxy certificate to
allow AA
9Open shell on NGS CN
UI
NGS compute node
gsissh Can be an X-windows client
Compile, edit, recompile, build SHORT interactive
runs are ok (sequential) Totalview debugger.
10Establishing contact
- Connecting to the NGS compute node
- gsissh via port 2222
- Modify environment on the NGS account (note
which node you use and keep using it, or repeat
commands on other nodes) - .bashrc
- Used when you connect with gsissh
- Used by globus
11- gsissh -X -p 2222 grid-compute.leeds.ac.uk
- -X enables forwarding of X11 connections
- -p sets port through which gsissh works
- can set X p 2222 as defaults in config files
12Run jobs from the UI
UI
NGS compute node
globus_job_run Or globus_job_submit /
globus_get_output
Can pass files with these commands e,g,
parameters for a job.
13PRACTICAL 2
14The UI machine
- The users interface to the grid
- Where you upload your certificate for your
session - Where you create proxy certificates
- Where you can run the various commands
- That was the good news.
- The bad news install your own (currently!)
- May be your desktop with additional software
(GT2) if you run UNIX derivative - Note 31 March - a 1 day course on this.
15Globus Job Commands
- globus-job-run ltoptionsgt
- globus-job-submit ltoptionsgt
- globus-job-status URL
- globus-job-get-output URL
- BUILT on GSI
16globus_job_run
Job request
I.S.
the gatekeeper reads the gridmapfile to map the
users id from their proxy certificate to a
local account
head-node
Info system
Globus gatekeeper
gridmapfile
Forks process to run command.
Job runs on head-node
17globus_job_submit
Job request
I.S.
the gatekeeper reads the gridmapfile to map the
users id from their proxy certificate to a
local account
head-node
Info system
Globus gatekeeper
gridmapfile
Job queue PBSPro
Job runs on a cluster node
18Questions -1
- How do I know which compute node to use?
- As more nodes join the NGS, use the Information
Service (next talk) - You should find that the Core nodes of the NGS
all run the same software - In general you are likely to use the same machine
- Is my NGS Compute Node account shared across all
machines?? - NO You must synchronise your accounts on
different machines yourself. Your account names
may be different on each machine. Use GridFTP
(from portal) or gsi-scp - You can hold files in the SRB,(Storage Resource
Broker see tomorrow) and read/write these from
any compute node
19Questions -2
- Should I stage an executable? (stage Send it
to a compute node from my desktop/UI) - Only if the UI produces a binary-compatible file!
- Safer to
- Check it compiles locally
- Copy to a compute node
- Compile it there
20Further information
- VDT documentationhttp//www.cs.wisc.edu/vdt/docum
entation.html - NGS user pageshttp//www.ngs.ac.uk/users/userguid
e.html
21Extras for people who like MPI (outside scope of
today)
22.bashrc example, for MPI jobs
- ngs0255_at_grid-compute ngs0255 cat .bashrc
- .bashrc
- User specific aliases and functions
- Source global definitions
- if -f /etc/bashrc then
- . /etc/bashrc
- fi
- module add clusteruser
- module remove mpich-gm
- module remove intel-compiler
- module remove intel-math
- module add mpich-gm/1.2.5..10-gnu
Setting environment for globus and local batch
queue manager
Setting environment to use MPI with the GNU
compiler. Can then compile with mpicc
See user documentation on NGS website
23Check loaded modules
- ngs0255_at_grid-compute ngs0255 module list
- Currently Loaded Modulefiles
- 1) /dot 6) /gm/2.0.8
- 2) /null 7)
/globus/2.4.3 - 3) /modules 8) /clusteruser
- 4) /cluster-tools/0.9 9) /mpich-gm/1.2.5..10-g
nu - 5) /pbs/5.3.3
24globus-job-run Examples
- globus-job-run grid-data.man.ac.uk /bin/date
- globus-job-run grid-data.rl.ac.uk ./test
- globus-job-run \grid-compute.leeds.ac.uk/jobmanag
er-pbs \-np 8 -x (jobtypempi)(environment
\(NGSMODULES clusteruser)) ./MPI/test - globus-job-run grid-data.rl.ac.uk -s ./test
25globus-job-submit Examples
- globus-job-submit \grid-data.rl.ac.uk/jobmanager-
pbs ./test - globus-job-submit \grid-compute.leeds.ac.uk/jobma
nager-pbs \-x (jobtypempi)(directory/home/bob/
mpi) \(environment(NGSMODULES clusteruser))
\(count8) ./mpi_program - globus-job-submit \grid-data.man.ac.uk/jobmanager
-pbs -s ./test
26- globus-job-submit grid-compute.leeds.ac.uk/jobmana
ger-pbs -np - 2 -x '(jobtypempi)(directory/home/data01_b/ngs02
55) - (environment(NGSMODULES clusteruser))
- ' ./M3