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
next prev parent 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.