[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] Prioritize newest CPUs in matchmaking



On 12/29/21 4:42 AM, West, Matthew wrote:
What ClassAd expression (job submitter or sys-admin) is used to prioritize matches with the most recent processors in a highly heterogeneous pool? I know there is some processor metadata in the Machine ClassAds but it's not clear to me how to map that to "use the newest available for my jobs".


Hi Matt:

HTCondor detects and advertises the x86 "Processor Family" and "Model Number" in the slot attributes "CpuFamily" and "CpuModelNumber".  These attributes should be distinctive enough to identify the processors you want to target. (Aside -- on our pool, looks like we've currently got 14 different processor models right now).

Then, the next question is if this policy is something you'd like per-job, or globally across your pool.  If it is per job, you can just put in your job submit file's job rank expression something like

Rank = CpuModelNumber

and higher model numbers will "win".  Note that this job rank is generally pretty weak, as in a busy pool, you may only have very few (or even one) idle slot come available in any one negotiation cycle.  In that case, the Job rank doesn't matter much.

If you'd like this globally, across your pool, you can put this in the negotiator's

NEGOTIATOR_PRE_JOB_RANK = CpuModelNumber

And that will impact all jobs in the system.


Thanks, and let us know how this works,


-greg