On Wed, Oct 21, 2015 at 06:26:04PM +0200, Dario Faggioli wrote:
> Hi everyone,
> 
> I managed running again the benchmarks I had already showed off here:

Hey!

Thank you for doing that.
> 
>  [PATCH RFC] xen: if on Xen, "flatten" the scheduling domain hierarchy
>  https://lkml.org/lkml/2015/8/18/302
> 
> Basically, this is about Linux guests using topology information for
> scheduling, while they just don't make any sense when on Xen as (unless
> static and guest-lifetime long pinning is used) vCPUs do move around!
> 
> Some more context is also available here:
> 
>  http://lists.xen.org/archives/html/xen-devel/2015-07/msg03241.html
> 
> This email is still about numbers obtained by running things in Dom0,
> and without overloading the host pCPUs at the Xen level (i.e., I'm
> using nr. dom0 vCPUs == nr. host pCPUs).
> 
> With respect to previous round:
>  - I've added results for hackbench
>  - I've run the benches with both my patch[0] and Juergen's patch[1]. 
>    My patch is 'dariof', in the spreadsheet; Juergen's is 'jgross'.
> 
> Here are the numbers:
> 
>  
> https://docs.google.com/spreadsheets/d/17djcVV3FkmHmv1FKFBe9CQFnNgVumnM2U64MNvjzAn8/edit?usp=sharing
> 
> (If anyone has issues with googledocs, tell me, and I'll try
> cutting-&-pasting in email, as I did the other time.)
> 
> A few comments:
>  * both the patches bring performance improvements. The only 
>    regression seems to happen in hackbench, when running with -g1. 
>    That is certainly not the typical use case of the benchmark, but we 
>    certainly can try figuring out better what happens in that case;
>  * the two patches were supposed to provide almost identical results, 
>    and they actually do that, in most cases (e.g., all the instances 
>    of Unixbench);
>  * when there are differences, it is hard to see a trend, or, in 
>    general, to identify a possible reason by looking at differences 
>    between the patches themselves, at least as far as these data are 
>    concerned. In fact, in the "make xen" case, for instance, 'jgross'
>    is better when building with -j20 and -j24, while 'dariof' is
>    better when building with -j48 and -j62 (the host having 48 pCPUs).
>    In the hackbench case, 'dariof' is better in the least concurrent
>    case, 'jgross' is better in the other three.
>    This all may well be due to some different and independent 
>    factor... Perhaps, a little bit more of investigation is necessary 
>    (and I'm up for it).
> 
> IMO, future steps are:
>  a) running benchmarks in a guest
>  b) running benchmarks in more guests, and when overloading at the Xen 
>     level (i.e., having more vCPUs around than the host has pCPUs)
>  c) tracing and/or collecting stats (e.g., from perf and xenalyze)
> 
> I'm already working on a) and b).
> 
> As far as which approach (mine or Juergen's) to adopt, I'm not sure,
> and it does not seem to make much difference, at least from the
> performance point of view. I don't have any particular issues with
> Juergen's patch, apart from the fact that I'm not yet sure how it makes
> the scheduling domains creation code behave. I can look into that and
> report.
> 
> Also, this is all for PV guests. Any thoughts on what the best route
> would be for HVM ones?

Perhaps the same? What I presume we want is for each CPU to look
exactly like the same from the scheduling perspective. That is - there
should be no penalty in moving a task from one CPU to another. While
right now the Linux scheduler will not move certain tasks. This is
due to to how the topology looks on baremetal - and moving certain
tasks is prohibitive (say moving an task from one core to another core
costs more than moving from core to SMT).


> 
> [0] http://pastebin.com/KF5WyPKz
> [1] http://pastebin.com/xSFLbLwn
> 
> Regards,
> Dario
> -- 
> <<This happens because I choose it to happen!>> (Raistlin Majere)
> -----------------------------------------------------------------
> Dario Faggioli, Ph.D, http://about.me/dario.faggioli
> Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)
> 



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to