WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: Dulloor <dulloor@xxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH 0 of 5] Add credit2 scheduler (EXPERIMENTAL)
From: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
Date: Thu, 15 Apr 2010 15:17:40 +0100
Cc:
Delivery-date: Thu, 15 Apr 2010 07:18:30 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <h2x940bcfd21004140841kcdffe330xff5d749d43392fe3@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <patchbomb.1271240778@silas> <h2x940bcfd21004140841kcdffe330xff5d749d43392fe3@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.24 (X11/20100317)
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