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: Thu, 19 Jul 2012 14:21:34 +0200	[thread overview]
Message-ID: <5007FBCE.6000201@amd.com> (raw)
In-Reply-To: <5fa66c8b9093399e5bc3.1342458792@Solace>

Dario,

sorry for joining the discussion so late, but I was busy with other 
things and saw the project in good hands.
Finally I managed to get some testing on these patches.

I took my 8-node machine, alternately equipped with 16GB and 8GB per 
node. Each node has 8 pCPUs.
As a special(i)ty I removed the DIMMs from node 2 and 3 to test Andrew's 
memory-less node patches, leading to this configuration:
node:    memsize    memfree    distances
    0:     17280       4518      10,16,16,22,16,22,16,22
    1:      8192       3639      16,10,16,22,22,16,22,16
    2:         0          0      16,16,10,16,16,16,16,22
    3:         0          0      22,22,16,10,16,16,22,16
    4:     16384       4766      16,22,16,16,10,16,16,16
    5:      8192       2882      22,16,16,16,16,10,22,22
    6:     16384       4866      16,22,16,22,16,22,10,16
    7:      8176       2799      22,16,22,16,16,22,16,10

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);
> +}

I haven't done any measurements on this, but I guess scheduling 36 vCPUs 
on 8 pCPUs has a much bigger performance penalty than any remote NUMA 
access, which nowadays is much better than a few years ago, with big L3 
caches, better predictors and faster interconnects.

I will now put in the memory again and also try to play a bit with the 
amount of memory and VCPUs per guest.

Regards,
Andre.

-- 
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany

  reply	other threads:[~2012-07-19 12:21 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 [this message]
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
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=5007FBCE.6000201@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.