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

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


  • To: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
  • From: Dulloor <dulloor@xxxxxxxxx>
  • Date: Sat, 17 Apr 2010 16:29:33 -0400
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Sun, 18 Apr 2010 10:49:57 -0700
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=uE3VXO2wf07OpelPEAVA4ezRCc2St4Cm/DMXJH64O+qfnH2BK5ZcupJNcReuShLuuK BeSTJL9y+GOdzmiOmDIzTIHL6DQv7QrzOEBT9ef1sS80GuC5cDgm/D570wIsy+HdwZXM UsmAHegbwgGdXnTjLIBDIDKyawWb4W8iZcrko=
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

On Thu, Apr 15, 2010 at 10:17 AM, George Dunlap
<george.dunlap@xxxxxxxxxxxxx> wrote:
> 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?

Sounds good. I can see that the runq_map for all cpus point to the
same run-queue (in make_runq_map). I will start there.

>
> 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®.