My point was actually that only short jobs should be allowed with high
priority - that is a quite typical use case for quick testing. In that
case the short exe should never take long jobs so a short cputime is
necessary.
The long exe may still end up getting a short job and thus give it low
priority, but the user can specifically target the short exe in the
job description (RESOURCE keyword), so that should not be a big
problem.
If you add different exes with the same specs but different back end
priorities it is completely left to the user to select the appropriate
target exe, but that will likely result in inefficient use as I
haven't yet heard about users not wanting their jobs executed
first :-)
No sleep jobs are queued in the LRMS, so there is no queue penalty on
the resource when no jobs fit.
We do not have exe node priorities as such in MiG, it all depends on
the job request order (and the MiG scheduler filling out the execution
slots). Users can target a specific resource and exe as mentioned
above, though.
For LRMS specific dynamic priority setting we could:
a) add a PRIORITY keyword in job mRSL and use it for optionally
ranking jobs in the central queue (if the scheduler implements it) and
for such LRMS priorities.
b) modify the LRMS submit script to read an optional priority from the
job script. PBS-style that would lead to the user adding e.g. a
"#PRIORITY=X" in the EXECUTE field and the submit script falling back
to a default priority if no such line is found.
Option (a) is obviously the cleaner solution, whereas (b) would be a
quick hack: I think both solutions will be okay considering the
expected small intended audience.
With my previous remark about sane user priorities I would suggest
that the MiG scheduler should not weigh such priorities much and maybe
not even care about them when comparing jobs from different users.
Cheers, Jonas