Re: [QUIZ #157] 32bit vs 64bit vs UML performance



Lionel Bouton wrote:
I've run the QUIZ benchmark on several systems to check their relative
performance and had quite a surprise.
I'll take Frank's algorithm as reference for simplicity as it spends
roughly the same time for each point distribution in 157_benchmark_2.rb
but this is true for all of them.

This is on Gentoo Linux, all systems are compiled with gcc 4.1.2
on 32bit : -O3 -march=i686 -fomit-frame-pointer -pipe
on 64bit : -O2 -pipe

Hold on!! Try recompiling the 32-bit version with "march=pentium4" and
the 64-bit version with "-O3 -march=athlon64" and *then* compare the
timings! You've saddled the 64-bit version with some default
architecture and one less optimization level than the 32-bit version.

[snip]

The 32bit Core2Duo E6300 is a system with several user-mode-linux based
systems which are idling around (low trafic mail, DNS server and test
systems). It sits at a constant 0 load and zero swap activity.
The benchmark is 2x faster *in* the virtual machine (with the very same
compilation options, the virtual machine is mostly a clone of the host)
: 10s instead of 20s ! That's not a system timer problem, I actually
watched it spend the 10s and 20s.

I don't know what's going on... Maybe Ruby is making a very specific
system call that happens to be faster with user-mode-linux even though
the benchmark consists of nearly 99% floating point operations.

On the Athlon, you can figure out what's going on with CodeAnalyst. I
would guess it's something to do with cache thrashing or lack thereof.
On the Intel, you might be able to get some results from CodeAnalyst --
it's basically a wrapper around "oprofile". But you might end up needing
Intel's VTune. If you do this for a living, it's worth spending the
money. :)


The UML kernel is a 2.6.18 with the UML patches, the host is a 2.6.23.9
with the skas3 patch (designed to help the UML performance). The UML
sees 512MB, the host has 1GB. As I said, nearly no concurrent system
activity, 0 swapping before during and after the benchmark on both the
host and the virtual machine.

Anyone seen something remotely like this ?

Not me ... but I'm an Intel-free zone. ;)


.



Relevant Pages

  • [opensuse] openSUSE on User-mode Linux
    ... Uml starts fine but no runlevel gets started. ... SELinux: Initializing. ... Checking for host processor cmov support...Yes ... Slow work thread pool: Ready ...
    (SuSE)
  • Re: [RFC][PATCH 01/20] pid: Intoduce the concept of a wid (wait id)
    ... system calls itself and they do the same thing as the UML system call ... so they could be left to run on the host. ... and for a container to group those namespaces. ... What I want to do is related to process migration, ...
    (Linux-Kernel)
  • [BUG] Linux 2.6.25.4 task_struct leak
    ... Linux 2.6.25.4 x86_64 task_struct leak on host when running UML ... I'm seeing a massive task_struct leak on vanilla Linux 2.6.25.4 x86_64 ... guests on a Linux 2.6.25.4 i386 host kernel. ...
    (Linux-Kernel)
  • Re: Race condition in ptrace
    ... > Working with the new UML skas0 mode on my Xeon HT host, ... > some processes on UML segfaulting. ... > granted access to child's registers as soon, as the child is removed from ... set and cleared while the runqueue is locked. ...
    (Linux-Kernel)
  • Routing eth0 <-> tap0
    ... Beide haben öffentliche IP-Adressen: 212.227.101.47 (Host) ... und 217.160.17.189 (UML). ... Chain INPUT ... Chain OUTPUT (policy ACCEPT) ...
    (de.comp.os.unix.networking.misc)