How do I use PBSPro within LCG?
This is collection of experiances of using VDT and PBSPro within LCG at various sites.
PBSPro is in use at the Pargue Institue of Physics. Jiri Kosina provided instructions from his experiances.
The following was provided by the NGS grid in the UK.
If you use PBSPro instead of OpenPBS the output of
qstat
and pbsnodes -a change slightly.
On PBSPro pbsnodes -a Looks like this:
node11
ntype = cluster
state = free
license = l
pcpus = 2
properties = compute
jobs = 9663.master/0
resources_available.arch = linux
resources_available.mem = 4125588kb
resources_available.ncpus = 2
resources_assigned.mem = 0kb
resources_assigned.ncpus = 1
resv_enable = True
On OpenPBS (torque to be precise) pbsnodes -a Looks like this:
lcg0337.gridpp.rl.ac.uk
state = job-exclusive
np = 2
properties = lcgpro
ntype = cluster
jobs = 0/9410.lcgce02.gridpp.rl.ac.uk, 1/8918.lcgce02.gridpp.rl.ac.uk
status = arch=linux,uname=Linux lcg0337.gridpp.rl.ac.uk \
2.4.20-30.7.legacysmp #1 SMP Fri Feb 20 10:12:55 PST 2004 i686,\
sessions=700221782,nsessions=2,\
nusers=1,idletime=23908,totmem=2594956kb,availmem=1296300kb,\
physmem=2064820kb,ncpus=4,loadave=0.00,rectime=1085580118
The difference is np vs pcpus and the way the running jobs are shown.
This diff came from the NGS Grid
who use the glue-ce-all.pl script contained within VDT releases.
This is
a slightly newer version I think to what LCG uses today in edg-ce-all
but I expect
it is problably still relavent.
*** glue-ce-all.pl.unpatched Wed May 19 15:47:29 2004
--- glue-ce-all.pl Wed May 19 11:21:53 2004
***************
*** 959,972 ****
$node = $1, next if /^(\S+)/i;
$state = "down", next if /^\s+state\s+=\s+.*down.*/i;
$state = $1, next if /^\s+state\s+=\s+(\S+)/i;
! $cpus = $1, next if /^\s+np\s+=\s+(\d+)/i;
$state = $1, next if /^\s+state\s+=\s+(\S+)/i;
$type = $1, next if /^\s+ntype\s+=\s+(\S+)/i;
# PARSE Jobs line
if (/^\s+jobs\s+=\s+(\S+.*)$/i){
$jobList = $1;
! for (map { /^\s?\d+\/(\S+)/ } split(/,/,$jobList)){
$jobCount++;
$Jobs{$_} = {};
push (@{$Nodes{$node}{JOBS}}, $_);
--- 959,972 ----
$node = $1, next if /^(\S+)/i;
$state = "down", next if /^\s+state\s+=\s+.*down.*/i;
$state = $1, next if /^\s+state\s+=\s+(\S+)/i;
! $cpus = $1, next if /^\s+pcpus\s+=\s+(\d+)/i;
$state = $1, next if /^\s+state\s+=\s+(\S+)/i;
$type = $1, next if /^\s+ntype\s+=\s+(\S+)/i;
# PARSE Jobs line
if (/^\s+jobs\s+=\s+(\S+.*)$/i){
$jobList = $1;
! for (map { /^\s?\S+\/(\S+)/ } split(/,/,$jobList)){
$jobCount++;
$Jobs{$_} = {};
push (@{$Nodes{$node}{JOBS}}, $_);
LCG FAQS
Last modified Fri 4 June 2004 . View page history
Switch to HTTPS . Website Help . Print View . Built with GridSite 1.4.3