2 MultiUserPriority
Vitalii Koshura edited this page 2023-04-07 04:05:53 +02:00

Allocation-based job prioritization

This document is for projects with multiple job submitters who use quotas to allocate resources among submitters.

If you use remote job submission, read no further; those mechanisms automatically prioritize jobs based on quotas.

Otherwise, you'll need to modify your job submission scripts or work generators to set job priorities.

When you create jobs, set the priority of the jobs as follows:

  • Compute the total FLOP estimate (workunit.rsc_fpops_est) of the set of jobs.
  • Run adjust_user_priority to update and return the priority of the submitter:
adjust_user_priority --user userID --flops X --app appname

For example, in PHP:

$cmd = "cd ../../bin; ./adjust_user_priority --user $user->id --flops $flops --app $app->name";
$x = system($cmd);
if (!is_numeric($x) | (double)$x == 0) {
   ... handle error
}
$priority = (double)$x;
  • Set job priorities to this value. For example, use the --priority option to create_work.