Partitions (or hardwareProfiles have the ability to have a list of computeQuotas. These all are maximum allowed values for the job. It would be nice if there could also be minimums applied.
For example, at OSC on Pitzer to request a Large Memory or Huge memory nodes there are some constraints:
for a Large Memory node the job must specify the memory between 363 GB/node and 744 GB/node (and you are only allowed to request 1 node per job)
for Huge Memory node the job must specify the memory between 744GB and 2988GB
for Huge Memory node an alternative is to specify --ntasks-per-node and --partition=hugemem, but then --ntasks-per-node must be 20 to 80
If compouteQuota constraints had minimums, we could address these cases:
--ntasks-per-node constraint could be restricted between 20 and 80 for Huge Memory nodes using minCPUsPerJob and maxCPUsPerJob
memory constraints could be restricted between the ranges by using minMemoryPerJob and maxMemoryPerJob
So the request would be to add theses to computeQuotas:
minJobsTotal
minJobsPerUser
minNodesPerJob
minTimePerJob
minMemoryPerJob
minCPUsPerJob
minGPUsPerJob
This may be more relevant if partitions are expanded into hardwareProfiles.
Note minCPUsPerJob/maxCPUsPerJob is being used in the above example in the place of a missing constraint: the minCPUsPerNode/maxCPUsPerNode. Perhaps the expectation was that hardwareProfile would specify cpuCount and the Gateway would infer the maxCPUsPerNode was cpuCount? But then there is no way to specify a minimum constraint. And if we decided to add a constraint like minCPUsPerNode/maxCPUsPerNode would that render cpuCount in hardwareProfile redundant?
Partitions (or hardwareProfiles have the ability to have a list of computeQuotas. These all are maximum allowed values for the job. It would be nice if there could also be minimums applied.
For example, at OSC on Pitzer to request a Large Memory or Huge memory nodes there are some constraints:
If compouteQuota constraints had minimums, we could address these cases:
So the request would be to add theses to computeQuotas:
This may be more relevant if partitions are expanded into hardwareProfiles.
Note minCPUsPerJob/maxCPUsPerJob is being used in the above example in the place of a missing constraint: the minCPUsPerNode/maxCPUsPerNode. Perhaps the expectation was that hardwareProfile would specify cpuCount and the Gateway would infer the maxCPUsPerNode was cpuCount? But then there is no way to specify a minimum constraint. And if we decided to add a constraint like minCPUsPerNode/maxCPUsPerNode would that render cpuCount in hardwareProfile redundant?