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

Re: [Xen-devel] strange CPU utilization, could related to credit schedule ?


  • To: MaoXiaoyun <tinnycloud@xxxxxxxxxxx>
  • From: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
  • Date: Mon, 17 Jan 2011 10:41:04 +0000
  • Cc: xen devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 17 Jan 2011 02:41:46 -0800
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=Ck7qixWvM3FDG52DBDNz0/vlVqNWmNN2kdsXbLa6dQz0LNF3Nfgm0Cr6Hpl4/X4qAU ZvgwRdYUcj/ML89RvHGpVegI4Eb21tBMhVK2ht3Cd/3KDSpVqZDmAqk8qVERW7pSsFYW 1RloqIPnOGyq2LdIWaLD6Eh5QrNidBU5E82kk=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On Mon, Jan 17, 2011 at 3:52 AM, MaoXiaoyun <tinnycloud@xxxxxxxxxxx> wrote:
> Hi George:
>  1. From the algorithm, since domains credits is direct proportion
> to its weight,
> I think if there are two cpu-bound domains with same weight, no matter how
> many
> vcpus they have, they will have the same CPU times accmulated, right?

It used to be the case, yes.  But since that is very
counter-intuitive, some months ago I introduced a change such that the
weight is calculated on a per-vcpu basis.  If you look in
csched_acct(), when accounting credit, weight of a domain is
multiplied by sdom->active_vcpu_count.

> ÂÂÂÂÂÂ 2. if 1 is true, whatÂthe different betweenÂdomains withÂsame
> weightÂbut have
> different VCPUS(say one has 4 vcpus, another has 8)?

If two domains have the same number of "active" vcpus (4 each, for
example) they'll get the same amount of CPU time.  But if the 8-vcpu
domain has 8 vcpus in "active" mode, it will get twice as much time.

But this is a recent change; in earlier versions of Xen (before 3.4
for sure, and possibly 4.0, I can't remember), if two VMs are given
the same weight, they'll get the same cpu time.

> ÂÂÂÂÂÂÂ3.ÂI am fully understand the problems of "credit 1 schedule "in your
> ppt of "Xenschedulerstatus"
>
> (1)Client hypervisors and audio/video ï
> ÂÂÂ Audio VM: 5% CPU
> ï 2x Kernel-build VMs: 97% cpu
> ï 30-40 audio skips over 5 minutes
>
> Do you mean "kernel-build VMs" has great impact on "Audio VM", and does
> priority CSCHED_PRI_TS_BOOST
> solve this?

BOOST does not solve this problem.  I think I described the problem in
the paper: BOOST is an unstable place to be -- you can't stay there
very long.  The way BOOST works is this:
* You are put into BOOST if your credits reach a certain threshold
(30ms worth of credit)
* You are taken out of BOOST if you are interrupted by a scheduler "tick"

If you run at about 5% (or about 1/20 of the time), you can expect to
be running on average every 20 ticks.  Since timer ticks happen every
10ms, that means you can expect to stay in BOOST for an average of
200ms.

So no matter how little cpu you use, you'll flip back and forth
between BOOST and normal, often several times per second.

> many many thanks, those confusions really makes meÂheadache, I am a bit of
> silly.

äæ! æschedulingéåé.  It probably took me about six months to really
understand what was going on. :-)

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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