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

Re: [Xen-devel] Re: credit scheduler: the policy of credit assignment

On Thu, Jul 06, 2006 at 08:54:41AM +0900, Hirokazu Takahashi wrote:
> > Credit_balance only comes into play when active domains with positive
> > credit go idle. It's a mechanism to converge the system towards its
> > stable state.
> Yes, I think I understand the intention.
> However, I don't think the mechanism is effective enough.
> > Are you suggesting that credit_balance, as it is used, should be the
> > sum of credit *prior* to incrementing active domains' credits?
> I think it would be better.
> > I'm not really sure I understand what you're concerned about here.
> > Can you elaborate and use a specific example to illustrate?
> Please suppose the system has 1 cpu and the sum of the credit goes
> down to zero or quite small value unluckily.
>            credit
> Domain A     20
> Domain B    -10        
> Domain C    -10

I don't understand why it is "unlucky" that the credit sum is
about zero?

> 30msec later, the domains consumed 30msec if they are cpu intensive
> domains. The credits may become:
> Domain A     0
> Domain B    -15
> Domain C    -15

More likely, because time-slices are 30ms, it would be:

Domain A    -10
Domain B    -10        
Domain C    -10

> Then, the credit scheduler divides 30 msec and gives it to each domains.
> The credits may become:
> Domain A     15
> Domain B    -5
> Domain C    -10

You're not incrementing credits equally here so I assume you
mean that the domains have different weights and should
therefore get a different amount of CPU time.

If the domains had equal weights, you'd end up with:

Domain A    0
Domain B    0
Domain C    0

> The sum of the credit keeps the same value.
> I think there will be a chance to optimize it.

I don't understand why you think it is bad to have a stable
active credit sum converging on zero. It's the intent of the
scheduler to hand out as many credits as are being consumed.

As a matter of fact, having some domains credit positive and
others negative is the mechanism by which priorities change
and domains with higher weight get more CPU time. If all
domains were credit positive, they'd get the exact same
amount of CPU.

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.