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

[Xen-devel] Re: 0/4 Xen Scheduling Groups - some microbenchmarks

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] Re: 0/4 Xen Scheduling Groups - some microbenchmarks
From: "Mike D. Day" <ncmike@xxxxxxxxxx>
Date: Tue, 15 May 2007 10:05:34 -0400
Delivery-date: Tue, 15 May 2007 07:04:00 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20070510213312.GA20535@xxxxxxxxxxxxxxxxxxxxxx>
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Organization: IBM Linux Technology Center
References: <20070510213312.GA20535@xxxxxxxxxxxxxxxxxxxxxx>
Reply-to: ncmike@xxxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.13 (2006-08-11)
On 10/05/07 17:33 -0400, Mike D. Day wrote:
Scheduling Groups

Scheduling groups provide the ability to combine domains into a group
assocation. One domain is designated as the group master. The other
domains are designated as group members. There may be only one master
domain for each group, and one or more member domains. A single domain
may be either a group master or group member, and never both at the
same time.


I ran Rusty Russell's virtbench on xen-unstable without the scheduling
groups patches, and with the patches.

http://ozlabs.org/~rusty/virtbench/

Virtbench automatically creates four paravirtual guests and runs a
series of microbenchmarks, including some that test inter-guest
communication. I ran these benchmarks on an athlon x2
Linux svm 2.6.18-xen #1 SMP Tue Apr 24 11:01:39 EDT 2007 x86_64 GNU/Linux

The results are mixed - the unpatched credit scheduler is faster on
some microbenchmarks and slower on others.
Smaller == better

UNPATCHED RESULTS       

Bringing up machines..
Time for one context switch via pipe: 6082 (6014 - 6160)
Time for one Copy-on-Write fault: 5628 (5472 - 5783)
Time to exec client once: 581656 (562984 - 598656)
Time for one fork/exit/wait: 357625 (353625 - 365812)
Time to send 4 MB from host: 21401750 (20443000 - 31179250)
Time for one syscall via libc: 684 (684 - 685)
Time to walk linear 64 MB: 686312 (682437 - 689125)
Time to walk random 64 MB: 945250 (940750 - 948875)
Time for one outb PIO operation: 298 (298 - 300)
Time for two PTE updates: 5250 (5228 - 5264)
Time to read from disk (256 kB): 7879125 (5765500 - 18967062)
Time for one disk read: 25246 (24839 - 35062)
Time to send 4 MB between guests: 16729375 (14412437 - 30318562)
Time for inter-guest pingpong: 70152 (68960 - 104968)
Time to sendfile 4 MB between guests: 46993000 (16927000 - 380530000)
Time to receive 1000 1k UDPs between guests: 47102000 (11709000 - 3427813000)
mdday@svm:~/src/virtbench$

WITH SCHEDULING GROUP PATCHES

Bringing up machines..
Time for one context switch via pipe: 6117 (6016 - 6279)
Time for one Copy-on-Write fault: 5566 (5438 - 5740)
Time to exec client once: 584031 (569593 - 595093)
Time for one fork/exit/wait: 332406 (321125 - 350375)
Time to send 4 MB from host: 21453250 (20431500 - 29317750)
Time for one syscall via libc: 683 (683 - 690)
Time to walk linear 64 MB: 688312 (684000 - 691625)
Time to walk random 64 MB: 931125 (929250 - 933125)
Time for one outb PIO operation: 282 (282 - 292)
Time for two PTE updates: 5184 (5174 - 5204)
Time to read from disk (256 kB): 7963437 (5850375 - 17305687)
Time for one disk read: 25332 (24867 - 65437)
Time to send 4 MB between guests: 15529187 (13590187 - 34647875)
Time for inter-guest pingpong: 81570 (68687 - 98175)
Time to sendfile 4 MB between guests: 36325000 (16996000 - 503692000)
Time to receive 1000 1k UDPs between guests: 43529000 (10414000 - 228768000)


The only code that is in the fast patch is a conditional:
static inline struct csched_dom *master_dom(struct csched_dom *d)
{
   if ( d->is_member )
       return d->master;
   return d;
}

I'm going to make a change to remove this conditional from the fast
path and retest.
Mike

--
Mike D. Day
IBM LTC
Cell: 919 412-3900
Sametime: ncmike@xxxxxxxxxx AIM: ncmikeday  Yahoo: ultra.runner
PGP key: http://www.ncultra.org/ncmike/pubkey.asc

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

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