http://www.grid-support.ac.uk http://www.ngs.ac.uk Creating and running an application on the NGS Mike Mineter mjm@nesc.ac.uk http://www.nesc.ac.uk/ http://www.pparc.ac.uk/ http://www.eu-egee.org/ Outline • 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 4 Goals • You’ve got your proxy on a UI machine and want to know how to port and run an application • Er.. What’s a UI machine? 5 The “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, including… 6 Globus Tools • Globus Toolkit version 2 – GT 2.4.3 from VDT 1.2 – (VDT comprises several middleware packages used in EU, US and UK grids) • • • • Job submission (GRAM) File transfer (GridFTP) Shell (GSI-SSH) Information Services (MDS/GIIS/GRIS) – Information providers from GLUE schema 7 Our setup Tutorial room machines ssh UI Internet Core NGS nodes grid-data.rl.ac.uk 8 Secure file copy UI NGS compute node Code and data gsiscp: copies file using proxy certificate to allow AA 9 Open shell on NGS CN UI NGS compute node Code and data gsissh Can be an Xwindows client Code and data Compile, edit, recompile, build SHORT interactive runs are ok (sequential) Totalview debugger. 10 Establishing 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] 12 Run jobs from the UI UI NGS compute node Code and data Code and data Executables globus_job_run Or globus_job_submit / globus_get_output Can pass files with these commands: e,g, parameters for a job. 13 PRACTICAL 2 14 The “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 15 A multi-VO Grid User Interface User Interface Grid services 16 globus_job_run Job request the gatekeeper reads the gridmapfile to map the user’s id from their proxy certificate to a local account head-node Globus gatekeeper I.S. Info system gridmapfile Forks process to run command. Job runs on head-node 17 globus_job_submit Job request the gatekeeper reads the gridmapfile to map the user’s id from their proxy certificate to a local account head-node Globus gatekeeper I.S. Info system gridmapfile Job queue: PBSPro Job runs on a cluster node 18 Questions -1 • “How do I know which compute node to use?” – Use the Information Service – 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 19 Questions -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 20 Further information • VDT documentation http://www.cs.wisc.edu/vdt/documentation.html • NGS user pages http://www.ngs.ac.uk/users/userguide.html 21