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/
Home Products Support Community News


Re: [Xen-devel] Scheduling of I/O domains

To: "G. Milos" <gm281@xxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Scheduling of I/O domains
From: Rob Gardner <rob.gardner@xxxxxx>
Date: Wed, 21 Jul 2004 16:25:26 -0600
Cc: xen-devel@xxxxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 21 Jul 2004 23:27:09 +0100
Envelope-to: steven.hand@xxxxxxxxxxxx
In-reply-to: <Pine.LNX.4.60.0407211914590.2885@xxxxxxxxxxxxxxxxxxxxxx>
List-archive: <http://sourceforge.net/mailarchive/forum.php?forum=xen-devel>
List-help: <mailto:xen-devel-request@lists.sourceforge.net?subject=help>
List-id: List for Xen developers <xen-devel.lists.sourceforge.net>
List-post: <mailto:xen-devel@lists.sourceforge.net>
List-subscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=subscribe>
List-unsubscribe: <https://lists.sourceforge.net/lists/listinfo/xen-devel>, <mailto:xen-devel-request@lists.sourceforge.net?subject=unsubscribe>
References: <40FEA619.1050800@xxxxxx> <Pine.LNX.4.60.0407211914590.2885@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-admin@xxxxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)
G. Milos wrote:

To target the unfairness I am developing a modification of BVT (I called it Fair Borrowed Virtual Time [FBVT]). You can enable it by supplying "sched=fbvt" command to Xen at the startup. The scheduler is under development and it needs some tweaking to get the best performance (that is what I am working on at the moment). It would be very helpful if you could email me with the results of your tests for FBVT.

I tried booting xen with "sched=fbvt" in the command line in grub.conf. It didn't change the results at all. And why would it? We are not dealing with an "I/O bound domain" here, but rather with an "I/O domain", two very different things.

It seems to me that this problem doesn't have anything to do with the choice of scheduling policy or parameters; It is about when the scheduler is called. It appears as though the xen cpu scheduler currently only runs when the hardware timer ticks. It does not run when an external interrupt happens. So there is a large latency introduced to I/O interrupts, and this limits I/O performance. Changing the scheduler algorithm won't help this.

The only way to avoid this is to immediately dispatch the I/O domain responsible for a given I/O interrupt as soon as that interrupt occurs. This means giving I/O domains with pending interrupts scheduling priority over any "regular" domains. Just as in a "normal" operating system, interrupt service routines must complete before any user processes are executed. Otherwise, latencies are introduced that kill I/O performance.

Rob Gardner

This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
Xen-devel mailing list