[Barrelfish-users] About CPU performance
tomsun.0.7 at gmail.com
Sun Feb 8 05:37:09 CET 2015
Really sorry for misunderstanding your reply but I also considered about
QEMU's imprecise measure of time. I increased the steps of additions by 10
times so that it will take around one minute to finish. Then I started
two Barrelfish (one in QEMU and one on bare-metal) and spawned the same
application at the same time (nearly, no guarantee for submillisecond
difference), but I found there is a obvious gap (about 5 seconds) between
their end time to finish.
And I have read your SOSP paper, which gives an evaluation with OpenMP.
Indeed, the performance for insert sort is nearly the same with the one on
Linux while running on one core. So, I become more curious about why I got
Is there any tools, like profiling tools, I can leverage to find out the
On Sun, Feb 8, 2015 at 3:51 AM, Simon Peter <speter at inf.ethz.ch> wrote:
> What I mean is that in order to measure performance in terms of execution
> time (as I can glance from your previous email that had results in it), you
> first need a notion of time. Barrelfish's notion of time is off on QEMU.
> Hence, you might be seeing wrong results.
> We have compared Barrelfish to Linux performance on bare-metal hardware in
> various papers, such as our SOSP paper.
> On 02/06/2015 07:02 PM, tomsun.0.7 wrote:
>> I don't actually care about the measure of CPU speed, I want to know why
>> Barrelfish performs worse on bare-metal than on QEMU with KVM.
>> As my second reply demonstrated, I got worse performance while running
>> applications on bare-metal than both QEMU with KVM and native Linux.
>> I made sure that it doesn't result from CPU frequency, because I
>> accessed the hardware performance registers directly within kernel and
>> found it did run with full speed.
>> Now, I'm suspecting that is it possible that the performance is
>> influenced by some other factors like, device interrupts?
>> Have you ever measured the performance of Barrelfish and compared it
>> with Linux or other operating system?
>> On Sat, Feb 7, 2015 at 3:47 AM, Simon Peter <speter at inf.ethz.ch
>> <mailto:speter at inf.ethz.ch>> wrote:
>> I'm also suspecting that it might just be jittery CPU emulation
>> speed that's getting you different results. Barrelfish's usleep
>> ultimately uses sys_debug_get_tsc_per_ms, so your 2 ways might
>> actually be the same. Barrelfish measures CPU speed at bootup, but
>> it's very bad at figuring it out correctly on QEMU. I'm not sure
>> what the best way is to get accurate results on QEMU.
>> On 15-02-04 09:46 PM, tomsun.0.7 wrote:
>>> I started a network application who is dedicated to produce
>>> packets all the time. However, when I started it on bare-metal, I
>>> found the throughput is only a half of running in QEMU (of course,
>>> with KVM enabled).
>>> This application is only CPU-intensive, it just produces a lot of
>>> packets and then destroys them. So it's none of the devices'
>>> business. At first, I think it results from the low frequency of
>>> cores, so I measured this by two ways: 1. invoking native
>>> Barrelfish interface, sys_debug_get_tsc_per_ms, directly; 2.
>>> reading tsc and sleeping for 1 second using POSIX sleep (which is
>>> implemented by invoking Barrelfish's usleep as I know). However, I
>>> got the full-speed results under both conditions.
>>> So, I don't know whether it results from incorrect measure of
>>> frequency or some other CPU problems because I even tried to start
>>> it with PXE in QEMU, and got full performance.
>>> What can I do to get normal performance on bare-metal? Or, if it
>>> results from low frequency of CPUs, what can I do to tune up the
>>> Barrelfish-users mailing list
>>> Barrelfish-users at lists.inf.ethz.ch <mailto:Barrelfish-users@
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Barrelfish-users