|
|
|
|
|
|
|
|
|
|
xen-devel
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
|
|
|
|
|