Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jun 2011 07:12:46 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Yuri <yuri@rawbw.com>, Dan Nelson <dnelson@allantgroup.com>
Subject:   Re: Why user time of the process depends on machine load?
Message-ID:  <201106160712.46408.jhb@freebsd.org>
In-Reply-To: <20110615215515.GA6889@dan.emsphone.com>
References:  <4DF91458.8010508@rawbw.com> <20110615215515.GA6889@dan.emsphone.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday, June 15, 2011 5:55:17 pm Dan Nelson wrote:
> In the last episode (Jun 15), Yuri said:
> > When I test performance of the code, I always observe dependency of CPU
> > user time on the presence of other CPU intense processes.  Same CPU-only
> > deterministic process that on the quiet machine completes in 220 user
> > seconds in the presence of, for example, kde rebuild would complete in
> > 261, 266 or even 379 user seconds.  I am talking about times shown by
> > time(1), not actual an execution time.  It's the same time as getrusage(2)
> > returns in ru_utime field.
> > 
> > Why time that process takes in user seconds depends on what other 
> > processes are running?
> > 
> > FreeBSD-8.2 STABLE on i7 CPU @ 9200 @ 2.67GHz.
> 
> Some possible factors:
> 
> o Intel Turbo Boost, which raises the clock rate of a single core if the
>   other cores are idle.  A single process on an idle system will run faster.
> 
> o i7 chips have a shared L3 cache across all cores, so a single process on
>   an idle system will tend to have more of its data in cache compared to a
>   system with multiple processes, so it spends less time waiting for slower
>   physical memory lookups.
> 
> o Process accounting isn't exact.  I may be wrong, but I don't think
>   timestamps are taken every time a syscall is invoked and returns.  Some
>   time marked as "user" may actually be "system" time, in which case you may
>   be seeing the effect of contention in the kernel as more processes are
>   run.

This is very true.  You can only really trust the sum of system + user time
and compare that across runs.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201106160712.46408.jhb>