Coordinator permissions from the man pages:

   coordinator
   A special privileged user, usually an account manager, that can add
   users or sub-accounts to the account they are coordinator over. This
   should be a trusted person since they can change limits on account
   and user associations, as well as cancel, requeue or reassign
   accounts of jobs inside their realm.

So, I read that as it manages accounts in slurmdb with minimal access to the jobs themselves. So you would be stuck with cancel/requeue. I see no mention of hold, but if that is one of the permissions, I would say, yes, our approach does what you want within the limits of what the default permissions of a coordinator can do.


Of course, that still may not work if there are other accounts/partitions/users with higher priority jobs than User B. Specifically if those jobs can use the same resources A's jobs are running on.


Brian Andrus


On 5/17/2023 10:49 AM, Groner, Rob wrote:
I'm not sure what you mean by "if they have the permissions". I'm talking about someone who is specifically designated as "coordinator" of an account in slurm.  With that designation, and no other admin level changes, I'm not aware that they can directly change the priority of jobs associated with the account.

If you're talking about additional permissions or admin levels...we're not looking into that as an option.  We want to purely use the coordinator role to have them manipulate stuff.

------------------------------------------------------------------------
*From:* slurm-users <slurm-users-boun...@lists.schedmd.com> on behalf of Brian Andrus <toomuc...@gmail.com>
*Sent:* Wednesday, May 17, 2023 12:58 PM
*To:* slurm-users@lists.schedmd.com <slurm-users@lists.schedmd.com>
*Subject:* Re: [slurm-users] On the ability of coordinators

If they have the permissions, you can just raise the priority of user B's jobs to be higher than whatever A's currently are. Then they will run next.

That will work if you are able to wait for some jobs to finish and you can 'skip the line' for the priority jobs.

If you need to preempt running jobs, that would take a bit more effort to set up, but is an alternative.


Brian Andrus


On 5/17/2023 6:40 AM, Groner, Rob wrote:
I was asked to see if coordinators could do anything in this scenario:

  * Within the account that they coordinated, User A submitted 1000s
    of jobs and left for the day.
  * Within the same account, User B wanted to run a few jobs really
    quickly.  Once submitted, his jobs were of course behind User A's
    jobs.
  * The coordinator wanted to see the results of User B's runs.

Reading the docs and doing some experiments, here is what I determined:

  * The coordinator could put a hold on all of User A's jobs in the
    pending queue.  This won't affect any jobs User A has that aren't
    tied to the coordinated account.
  * With User A's jobs held, then User B's jobs would be next to run.
  * If the coordinator was particularly impatient, he could scancel
    User A's currently running jobs so that User B's jobs immediately
    started.
  * The coordinator would need to remember to release the held jobs,
    or put them in a uhold so that User A could release them eventually.

It seems like the easiest way for the coordinator to elevate User B's jobs to the top of the queue would be if he could "scontrol top" those jobs.  But my testing indicates that the coordinator doesn't have that permission.  Is there some reason that a coordinator can't use "scontrol top" to change the priority of jobs within the account that he coordinates?

Thanks.

Rob

Reply via email to