Home » Mailing lists » Devel » [RFC] Virtualization steps
Re: Re: [RFC] Virtualization steps [message #2326 is a reply to message #2324] |
Wed, 29 March 2006 11:08   |
Sam Vilain
Messages: 73 Registered: February 2006
|
Member |
|
|
On Wed, 2006-03-29 at 13:13 +0400, Kirill Korotaev wrote:
> > Well, for instance the fair CPU scheduling overhead is so tiny it may as
> > well not be there in the VServer patch. It's just a per-vserver TBF
> > that feeds back into the priority (and hence timeslice length) of the
> > process. ie, you get "CPU tokens" which deplete as processes in your
> > vserver run and you either get a boost or a penalty depending on the
> > level of the tokens in the bucket. This doesn't provide guarantees, but
> > works well for many typical workloads.
> I wonder what is the value of it if it doesn't do guarantees or QoS?
It still does "QoS". The TBF has a "fill rate", which is basically N
tokens per M jiffies. Then you just set the size of the "bucket", and
the prio bonus given is between -5 (when bucket is full) and +15 (when
bucket is empty). The normal -10 to +10 'interactive' prio bonus is
reduced to -5 to +5 to compensate.
In other words, it's like a global 'nice' across all of the processes in
the vserver.
So, these characteristics do provide some level of guarantees, but not
all that people expect. eg, people want to say "cap usage at 5%", but
as designed the scheduler does not ever prevent runnable processes from
running if the CPUs have nothing better to do, so they think the
scheduler is broken. It is also possible with a fork bomb (assuming the
absence of appropriate ulimits) that you start enough processes that you
don't care that they are all effectively nice +19.
Herbert later made it add some of these guarantees, but I believe there
is a performance impact of some kind.
> In our experiments with it we failed to observe any fairness.
Well, it does not aim to be 'fair', it aims to be useful for allocating
CPU to vservers. ie, if you allocate X% of the CPU in the system to a
vserver, and it uses more, then try to make it use less via priority
penalties - and give others shortchanged or not using the CPU very much
performance bonuses. That's all.
So, if you under- or over-book CPU allocation, it doesn't work. The
idea was that monitoring it could be shipped out to userland. I just
wanted something flexible enough to allow virtually any policy to be put
into place without wasting too many cycles.
> > How does your fair scheduler work? Do you just keep a runqueue for each
> > vps?
> we keep num_online_cpus runqueues per VPS.
Right. I considered that approach but just couldn't be bothered
implementing it, so went with the TBF because it worked and was
lightweight.
> Fairs scheduler is some kind of SFQ like algorithm which selects VPS to
> be scheduled, than standart linux scheduler selects a process in a VPS
> runqueues to run.
Right.
> > To be honest, I've never needed to determine whether its overhead is 1%
> > or 0.01%, it would just be a meaningless benchmark anyway :-). I know
> > it's "good enough for me".
> Sure! We feel the same, but people like numbers :)
Sometimes the answer has to be "mu".
Sam.
|
|
|
 |
|
[RFC] Virtualization steps
By: dev on Fri, 24 March 2006 17:19
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Fri, 24 March 2006 19:53
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: kir on Tue, 28 March 2006 06:45
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: dev on Wed, 29 March 2006 14:47
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: dev on Wed, 12 April 2006 08:22
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: dev on Fri, 14 April 2006 07:35
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: kir on Thu, 13 April 2006 22:51
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: dev on Tue, 28 March 2006 09:00
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Tue, 28 March 2006 15:03
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: kir on Tue, 28 March 2006 20:50
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: ebiederm on Tue, 28 March 2006 21:51
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: dev on Tue, 28 March 2006 09:02
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Tue, 28 March 2006 16:31
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Tue, 28 March 2006 16:15
|
 |
|
Re: [RFC] Virtualization steps
By: dev on Wed, 29 March 2006 01:39
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
By: ebiederm on Tue, 28 March 2006 16:42
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Fri, 24 March 2006 18:36
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Mon, 27 March 2006 18:45
|
 |
|
Re: [RFC] Virtualization steps
By: dev on Tue, 28 March 2006 08:51
|
 |
|
Re: [RFC] Virtualization steps
By: serue on Tue, 28 March 2006 12:53
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Wed, 29 March 2006 20:47
|
 |
|
Re: [RFC] Virtualization steps
|
 |
|
Re: [RFC] Virtualization steps
By: dev on Thu, 30 March 2006 13:51
|
 |
|
Re: [RFC] Virtualization steps
By: ebiederm on Tue, 28 March 2006 21:58
|
Goto Forum:
Current Time: Sat Jul 05 05:50:08 GMT 2025
Total time taken to generate the page: 0.02173 seconds
|