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

[Condor-users] limiting job type on a host



Hi,

I have some computer with condor that have 8 cores. The trouble that I
have is that some of our jobs are limited by io, not by cpu. All data
is already copied on the local computer. It is so much io bound that
we can run only 2 such job on each node even if they have 8 cores.

What I want is to allow only 2 such jobs by computer at the same time.
Do you know how I can do it? I inspired myself from
 https://lists.cs.wisc.edu/archive/condor-users/2006-November/msg00068.shtml
to  modify my configuration file, but it fail. What I think fail it
that I need to reference the classAd of  the jobs executing on each
slot. Do you know how to do it? Is their something like slot1_target
or Target_slot1? If I use "STARTD_SLOT_ATTRS= State, Target.IOJob",
slotX_target.IOJob do not appear in condor_status...

Here is the last configuration that I tried:

I add option in the submit file to tell it is io bound job

+IOJob = True

in the condor_config.local file, I have:

ExecIOJob = ( (SlotID==1 && slot1_State =?= "Claimed" && target.IOJob)
|| (SlotID==2 && slot2_State =?= "Claimed" && target.IOJob) ||
(SlotID==3 && slot3_State =?= "Claimed" && target.IOJob) || (SlotID==4
&& slot4_State =?= "Claimed" && target.IOJob) )

STARTD_SLOT_ATTRS = ExecJob, ExecIOJob, State
NBIOJob = ( slot1_ExecIOJob + slot2_ExecIOJob + slot3_ExecIOJob +
slot4_ExecIOJob )

START = $(START) && ( Target.ExecIOJob =!= True || ( $(NBIOJob) <= 1 ) )
NUM_SLOTS = 4

thanks for your time

Frederic Bastien