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

From: Wilhelm Meier <wilhelm.meier_at_fh-kl.de>
Date: Wed 26 Jul 2006 - 19:56:32 BST
Message-Id: <200607262056.33092.wilhelm.meier@fh-kl.de>

Am Mittwoch, 26. Juli 2006 17:02 schrieb Herbert Poetzl:

> > But what happens if only one vserver has runnable processes?
>
> nothing is changed here, i.e. it is still the upper
> limit of cpu resources, but there is an additional
> pair of fillrate/interval values, which will kick
> in when a cpu would go idle (advance idle time)
>
> > Then it gets only (fillrate/intervall) of all cpus (not taking
> > tokensmax and tokensmin into account).
>
> from the first token bucket settings, yes

If a cpu goes idle, then the actual (fillrate/intervall) is
(fillrate/intervall)_1 + (fillrate/intervall)_2 for all vservers?

>
> > Shouldn't this be called a reservation instead of a share?
>
> no, because nothing is 'reserved' here, for example
> if you give 50% to each of your 5 guests, they will
> not be able to utilize 250% cpu :)

Sure, (fillrate/intervall) is the maximum achievable portion of all cpus.

>
> > A share should be the amount of cpus a vserver gets if all vservers
> > have runnable processes.
>
> a misleading term, what if you have three guests
> running and two are idle? how to calculate shares
> then?

O.k, this wasn't well written. What I meant was the solaris fss algorithm.

>
> > If one vserver has no runnable processes, then the
> > cpus should be given proportianal to the active vservers
> > (at least this is what Solaris-10 does).
>
> 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?

>
> > In the paper
> >
> > http://www.cs.princeton.edu/~mef/research/vserver/paper.pdf
> >
> > I found the terms "shares" and "reservations" but I can't find the
> > point to setup both types of parameters.
>
> I'm not sure the current tools already support all
> the features the scheduler has, but I think they
> will catch up pretty soon ...

O.k., this would explain my misunderstanding ... then I have to look into the
sources ;-)

>
> > I would be glad if someone could explain this to me.
>
> when I find some time, I'll write a detailed wiki
> page about the various parameters and features

This would be of great help.

>
> HTC,
> Herbert
>
> > --
> > Wilhelm Meier
> > email: wilhelm.meier@fh-kl.de
> > _______________________________________________
> > Vserver mailing list
> > Vserver@list.linux-vserver.org
> > http://list.linux-vserver.org/mailman/listinfo/vserver

-- 
Wilhelm Meier
email: wilhelm.meier@fh-kl.de
_______________________________________________
Vserver mailing list
Vserver@list.linux-vserver.org
http://list.linux-vserver.org/mailman/listinfo/vserver
Received on Wed Jul 26 20:00:02 2006
[Next/Previous Months] [Main vserver Project Homepage] [Howto Subscribe/Unsubscribe] [Paul Sladen's vserver stuff]
Generated on Wed 26 Jul 2006 - 20:00:10 BST by hypermail 2.1.8