![]() | |||||||||||
Messages in this thread |
On 2006.05.26 10:04:20 +0200, Mike Galbraith wrote: > On Fri, 2006-05-26 at 14:20 +1000, Peter Williams wrote: > > These patches implement CPU usage rate limits for tasks. > > > > Although the rlimit mechanism already has a CPU usage limit (RLIMIT_CPU) > > it is a total usage limit and therefore (to my mind) not very useful. > > These patches provide an alternative whereby the (recent) average CPU > > usage rate of a task can be limited to a (per task) specified proportion > > of a single CPU's capacity. > > The killer problem I see with this approach is that it doesn't address > the divide and conquer problem. If a task is capped, and forks off > workers, each worker inherits the total cap, effectively extending same. > > IMHO, per task resource management is too severely limited in it's > usefulness, because jobs are what need managing, and they're seldom > single threaded. In order to use per task limits to manage any given > job, you have to both know the number of components, and manually > distribute resources to each component of the job. If a job has a > dynamic number of components, it becomes impossible to manage. Linux-VServer uses a token bucket scheduler (TBS) to limit cpu ressources for processes in a "context". All processes in a context share one token bucket, which has a set of parameters to tune scheduling behaviour. As the token bucket is shared by a group of processes, and inherited by child processes/threads, management is quite easy. And the parameters can be tuned to allow different scheduling behaviours, like allowing a process group to burst, ie. use as much cpu time as is available, after being idle for some time, but being limited to X % cpu time on average. I'm CC'ing Herbert and Sam on this as they can explain the whole thing a lot better and I'm not familiar with implementation details. Regards Björn - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | ||||||||||
| Last update: 2006-05-26 18:15 [from the cache] ©2003-2008 | |||||||||||