All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] xen: sched: improve scalability of Credit1, and optimize a bit both Credit1 and Credit2
@ 2017-04-06  8:16 Dario Faggioli
  2017-04-06  8:16 ` [PATCH v2 1/7] xen: credit1: simplify csched_runq_steal() a little bit Dario Faggioli
                   ` (6 more replies)
  0 siblings, 7 replies; 24+ messages in thread
From: Dario Faggioli @ 2017-04-06  8:16 UTC (permalink / raw)
  To: xen-devel
  Cc: Andrew Cooper, Anshul Makkar, Ian Jackson, George Dunlap, Wei Liu

Hello,

Here it comes, v2 of this series. v1 was here:
 https://lists.xen.org/archives/html/xen-devel/2017-03/msg00265.html

It took a bit, because I found out issues, as well as chances of further
improvements in what was patch 3.

This resulted in:
 - one patch being added to the series;
 - patch "xen: credit1: increase efficiency and scalability of load balancing."
   being reworked.

I also changed the patch ordering in the series a little bit. More details in
the single changelogs.

Given all the above, I did rerun all the benchmarks. The results are not too
different, though (oh, BTW, it's a different test machine, wrt the one I used
for v1, so absolute numbers are not comparable).

I've again benchmarked a Xen build (seconds, lower = better) and Iperf (from VM
to host, GBps, higher = better), in either 1 or 2 VMs with 16 vCPUs, on a 16
pCPUs host. This is all on Credit1, as the Credit2 patch in the series has not
been touched in v2.

     MAKEXEN, 1VM, 16 VCPUs    MAKEXEN, 2VMs, 16 VCPUs
     -------------------------------------------------
      baseline  patched          baseline  patched
 avg   18.246   18.078            53.178   50.783
 stdd   0.585    0.455             0.746    1.975

So, we indeed see an improvement, especially in the overcommitted case.

     IPERF, 1VM, 16 VCPUs      IPERF, 2VMs, 16 VCPUs
     -----------------------------------------------
       baseline  patched          baseline patched
 avg    25.480   25.580            12.678  13.220
 stdd    0.963    0.986             2.694   1.108

So, improvement again, although less of a clear call.

I've also run Iperf in a VM-to-VM configuration (using two VMs with 6 vCPUs).

       IPERF, VM-to-VM
       -----------------
       baseline  patched
 avg    9.788    10.324
 stdd   0.486     0.447

Which indeed seems a better benchmark for showing the effectiveness of this
series.

Git branch available here:
 git://xenbits.xen.org/people/dariof/xen.git  rel/sched/credit1-credit2-optim-and-scalability-v2
 https://travis-ci.org/fdario/xen/builds/219179935

Thanks and Regards,
Dario
---
Dario Faggioli (7):
      xen: credit1: simplify csched_runq_steal() a little bit.
      xen: credit: (micro) optimize csched_runq_steal().
      xen: credit: consider tickled pCPUs as busy.
      xen/tools: tracing: add record for credit1 runqueue stealing.
      xen: credit1: increase efficiency and scalability of load balancing.
      xen: credit1: treat pCPUs more evenly during balancing.
      xen: credit2: avoid cpumask_any() in pick_cpu().

 tools/xentrace/formats       |    1 
 tools/xentrace/xenalyze.c    |   11 ++
 xen/common/sched_credit.c    |  241 +++++++++++++++++++++++++++++++-----------
 xen/common/sched_credit2.c   |   22 +++-
 xen/include/xen/perfc_defn.h |    1 
 5 files changed, 210 insertions(+), 66 deletions(-)
--
<<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
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2017-04-07 16:26 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-06  8:16 [PATCH v2 0/7] xen: sched: improve scalability of Credit1, and optimize a bit both Credit1 and Credit2 Dario Faggioli
2017-04-06  8:16 ` [PATCH v2 1/7] xen: credit1: simplify csched_runq_steal() a little bit Dario Faggioli
2017-04-07 10:45   ` George Dunlap
2017-04-07 11:00     ` Dario Faggioli
2017-04-06  8:16 ` [PATCH v2 2/7] xen: credit: (micro) optimize csched_runq_steal() Dario Faggioli
2017-04-07 10:49   ` George Dunlap
2017-04-07 11:01     ` Dario Faggioli
2017-04-06  8:16 ` [PATCH v2 3/7] xen: credit: consider tickled pCPUs as busy Dario Faggioli
2017-04-07 10:56   ` George Dunlap
2017-04-07 12:53     ` Dario Faggioli
2017-04-06  8:16 ` [PATCH v2 4/7] xen/tools: tracing: add record for credit1 runqueue stealing Dario Faggioli
2017-04-07 11:01   ` George Dunlap
2017-04-07 13:06     ` Dario Faggioli
2017-04-06  8:16 ` [PATCH v2 5/7] xen: credit1: increase efficiency and scalability of load balancing Dario Faggioli
2017-04-07 14:38   ` George Dunlap
2017-04-07 14:49     ` Dario Faggioli
2017-04-07 15:17       ` George Dunlap
2017-04-07 15:26         ` Dario Faggioli
2017-04-07 15:49           ` Dario Faggioli
2017-04-07 16:25             ` Dario Faggioli
2017-04-06  8:16 ` [PATCH v2 6/7] xen: credit1: treat pCPUs more evenly during balancing Dario Faggioli
2017-04-07 14:44   ` George Dunlap
2017-04-06  8:17 ` [PATCH v2 7/7] xen: credit2: avoid cpumask_any() in pick_cpu() Dario Faggioli
2017-04-07 14:48   ` George Dunlap

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.