On 8/24/2020 10:22 AM, Xavier OUVRARD wrote:
Dear Greg,
thank you very much, I better understand this line that was
particularly different in the config file I had; I am too new to
HtCondor to know about the history.
Additional question: what happens if the benchmark has never been run
(I have it on some of the machines, with a shared config, HT Condor
to latest 8.8.10 on every machines, with Centos 7. The upgrade has
been finished already more than a week ago. Also some machines don't
have Mips and Kflos settled when viewing condor_status, which make
them ranked at the bottom, because we were using a rule for the
post_rank that was:
(RemoteOwner =?= UNDEFINED) * ( round(Mips / 500.0) / 2.0 + (
TotalSlots-SlotID ) + 0.8/TotalSlots - $(JOBS_AFTER) )
I have moved to a POST_JOB_RANK defined as follow:
Â(RemoteOwner =?= UNDEFINED) * round(Memory * (1.0 - TotalAvg * 1.0/
TotalSlots) + (TotalSlots - SlotID))
in order to solve the lack of Mips value.
HI Xavier,
If configure HTCondor to not run benchmarks, then machine attributes
like MIPS and KFLOPS will be Undefined.
One suggestion to handle issues like the above in HTCondor v8.8+ is to
use the handy "?:" operator. A classad expression like the following:
ÂÂ X ?: Y
says "if attribute X is defined, then return the value of X, else if X
is undefined return the value of Y".
It is a nice shorthand for the following:
ÂÂ ifThenElse(X is UNDEFINED,Y,X)
So if you wished you could provide a "default" guess of 23k (or
whatever) for machines were benchmarks are disabled in the above
clause like so:
(RemoteOwner =?= UNDEFINED) * ( round( (Mips ?: 23000) / 500.0) / 2.0
+ ( TotalSlots-SlotID ) + 0.8/TotalSlots - $(JOBS_AFTER) )
Hope the above helps
Todd