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

[HTCondor-users] What do consumption policies actually do?



Hi,

Weâre looking into how to effectively deal with scheduling of GPU jobs here.  In the manual, GPUs are mentioned in âconsumption policiesâ.  How to set one up is pretty well documented, what is not documented (at least, not in the section explaining how to configure them) is what a consumption policy actually DOES.  There are these two bits:

For partitionable slots, the specification of a consumption policy permits matchmaking at the negotiator. A dynamic slot carved from the partitionable slot acquires the required quantities of resources, leaving the partitionable slot with the remainder. This differs from scheduler matchmaking in that multiple jobs can match with the partitionable slot during a single negotiation cycle.

and

and that the resource this policy cares about allocating are the cores.

Summary, matchmaking can happen at the negotiator, multiple jobs can match the slot during a single negotiation cycle, and you can tell it which resource to care about. I still donât see what that âcaring aboutâ means in practice - presumably matching multiple jobs in a single cycle means that you can pick the best match?  And what defines âbestâ if I have only
CONSUMPTION_POLICY = True
defined? And is that different than if I have 
SLOT_TYPE_1_CONSUMPTION_CPUS = TARGET.RequestCpus
defined?
Thanks in advance,
JT