[torqueusers] qsub rules for converting partial job ids?

Michael Durket durket at hw-durket.stanford.edu
Thu Nov 30 13:40:48 MST 2006


   It's been tried in our facility (not by me) and doesn't appear
to work. In qsub.c the script is read and all the PBS directives
are parsed and converted. In this case, in the process_opts() 
routine in qsub.c, the dependency list is created and the job 
id is converted to its fully-qualified form and used to set the 
the ATTR_depend value (which I assume is passed on to the 
server when the job is submitted).

   I'm mostly just curious since the ERS doesn't explicitly state
rules for attributes as opposed to requests. The workaround is 
(of course) not to specify partial job ids (and in our case, 
since we're using another script to generate the job input to
qsub, we can just take the fully-qualified job identifier spit
out by PBS on the prior job and use that as the job identifier
in the "afterok" option).

   Mike Durket

On Thu, 30 Nov 2006 12:57:57 -0700
Garrick Staples <garrick at clusterresources.com> wrote:

> On Thu, Nov 30, 2006 at 10:29:58AM -0800, Michael Durket alleged:
> > If you submit a script to PBS with the command
> > 
> >     qsub -q at abc.com
> > 
> > with no other options, and if, within that script
> > there is the PBS directive:
> > 
> >   #PBS -W depend="afterok:5"
> > 
> > to what server should the "5" be bound? The default
> > PBS server or the one specified in the -q option?
> > 
> > qsub (eventually) in processing this statement in the 
> > script calls get_server(). get_server in the module 
> > comments refers to section 5.1.2 of the ERS indicating
> > the steps for determining the server in the case where 
> > a job id does not contain a server name. But this description
> > seems to apply only to "requests" not directive options.
> > 
> > It appears (from the logic flow in qsub.c) that the job id 
> > "5" will be resolved to the default PBS server name and not
> > the server name specified on the qsub command line because
> > the destination specified in the -q option is processed after 
> > the script has been read and the job id in the depend list
> > converted.
> > 
> > Is this the intended behavior, implying that in a multiple
> > server environment one must fully-qualify all jobids in 
> > all scripts?
> I haven't tried this, but I'm pretty sure the depend stuff isn't really
> parsed by qsub, it just gets sent to the server along with the job.  So
> in this example, the pbs_server on abc.com would be parsing "afterok:5"
> as you would expect.
> Have you actually tried it and it doesn't work?
> _______________________________________________
> torqueusers mailing list
> torqueusers at supercluster.org
> http://www.supercluster.org/mailman/listinfo/torqueusers

More information about the torqueusers mailing list