Hi Uwe,

I don't have a lot of experience here, but this is what I think.

The only thing missing is that the times and QOS numbers need
to be normalised.

The time factor is the job age divided by PriorityMaxAge, so it's
between 0 and 1 (jobs older than PriorityMaxAge don't increase in
priority). QOS priorities are also normalised (highest QOS = 1,
lowest QOS = 0).

If we put in terms of your 'equal priority age', which I think is an
excellent way of thinking about it, then in your situation:

(EqualPriorityAge / PriorityMaxAge) * PriorityWeightAge = PriorityWeightQOS

(as you only have two QOSes, the right hand side is simplified).

So if your equal priority age was half your priority max age (e.g. 3 days
vs 6 days), your PriorityWeightAge would need to be twice your 
PriorityWeightQOS.

In your form:

AgeWeight                1       
----------  = -------------------------
QOSWeight      t(low) / PriorityMaxAge  

Cheers,

Ben

-----Original Message-----
From: Uwe Sauter [mailto:[email protected]] 
Sent: 13 February 2015 14:43
To: slurm-dev
Subject: [slurm-dev] Time unit for multifactor priority


Hi all,

say I want to have 2 QoS with different priorities (normal and low). And
also say that I want a job with low QoS to have the same priority as a
normal job that is submit exactly 3 days later. Or to rephrase: a low
job should get an equal priority after 3 days (259200 sec) than a normal
job directly after submit. How would I achieve that, given that no
fairshare, partition or jobsize should alter priority?


My solution would be:

AgeWeight * t(normal) + QosWeight * Qos(normal)

must equal

AgeWeight * t(low) + QosWeight * Qos(low)


With the assumption that t is measured in seconds this would result in:

Qos(normal = 10; Qos(low) = 1; t(normal) = 0; t(low) = 259200 (=3days)

AgeWeight    Qos(normal) - Qos(low)       9
--------- = ------------------------ = ------
QosWeight      t(low) - t(normal)      259200


Does this sound right? If not, what unit is the wait time measured in?


Regards,

        Uwe

Reply via email to