Here in our PBSPro, we have a rule that all users can use 100 concurrent cores (we have no limits to queue jobs).
In server configurations, I have the statement: set server max_run_res.ncpus = [u: PBS_GENERIC = 100]. And everything is working as expected.
But I’m trying to find a way to set up a queue to circumvent this limit, and all jobs sent by a user to it can use more than 100 cores (or all available cores). This queue will have a maximum walltime of 2 minutes.
Setting the limit at the server level, is kind of global limit. You cannot bypass it.
Instead you create limits at the queue level only.
If you are interested to implement , this might help:
- create a server level custom resource (type=long, flag=q) called cores and set server max_run_res.cores = [u: PBS_GENERIC = 100]
- create a queue called “testqueue”
- set queue testqueue resources_max.walltime=00:02:00
- set queue testqueue resources_min.walltime=00:02:00
- set queue testqueue resources_default.walltime=00:02:00
- Create a queuejob hook , that modifies the request and assigns the ncpus requested value to the cores during the job request, in this way any jobs submitted to any other queues other than “testqueue” would be restricted to request 100 cores.