QCDgrid Job Submission Prototype Information -------------------------------------------- The prototype QCDgrid job submission software already offers a number of useful features not present in standard Globus: fully interactive jobs, automatic staging of input files and retrieval of output files, and interaction with the data grid. Other features in development are support for non-interactive jobs (standard batch jobs), support for querying the status of or "connecting to" a job that is already running as a batch job, support for other queueing systems (at present only PBS or no queueing system are supported), and support for submitting to machines that do not have any QCDgrid software installed on them, i.e. just plain Globus on the server side. Currently, the prototype is installed on a small test grid of machines within EPCC. Test Grid --------- The machines on the test grid are: doorstopper.epcc.ed.ac.uk - RedHat Linux 7.2, PBS queueing system qcdtest.epcc.ed.ac.uk - RedHat Linux 7.2 globli.epcc.ed.ac.uk - RedHat Linux 9.0 (experimental) trinitite.epcc.ed.ac.uk - Solaris 9 (experimental) The machines are set up to use a pooled accounts system with a centralised directory of users, so grid operations do not run under users' standard log in accounts, but under 'leased' pool accounts. The standard QCDgrid datagrid software is installed on the test grid, however it is a completely separate storage system from the main QCDgrid and therefore does not contain any of the same data. Environment ----------- To setup the environment (path, library path, etc.) for running the job submission software, first source 'setenv.sh', which can be found in the home directory of the qcdgrid account (/home/qcdgrid on most machines, /export/home/qcdgrid on trinitite). Basic Job Submission -------------------- The syntax of the QCDgrid job submission is rather similar to globus-job-run. Specify first the hostname to submit to, then the job executable, then any arguments to pass to it, e.g.: qcdgrid-job-submit qcdtest.epcc.ed.ac.uk /bin/echo Hello World However, to access the additional features of the QCDgrid software, it is necessary to use some of the range of command line options. These include: -env variable=value Sets a variable in the job's environment -input filename Copies the local file specified (at present a full path must be given) across to the server where it can be accessed by the job -fetch logicalname physicalname Fetches a file from the data grid for use as input to the job. The fetching happens on the server side, the data does not have to pass through the client machine at all. -store physicalname logicalname Stores a file produced by the job onto the data grid. The storing happens on the server side, the data does not have to pass through the client machine at all. -batch Runs in batch mode - instead of staying connected to the server as in the default interactive mode, just starts the job running and returns an ID to the user. The ID can be used to access the job later on if desired. (Not fully implemented yet). Other Features -------------- Interactivity - unless batch mode is specified, jobs run in interactive mode. In this mode, the input, output and error streams are connected from the user's console to the job in a transparent manner. This could be useful for computational steering, or debugging. To see this feature in action, the easiest way is to submit the shell as a job: qcdgrid-job-submit doorstopper.epcc.ed.ac.uk /bin/bash Output files - each job runs in a newly created directory on the server side. When it completes, any new files created by the job are automatically transferred back to a corresponding job directory on the client. There are a few exceptions: these include files which are going to be stored directly onto the data grid, special files used internally by the job submission system, and core dumps which are usually large and not much use on other machines than where they were created.