Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This is a design proposal for PBS to start supporting use of conditional and logical operators in the resources requested by jobs.

...

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • Users can request for non-consumable chunk level resources with conditional operator like "<, >, <=, >=, !=.
      • Example: qsub -lselect=1:ncpus=4:color!=green job.scr
    • In case the non-consumable resource here is a string then, PBS scheduler will do the resource comparison using string comparison function.
    • Users can request for non-consumable resources with conditional operators in reservations as well.

...

  • Visibility: Public
  • Change Control: Stable
  • Details:
    • A new resource called "job_wide" is added. This resource will be used to specify all job wide resources (resources that can not be part of a select specification) like walltime/min_walltime/max_walltime/place etc.
    • It is a string type resource with flags set as READ_WRITE. This means a user/operator/manager will be able to read or write this resource.
    • It is not mandatory to have this resource specified with "multiple select specifications". If not specified, PBS will consider job wide resources specified outside of select to be valid for all select specifications.
    • PBS will match the job_wide resource specification with select specification and use it for running the job.
      example: qsub -lselect="2:ncpus=3:mem=2gb||2:ncpus=4:mem=1gb"  -l job_wide="walltime=00:12:00||walltime=00:08:00" job.scr
      For this job walltime of 12 minutes is considered for the first select specification (2:ncpus=3:mem=2gb) and walltime of 8 minutes is considered for second select specification (2:ncpus=4:mem=1gb).
    • This resource can only be used with jobs that have multiple select specification specified with them. If it is used without multiple select specification then job submission will be rejected with the following error:
      "
      qsub: job_wide resource can only be used when multiple select specifications are specified"
    • The number of "ORed" select specification must match the number of "ORed" job_wide resources. If either of them does not match then the job submission is rejected with the following error:
      "qsub: job_wide resources and select specifications do not match"
    • If a chunk level resource is specified in the job_wide resource then that job submission will be rejected with following error:
      "qsub: Resource invalid in "job_wide" specification: <resource name>"

...

  • Visibility: Public
  • Change control: Stable
  • Details:
    • If a user wants to run a job using "qrun -H" and if this job was submitted with multiple select specification and/or multiple job_wide resources then following error will be thrown on the console.
      "qrun: modify the job to specify the correct resource specification before running the job"
    • This is needed because in case of "qrun -H" option, user specified specifies the exec_host list and server would not know that out of multiple select/job_wide resources which one has the user considered to run this job.