All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <juergen.gross@ts.fujitsu.com>
To: Andre Przywara <andre.przywara@amd.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>,
	Dario Faggioli <raistlin@linux.it>
Subject: Re: [PATCH 1 of 3 v5/leftover] libxl: enable automatic placement of guests on NUMA nodes
Date: Fri, 20 Jul 2012 10:38:00 +0200	[thread overview]
Message-ID: <500918E8.3000708@ts.fujitsu.com> (raw)
In-Reply-To: <5009161C.2060005@amd.com>

Am 20.07.2012 10:26, schrieb Andre Przywara:
> On 07/20/2012 10:20 AM, Dario Faggioli wrote:
>> On Thu, 2012-07-19 at 16:22 +0200, Dario Faggioli wrote:
>>> Interesting. That's really the kind of testing we need in order to
>>> fine-tune the details. Thanks for doing this.
>>>
>>>> Then I started 32 guests, each 4 vCPUs and 1 GB of RAM.
>>>> Now since the code prefers free memory so much over free CPUs, the
>>>> placement was the following:
>>>> node0: guests 2,5,8,11,14,17,20,25,30
>>>> node1: guests 21,27
>>>> node2: none
>>>> node3: none
>>>> node4: guests 1,4,7,10,13,16,19,23,29
>>>> node5: guests 24,31
>>>> node6: guests 3,6,9,12,15,18,22,28
>>>> node7: guests 26,32
>>>>
>>>> As you can see, the nodes with more memory are _way_ overloaded, while
>>>> the lower memory ones are underutilized. In fact the first 20 guests
>>>> didn't use the other nodes at all.
>>>> I don't care so much about the two memory-less nodes, but I'd like to
>>>> know how you came to the magic "3" in the formula:
>>>>
>>>>> +
>>>>> + return sign(3*freememkb_diff + nrdomains_diff);
>>>>> +}
>>>>
>>>
>>> That all being said, this is the first time the patchset had the chance
>>> to run on such a big system, so I'm definitely open to suggestion on how
>>> to make that formula better in reflecting what we think it's The Right
>>> Thing!
>>>
>> Thinking more about this, I realize that I was implicitly assuming some
>> symmetry in the amount of memory each nodes comes with, which is
>> probably something I shouldn't have done...
>>
>> I really am not sure what to do here, perhaps treating the two metrics
>> more evenly? Or maybe even reverse the logic and give nr_domains more
>> weight?
>
> I replaced the 3 with 1 already, that didn't change so much. I think we
> should kind of reverse the importance of node load, since starving for
> CPU time is much worse than bad memory latency. I will do some
> experiments...
>
>> I was also thinking whether it could be worthwhile to consider the total
>> number of vcpus on a node instead than the number of domain, but again,
>> that's not guaranteed to be any more meaningful (suppose there are a lot
>> of idle vcpus)...
>
> Right, that was my thinking on the ride to work also ;-)
> What about this: 1P and 2P guests really use their vCPUs, but for bigger
> guests we assume only a fractional usage?

Hmm. I wouldn't be sure about this. I would guess there is a reason a guest has
more than 1 vcpu. Normally this is because the guest needs more power.

Having only 1 vcpu means this is enough. It probably would need only 0.1 vcpus.

A guest with many vcpus suffers much more from a heavy loaded node, as lock
contention in the guest is increasing with number of vcpus and waiting for a
vcpu holding a lock but being preempted.


Juergen

