[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH v2 0/7] xen: sched: improve scalability of Credit1, and optimize a bit both Credit1 and Credit2



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@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.