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

[HTCondor-users] Negotiation with partitionable slots



Hi,

Our cluster, configured with partitionable slots and having very
heterogeneous nodes, is being more loaded for a few months and we are
facing a new issue: it's complicated for a user to run a job requesting
big CPUs and/or memory.

Ideally, we would have liked to have the smallest machines first filled
up to ~80% (not to overload them when there is still space anywhere
else) in order to leave free a few of the biggest machines when possible.

We designed the NEGOCIATOR_JOB_POST_RANK value to something like that:
(RemoteOwner =!= UNDEFINED) * ((floor(TotalCpus / 10) * -10000000) +
KFlops - 1.0e10 * (Offline =?= True))
Our nodes are then divided into 4 classes (our biggest node has 32
CPUs), the one having less than 10 CPUs are now prioritary and within
classes, the most powerful nodes comes first (with Kflops).

Though, if we run a few dozens of jobs, from what I noted, the priority
order is satisfying but only one job is allocated to the nodes of the
more priority classes (I guess because with the partitionable slots,
nodes only advertise one big free slot for one negotiation cycle) and
the next ones are allocated, one by one also, to the less priority nodes.
How can we do for several jobs really filling the highest priority nodes
before considering the others?

Cheers,
Mathieu

-- 
---------------------------------------------------------------------------------------
| Mathieu Bahin
| IE CNRS
|
| Institut de Biologie de l'Ecole Normale SupÃrieure (IBENS)
| Biocomp team
| 46 rue d'Ulm
| 75230 PARIS CEDEX 05
| 01.44.32.23.56
---------------------------------------------------------------------------------------