-- 
Juergen Gross                 Principal Developer Operating Systems
PDG ES&S SWE OS6                       Telephone: +49 (0) 89 3222 2967
Fujitsu Technology Solutions              e-mail: juergen.gross@ts.fujitsu.com
Domagkstr. 28                           Internet: ts.fujitsu.com
D-80807 Muenchen                 Company details: ts.fujitsu.com/imprint.html

  reply	other threads:[~2012-07-20  8:38 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-10 15:03 [PATCH 0 of 3 v4/leftover] Automatic NUMA placement for xl Dario Faggioli
2012-07-10 15:03 ` [PATCH 1 of 3 v4/leftover] libxl: enable automatic placement of guests on NUMA nodes Dario Faggioli
2012-07-16 17:13   ` [PATCH 0 of 3 v5/leftover] Automatic NUMA placement for xl Dario Faggioli
2012-07-16 17:13     ` [PATCH 1 of 3 v5/leftover] libxl: enable automatic placement of guests on NUMA nodes Dario Faggioli
2012-07-19 12:21       ` Andre Przywara
2012-07-19 14:22         ` Dario Faggioli
2012-07-20  8:19           ` Andre Przywara
2012-07-20  9:39             ` Dario Faggioli
2012-07-20 10:01               ` Dario Faggioli
2012-07-20  8:20           ` Dario Faggioli
2012-07-20  8:26             ` Andre Przywara
2012-07-20  8:38               ` Juergen Gross [this message]
2012-07-20  9:52                 ` Dario Faggioli
2012-07-20  9:56                   ` Juergen Gross
2012-07-20  9:44               ` Dario Faggioli
2012-07-20 11:47                 ` Andre Przywara
2012-07-20 12:54                   ` Dario Faggioli
2012-07-20 13:07                     ` Andre Przywara
2012-07-21  1:44                       ` Dario Faggioli
2012-07-16 17:13     ` [PATCH 2 of 3 v5/leftover] libxl: have NUMA placement deal with cpupools Dario Faggioli
2012-07-16 17:13     ` [PATCH 3 of 3 v5/leftover] Some automatic NUMA placement documentation Dario Faggioli
2012-07-20 11:07     ` [PATCH 0 of 3 v5/leftover] Automatic NUMA placement for xl David Vrabel
2012-07-20 11:43       ` Andre Przywara
2012-07-20 12:00         ` Ian Campbell
2012-07-20 12:08           ` Ian Campbell
2012-07-23 10:38             ` Dario Faggioli
2012-07-23 10:42               ` Ian Campbell
2012-07-23 15:31                 ` Dario Faggioli
2012-07-23 10:23           ` Dario Faggioli
2012-07-20 12:14         ` David Vrabel
2012-07-17 15:55   ` [PATCH 1 of 3 v4/leftover] libxl: enable automatic placement of guests on NUMA nodes Ian Jackson
2012-07-17 15:59     ` Ian Campbell
2012-07-17 18:01       ` Ian Jackson
2012-07-17 18:04     ` [PATCH 1 of 3 v5/leftover] libxl: enable automatic placement of guests on NUMA nodes [and 1 more messages] Ian Jackson
2012-07-17 20:23       ` Ian Campbell
2012-07-18  0:31         ` Dario Faggioli
2012-07-18 10:44         ` Ian Jackson
2012-07-18  0:22       ` Dario Faggioli
2012-07-18  8:27         ` Dario Faggioli
2012-07-18  9:13         ` Ian Campbell
2012-07-18  9:43           ` Dario Faggioli
2012-07-18  9:53             ` Ian Campbell
2012-07-18 10:08               ` Dario Faggioli
2012-07-18 11:00               ` Ian Jackson
2012-07-18 13:14                 ` Ian Campbell
2012-07-18 13:35                   ` Dario Faggioli
2012-07-19 12:47                   ` Dario Faggioli
2012-07-18 13:40                 ` Andre Przywara
2012-07-18 13:54                   ` Juergen Gross
2012-07-18 14:00                   ` Dario Faggioli
2012-07-19 14:43                   ` Ian Jackson
2012-07-19 18:37                     ` Andre Przywara
2012-07-21  1:46                       ` Dario Faggioli
2012-07-18 10:53             ` Ian Jackson
2012-07-18 13:12               ` Ian Campbell
2012-07-18  9:47         ` Dario Faggioli
2012-07-17 22:15     ` [PATCH 1 of 3 v4/leftover] libxl: enable automatic placement of guests on NUMA nodes Dario Faggioli
2012-07-10 15:03 ` [PATCH 2 of 3 v4/leftover] libxl: have NUMA placement deal with cpupools Dario Faggioli
2012-07-10 15:03 ` [PATCH 3 of 3 v4/leftover] Some automatic NUMA placement documentation Dario Faggioli
2012-07-16 17:03 ` [PATCH 0 of 3 v4/leftover] Automatic NUMA placement for xl Dario Faggioli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=500918E8.3000708@ts.fujitsu.com \
    --to=juergen.gross@ts.fujitsu.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=andre.przywara@amd.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=raistlin@linux.it \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.