From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH 0 of 5] Add credit2 scheduler (EXPERIMENTAL) Date: Thu, 15 Apr 2010 15:17:40 +0100 Message-ID: <4BC72004.2030203@eu.citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Dulloor , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org 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 > 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 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@lists.xensource.com >> http://lists.xensource.com/xen-devel >> >>