The Compute Server has a JOBLIMIT parameter, which defines how many jobs can run in parallel on this machine. A job that is submitted when the JOBLIMIT is already reached will be queued until a spot becomes available on the Compute Server.
However, a job with the maximum priority of 100 will not be queued but started directly, even if this exceeds the JOBLIMIT. But in addition to the JOBLIMIT parameter, there is the HARDJOBLIMIT parameter, which also affects jobs with priority 100.
- The JOBLIMIT parameter defines the limit of how many jobs with priority less than 100 can run at the same time on the Compute Server.
- The HARDJOBLIMIT defines the limit of how many jobs with priority less or equal to 100 can run at the same time on the Compute Server.
How does the job priority work?
The priority of a job is set by the client and defines how it will be treated by the Compute Server. Jobs with equal priority will be queued - if necessary - based on a "first-come-first-serve" principle. However, a job with a higher priority will always jump ahead of the queue of any job with a lower priority.
Finally, a job with a priority of 100 (the maximum) will not be queued at all but started directly on the Compute Server, even if this exceeds the JOBLIMIT.
However, in order to limit the number of these highest-priority jobs on the Compute Server, a HARDJOBLIMIT can be set which is enforced for all jobs, even those with highest priority.