[torquedev] Setting extra_resc causes problem

Al Taufer ataufer at clusterresources.com
Thu Jun 18 13:18:25 MDT 2009


Yeah go ahead and open a bug, that way we can remember to do it

Thanks,
Al Taufer
Cluster Resources, Inc.

----- "Joshua Bernstein" <jbernstein at penguincomputing.com> wrote:

> Al Taufer wrote:
> > The man page for pbs_server_attributes has the following description
> for the extra_resc:
> > 
> > "Add additional string-type job resources. They have no effect
> within TORQUE and are only advisible to the scheduler. They can not be
> used for resources_default/min/max."
> > 
> > The feature has apparently been in for awhile. It was put into the
> 2.3 branch in Feb 2008.
> 
> Maybe its been forgotten about because its only documented in the man
> page and 
> not in the somewhat more obvious online documentation. Perhaps we can
> have it 
> added to the online docs? Shall I open a bug for this?
> 
> http://www.clusterresources.com/products/torque/docs/a.bserverparameters.shtml
> 
> -Josh
> 
> > Al Taufer
> > Cluster Resources, Inc.
> > 
> > ----- "Joshua Bernstein" <jbernstein at penguincomputing.com> wrote:
> > 
> >> What is extra_resc supposed to do? Is this a new feature?
> >>
> >> -Joshua Bernstein
> >> Senior Software Engineer
> >> Penguin Computing
> >>
> >> Al Taufer wrote:
> >>> There seems to be a problem with both the 2.3 and trunk branches.
> 
> >> It seems like the resource_list can get messed up for jobs. The
> >> scenario is as follows:
> >>> echo "sleep 30" | qsub -l walltime=33:33:33
> >>> qmgr -c 's s extra_resc = garbage'
> >>> echo "sleep 30" | qsub -l walltime=33:33:33
> >>>
> >>> The first job gets the correct walltime while the second job does
> >> not.  The problem seems to be that setting the extra_resc calls
> >> init_resc_defs() which recreates the svr_resc_def values. This
> >> prevents chk_svr_resc_limit() from matching up the resources.
> >>> The fix seems to be in attr_fn_resc.c function find_resc_entry().
> 
> >> If we change the following line from:
> >>>     if (pr->rs_defin == rscdf)
> >>> to:
> >>>     if (!strcmp(pr->rs_defin->rs_name, rscdf->rs_name))
> >>> then it seems to work fine.
> >>>
> >>> Is there some reason we are checking to see if the rs_defin
> points
> >> to the same place as rscdf instead of just comparing the rs_name?
> >>> Al Taufer
> >>> Cluster Resources, Inc.
> >>> _______________________________________________
> >>> torquedev mailing list
> >>> torquedev at supercluster.org
> >>> http://www.supercluster.org/mailman/listinfo/torquedev


More information about the torquedev mailing list