Re: [Vserver] Shares and Reservations in the token-bucket-algorithm

From: Herbert Poetzl <herbert_at_13thfloor.at>
Date: Thu 27 Jul 2006 - 12:20:13 BST
Message-ID: <20060727112013.GA6348@MAIL.13thfloor.at>

On Thu, Jul 27, 2006 at 09:50:37AM +0200, Wilhelm Meier wrote:
> Am Mittwoch, 26. Juli 2006 22:04 schrieb Herbert Poetzl:
> > > >
> > > > well, not all solaris does is a good idea per se
> > > > and I think the current hard cpu scheduler is much
> > > > more powerful than the solaris proportional stuff
> > > > (i.e. you can consider the solaris settings a subset
> > > > of what you can achieve with the hard cpu scheduler)
> > >
> > > If the solaris fss is a subset, how do I set the token
> > > bucket values? With 3 vservers and 0.5 , 0.25 , 0.25 as
> > > (fillrate/intervall) for these, how do I get 2/3 for the first and
> > > 1/3 for the second vserver if the third vserver is idle as in the
> > > solaris fss case? Where is the hidden parameter?
> >
> > I take it that you 'simply' want fair scheduling
> > between three guests in a 2:1:1 ratio when all three
> > guests are hogging cpu, yes?

> Yes, the above settings of (fillrate/intervall) should achieve this.

> > in this case you simply forget the maximum values
> > i.e. set them to something very low to give some
> > kind of minimum amount of tokens per time unit, e.g.
> > 1/100 and use a set of 2:1:1 for the idle time values
> > e.g. 1/3,1/6 and 1/6. once hard cpu and indle time
> > is enabled for those guests, they will run in the
> > specified ratio, as long as host processes do not
> > consume cpu resources, in which case the remaining
> > cpu resources will be divided 2:1:1 between them
>
> But what happens if the third vserver falls to idle?

> In the solaris case the remaining two vservers would get 2/3 and 1/3
> of the cpus (if the host ifself is idle as well).

same here as there a 2/6 added for each idle time tick to
the first guest and 1/6 for the second one, which still
is 2:1 as in your 2/3 and 1/3 example ...

> In the vserver case we get idle time now: 1/4 with the values above.

how do you come to this conclusion?

> Then this idle time is shared amon the three vservers according to the
> (fillrate/intervall)_2 for idle time?

idle time is advanced when the cpu would otherwise get
idle (i.e. _no_ process would be scheduled)

> Well, I don't think this is the same as in the solaris case.
> (I mention the solaris case here because in some use cases this
> makes sense, not because I think it is superior).

I still fail to see the difference ...

> I want to get my understanding of vserver-scheduling right.)
> Where can one enable the idle time token bucket?

> The user-level tools don't seem to have support for this.

as usual, all the features are supported by my 'hack' tools
in various forms, this one is probably best to control with
the vsched (0.02) or the vcmd tool (which is non trivial to
use, I guess), but it would definitely be better to get this
functionality into mainline userspace tools ...

  http://vserver.13thfloor.at/Experimental/TOOLS/

best,
Herbert

> --
> Wilhelm
_______________________________________________
Vserver mailing list
Vserver@list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver
Received on Thu Jul 27 12:20:46 2006

[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Thu 27 Jul 2006 - 12:20:53 BST by hypermail 2.1.8