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

Re: [Xen-devel] [PATCH 0 of 5] Add credit2 scheduler (EXPERIMENTAL)



Dulloor wrote:
As we talked before, I am interested in improving the mutiple-socket
scenario and adding the load balancing functionalilty, which could
provide an acceptable alternative to pinning vcpus to sockets (for my
NUMA work). I am going over your patch right now, but what are your
thoughts ?
That would be great -- my focus for the next several months will be setting up a testing infrastructure to automatically test performance of different workloads mixes so I can hone the algorithm and test regressions.

My idea with load balancing was to do this:
* One runqueue per L2 cache.
* Add code to calculate the load of a runqueue. Load would be the average (~integral) of (vcpus running + vcpus on runqueue). I was planning on doing accurate load calculation, rather than sample-based, and falling back to sample-based if accurate turned out to be too slow.
* Calculate the load contributed by various vcpus.
* At regular intervals, determine of some kind of balancing needs to be done by looking at the overall runqueue load and placing based on "contributory" load of each VCPU.

Does that make sense?  Thoughts?

I have some old patches that calculated accurate load, I could dig them up if you wanted something to start with. (I don't think they'll apply cleanly at the moment.)

Thanks,
-George
-dulloor

On Wed, Apr 14, 2010 at 6:26 AM, George Dunlap
<george.dunlap@xxxxxxxxxxxxx> wrote:
This patch series introduces the credit2 scheduler.  The first two patches
introduce changes necessary to allow the credit2 shared runqueue functionality
to work properly; the last two implement the functionality itself.

The scheduler is still in the experimental phase.  There's lots of
opportunity to contribute with independent lines of development; email
George Dunlap <george.dunlap@xxxxxxxxxxxxx> or check out the wiki page
http://wiki.xensource.com/xenwiki/Credit2_Scheduler_Development for ideas
and status updates.

19 files changed, 1453 insertions(+), 21 deletions(-)
tools/libxc/Makefile                      |    1
tools/libxc/xc_csched2.c                  |   50 +
tools/libxc/xenctrl.h                     |    8
tools/python/xen/lowlevel/xc/xc.c         |   58 +
tools/python/xen/xend/XendAPI.py          |    3
tools/python/xen/xend/XendDomain.py       |   54 +
tools/python/xen/xend/XendDomainInfo.py   |    4
tools/python/xen/xend/XendNode.py         |    4
tools/python/xen/xend/XendVMMetrics.py    |    1
tools/python/xen/xend/server/SrvDomain.py |   14
tools/python/xen/xm/main.py               |   82 ++
xen/arch/ia64/vmx/vmmu.c                  |    6
xen/common/Makefile                       |    1
xen/common/sched_credit.c                 |    8
xen/common/sched_credit2.c                | 1125 +++++++++++++++++++++++++++++
xen/common/schedule.c                     |   22
xen/include/public/domctl.h               |    4
xen/include/public/trace.h                |    1
xen/include/xen/sched-if.h                |   28

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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