Filters for PBS submit scripts

  1. How to add filters to check below values in a PBS script before it submitted to the PBS queue ? If below parameters not in user script file then job should not be accepted.

i.Mem value should be checked
ii.Disk quota check
iii. Cpus value (ncpus or mpiprocs or ompthreads) check

And on node these values enforced. So user should should not exceed the mem, cpus etc at nodes.

  1. What type of resources enforce method/configuration available in PBS ? Do they stop jobs if users exceed or under utilised resources?

Most of our users don’t know exact values of resources for their jobs…so they will end getting their jobs terminated ?

Thanks in advance for your inputs.

This is achieved using the queuejob hook event to read the requested resource for a job by the user and according job is either accepted, rejected or accepted based on a pre-defined condition. There are lot of examples in the https://www.altair.com/pdfs/pbsworks/PBSHooks2021.1.pdf

You would have these options

  1. soft limits / hard limits
  2. to implement the cgroups hook, that will take care of these usecases.
    https://github.com/openpbs/openpbs/blob/master/src/hooks/cgroups
    Documentation: check chapter 16 in this document https://www.altair.com/pdfs/pbsworks/PBSAdminGuide2021.1.pdf
  3. you need to create a job profile for different kinds of jobs or applications, in the queuejob hook event compare it , update the request and accept, otherwise reject the request with the training message of what needs to be done

Training them and asking the to request 5 to 10% more than what they have estimated or think that their job might require to run.

Hope this helps

Thanks for quick and valuable inputs. We ruuning older PBS ver(pbs19) so we will compare you link with old PBS. Also seems like upgrade may get new features of PBS.

1 Like