Scenario 1: How do we restrict the users to a certain maximum job size within a maximum concurrent number of jobs?
For example, if you would like to restrict users using this queue to a maximum of 4 cores per jobs. But his or her concurrent jobs cannot exceed 16?
qmgr -c "set queue workq max_run_res.ncpus = [u:PBS_GENERIC=16]"
qmgr -c "set queue workq resources_max.ncpus = 4"
The first limit sets max of 16 cores per user for the workq queue (for all jobs)
The second limit sets max of 4 cores per job for workq queue
Scenario 2: How do we ensure that users only run a minimum number of cores in the queue?
For example, if you would like to restrict the users to a minimum 32 cores per job.
qmgr -c " s q workq resources_min.ncpus=32"
Test:
qsub -l select=1:ncpus=16 -q workq -- /bin/sleep 100
qsub: Job violates queue and/or server resource limits