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] domU config file options for scheduling

To: Thomas Goirand <thomas@xxxxxxxxxx>
Subject: Re: [Xen-devel] domU config file options for scheduling
From: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
Date: Thu, 10 Dec 2009 18:20:14 +0000
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Thu, 10 Dec 2009 10:21:02 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=+NDuPJ97sU8bPtPPpBJjAJZHmaPIDdfwRvToqhYycsk=; b=u9Nh47SBixCLINSemCPQRG7rRWvZO1Two89ZcHhFBpRq/Lb8ykyxxRGcneR6hj9ktx FwzmPfK7m0xKiCl6T6DhK26PSS20Myd6EBxstgUicp96TVZvM7rs3L1uXLkytRpfRY3D xqsLBAMNfMjqTWfMJRNlexbr3ZyEA0MNSL674=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=SXNMjZc8PmZx+FI59vgtjpQCmAD/PrXHqO00nDggp5fn9o5VZ7dYwtJtn9m42crATD v7lxku2IT5gByEii1rp9qcDfe56CLrICk8blTxbVZ3Lh8+YFohrYruPa0LmH3eoxTXRr koXMp0lbSC7IGIVnmXqfE6Mu+6lC0BFs6kJaY=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4B20AA20.5080006@xxxxxxxxxx>
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: <4B20AA20.5080006@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I agree that there should be a way to add scheduling configuration to
the config file.  The main wrinkle is that each scheduler takes its
own scheduling parameters, which generally can't be translated for
other schedulers. It would have to be up to the person making the
config file to make sure that there were appropriate info for other
schedulers if they might be used.

Unfortunately this would mainly have to do with python, which I'm by
no means an expert at.  Would anyone who knows the python like to
volunteer to do it?  Otherwise, I'll see what I can do; it shouldn't
be too difficult to hack something together.

 -George

On Thu, Dec 10, 2009 at 7:58 AM, Thomas Goirand <thomas@xxxxxxxxxx> wrote:
> Hi,
>
> This is addressed mainly to George, but maybe someone else want to work
> on it too.
>
> I found very inconvenient to have to do:
>
> xm sched-credit -d xen08 -c 50
>
> after a VM starts, and I think there should be some configuration values
> to be added into the startup file. Something like:
>
> shedcreditweight = 20
> shedcreditcap = 50
>
> would be really useful and save a load of scripting work for everyone
> (avoiding shell scripts to run after a VM is started).
>
> George, would you have time to implement this? Any chance to have this
> added for the 4.0 release? That'd be really a GREAT addition, with I
> believe, minimum effort.
>
> Also, I had a chat with George about having a kind of "burst" feature
> added to the credit scheduler. My idea is that, by default, someone
> would setup a credit-burst-time, and a credit-burst-cap, to any VM that
> has a a credit-cap set. That could be set this way in the domU config file:
>
> shedcreditweight = 20
> shedcreditcap = 50
> shedbursttime = 5000 <--- 5 seconds max burst CPU time
> shedburstcap = 80 <--- 80% CPU max during the burst
> shedrecovertime = 2000 <--- 2 second recovery time
>
> Whenever a VM goes over its shedcreditcap, the burst-cap would be used
> for a time no longer than the credit-burst-time. When this time is over,
> then shedcreditcap would be used, until the VM uses less than
> shedcreditcap for a time longer than shedrecovertime.
>
> I do believe that this kind of scheduling would be REALLY useful for
> avoiding that a VM abuses the CPU usage. For people doing Xen VM hosting
> business, or cloud computing, that would be just great. The values that
> I wrote above would be a typical use.
>
> I had a look myself in the scheduler code, and it's quite not obvious
> where to patch. I think I have understood the burncredit() system, but I
> didn't get where the values are read for the cap and all. Did I
> understood well that Xen uses 30ms cycles for the credit scheduler? If
> that is the case, then I believe that computing what cap values to use
> depending on the burst parameters for a given 30ms scheduling cycle
> wouldn't be such a big overhead.
>
> If nobody wants to implement this, can someone gives me some pointers in
> the sched_credit.c and all the .h structures? If I do stupid trials and
> errors in my implementation at first, because I'd be a beginner at
> patching Xen, would you guys have enough time to explain, and excuse a
> newbie? Would that kind of patch be accepted if proven to work?
>
> Cheers,
>
> Thomas Goirand
>
> _______________________________________________
> 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

<Prev in Thread] Current Thread [Next in Thread>