[torquedev] procs resource specification peculiarity

Martin Siegert siegert at sfu.ca
Wed Sep 7 17:44:31 MDT 2011


Hi,

I vaguely remeber a discussion on this list about whether requests
of the form

-l nodes=x:ppn=y+procs=z

should be allowed and as far as I remember the common response was: no.
However, the code in qsub.c looks really strange to me:

      case 'l':
 
        l_opt = passet;

        /* a ,procs= in the node spec is illegal. Validate the node spec */
        if(strstr(optarg, ",procs="))
          {
          printf("illegal node spec: %s\n", optarg);
          return(-1);
          }

First of all the comment is strange: what has this to do with the
node spec? Instead, this has the bizarre effect that job submissions like

qsub -l walltime=24:00:00,procs=42 job.pbs

are rejected with an "illegal node spec" error message, whereas the
supposedly equivalent submission

qsub -l procs=42,walltime=24:00:00 job.pbs

is accepted. This looks like a bug to me, correct? At least it is
highly confusing for our users.

It is my understanding that a "," in a -l argument should be totally
equivalent to another -l argument, i.e.,

-l spec1,spec2,spec3

should be equivalent to

-l spec1 -l spec2 -l spec3

correct? If my recollection is correct and we agreed that
-l nodes=x:ppn=y+procs=z should be rejected while
-l nodes=x:ppn -l procs=z should be used instead then even
-l nodes=x:ppn=y,procs=z should be accepted as well.

Instead, the code in qsub.c appears to accept 
-l nodes=x:ppn=y+procs=z while it rejects any spec that contains
",procs". Just the opposite of what I thought we had discussed.

Cheers,
Martin

-- 
Martin Siegert
Simon Fraser University


More information about the torquedev mailing list