|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] Re: credit scheduler: the policy of credit assignment
Hi Emmanuel,
> > Hi Emmanuel,
> >
> > I looked into the code of the credit scheduler and one question
> > has come up.
> >
> > I'm not sure whether it is your intention that once the value of
> > credit_balance, which is the sum of credit of all domains on Xen,
> > goes to zero it may be stuck at zero. It will happen all of them
> > are cpu intensive domains and some of them turn into idle.
> >
> > Every 30 msec, the credit scheduler gives them csched_priv.credit
> > milliseconds --- 30 msec * number of physical cpus ---. 30 msec later,
> > you will find they have consumed all of the time they gave, which
> > leads the value of credit_balance will keep zero. This means some
> > domains are assigned credit with negative value every time.
> >
> > I know even in this case it will be balanced between domains
> > based on the weights but it would take quite long time to be balanced.
> > I feel the scheduler should give each domains larger credit than now
> > when credit_balance is small.
> >
> > Am I something wrong about this?
>
> 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
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
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
The sum of the credit keeps the same value.
I think there will be a chance to optimize it.
Thansk,
Hirokazu Takahashi.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|