All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@amd.com>
To: Dario Faggioli <raistlin@linux.it>
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>,
	Juergen Gross <juergen.gross@ts.fujitsu.com>,
	Ian Jackson <Ian.Jackson@eu.citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH 1 of 3 v5/leftover] libxl: enable automatic placement of guests on NUMA nodes
Date: Fri, 20 Jul 2012 10:26:04 +0200	[thread overview]
Message-ID: <5009161C.2060005@amd.com> (raw)
In-Reply-To: <1342772429.19530.247.camel@Solace>

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?

Andre

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448-3567-12

  reply	other threads:[~2012-07-20  8:26 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 [this message]
2012-07-20  8:38               ` Juergen Gross
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=5009161C.2060005@amd.com \
    --to=andre.przywara@amd.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Ian.Jackson@eu.citrix.com \
    --cc=Stefano.Stabellini@eu.citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=juergen.gross@ts.fujitsu.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.