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

Re: [Condor-users] Limit CPU usage



On 2/19/06, Kerbel, Kit <kkerbel@xxxxxxxxxxxxxxx> wrote:
>
>
> Is there known method of limiting cpu usage to a certain % across the pool?
> I would like to restrict the processes run by condor to somewhere around
> 50%. Thanks for any info you can provide.

This is neither (simply) possible nor in most cases* desirable.

Artificially restricting a process to make a cpu only use 50% when
nothing else wants to run is quite hard. The operating system is
rarely setup to assist in this manner (virtualization is a separate
matter since QoS considerations start kicking in).

Condor provides things like job_renice_increment for adjusting running
jobs to be less important than most other operations on the client
machine. This is because it is 1) rather more likely that you simply
wish to always prefer the local/interactive logged on user as being
more important if you wish to cycle steal. 2) doing anything else is
far too complicated and not well defined across OS boundaries. this
would mean that you were likely to get very little time when
interactive users were doing anything (the alternate is to make you
jobs the same niceness as interactive users - this should lead to
roughtly even allocation.

If your desire to avoid loading the CPU is one of power management
(avoid triggering speed step like machines from kicking up their CPU
power state for condor only jobs for example) then that is a more
interesting matter - I don't know if a programming api exists to
indicate that a process does not want to trigger such an increase, if
it is likely to be either OS or architecture specific (probably
both)...

* SMP machines where you wish to restrict to only one CPU is a
different matter but I am guessing you were not referring to this use
case...