[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: 0/4 Xen Scheduling Groups - some microbenchmarks
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-guestcommunication. 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 onsome 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 fastpath 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |