Wednesday 11 November 2009

Hangovers from the Scary Grid

Grid software has a - not entirely undeserved - reputation for being complicated.


Things have improved but the NGS support staff still see code left over from the bad old Scary Grid.


Occasionally someone surfaces with a command like:


 
globusrun -b -r ngs.site.ac.uk/jobmanager-pbs \
-x '&(count=4)(jobtype=mpi)
(environment=(NGSMODULES namd/64/2.7b1))
(executable=/full/path/to/namd2)
(arguments=/home/ngsxxxx/experiment/thing.in)
(directory=/home/ngsxxxx/experiment)
(stdout=/home/ngsxxxx/experiment/job.out)
(stderr=/home/ngsxxxx/experiment/job.err)'

It works, but not even the most enthusiastic grid advocate could call it user friendly. It also needs a different invocation for every single site.


But things have changed, hopefully for the better...



  • The grid software developers have produced less hairy commands. For example, there are globus-job-run and globus-job-submit commands that are simpler than globusrun.

  • The NGS sites have agreed a common way for launching applications via scripts called /usr/ngs/SOMETHING that behave in the same way on all sites. This can replace the NGSMODULES environment trick used above.


The modern counterpart to the Scary Grid command would look like:



globus-job-submit ngs.site.ac.uk/jobmanager-pbs \
-np 4 -x '(jobtype=mpi)' -d '$(HOME)/experiment' \
-stdout job.out -stderr job.err
/usr/ngs/NAMD_2_7b1 namd2 thing.in

It might not be pretty but it is shorter, simpler and easier to convert to a different site.

No comments: