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 13:47:35 +0200	[thread overview]
Message-ID: <50094557.8020208@amd.com> (raw)
In-Reply-To: <1342777496.19530.271.camel@Solace>

On 07/20/2012 11:44 AM, Dario Faggioli wrote:
> On Fri, 2012-07-20 at 10:26 +0200, Andre Przywara wrote:
>>> 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...
>>
> That would be nice. If you happen to have time to put something like
> "3*nrdomains_diff+memfree_diff" and see how it goes, I'll be happy to
> include at least that change, even in next posting.

I did that. Guests are 2 VCPUs/2GB RAM. The results looked much better. 
After 16 guests I get:
# xl vcpu-list | sed -e 1d | sort -n -k 7 | tr -s \  | cut -d\  -f7 | 
uniq -c
      16 any       (Dom0 had max_vcpus=16)
       4 0-7
       4 8-15
       4 16-23
       4 24-31
       4 32-39
       4 40-47
       4 48-55
       4 56-63
This is number of VCPUs per node. Also distributes equally.
Memory looked like this:
    0:     17280       9969
    1:      8192       2268
    2:      8192       1690
    3:      8192       1754
    4:     16384      10049
    5:      8192       1879
    6:     16384      10947
    7:     16368       9267

After another 8 guests:
      16 any
       8 0-7
       4 8-15
       4 16-23
       4 24-31
       8 32-39
       4 40-47
       8 48-55
       8 56-63
still not over-commited.
    0:     17280       5846
    1:      8192       2266
    2:      8192       1690
    3:      8192       1752
    4:     16384       5925
    5:      8192       1877
    6:     16384       6824
    7:     16368       5142

Finally with all 32 guests:
      12 0-7
       6 8-15
       4 16-23
       4 24-31
      12 32-39
       4 40-47
      12 48-55
      10 56-63
The bigger nodes are overcommited, while the others have free pCPUs (8 
cores per node). But memory dictates this:
    0:     17280       3130
    1:      8192          0
    2:      8192        485
    3:      8192       1747
    4:     16384       1803
    5:      8192       1876
    6:     16384       2701
    7:     16368       3081
And the last domain already took memory from multiple nodes:
(XEN) Domain 105 (total: 523255):
(XEN)     Node 0: 162740
(XEN)     Node 1: 52616
(XEN)     Node 2: 307899
(XEN)     Node 3: 0
(XEN)     Node 4: 0
(XEN)     Node 5: 0
(XEN)     Node 6: 0
(XEN)     Node 7: 0

All other domains had all their 523255 pages from a single node.

# xl vcpu-list 105
Name                        ID  VCPU   CPU State   Time(s) CPU Affinity
Guest32                    105     0    5   -b-       3.1  0-7
Guest32                    105     1    2   -b-       0.7  0-7

So without any deeper thinking this looks much better than the original 
version and possibly good enough for Xen 4.2.
Maybe the automated testing finds some leftovers.


Regards,
Andre.

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

  reply	other threads:[~2012-07-20 11:47 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
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 [this message]
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=50094557.8020208@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.