"Syncing cpus" on a multi-cpu, dual core system

Stephen Montgomery-Smith stephen at math.missouri.edu
Sat Dec 16 10:37:52 PST 2006


M. Warner Losh wrote:
> In message: <200612141437.28724.mldodson at houston.rr.com>
>             "M. L. Dodson" <mldodson at houston.rr.com> writes:
> : On a computational chemistry list I subscribe to there is a
> : current thread about multi-cpu systems needing to have the cpu
> : frequencies synced (this is in a Linux context).  This is
> : evidently not just having the cpus running at nominally the same
> : frequency but something else in addition.  A posting in the thread
> : said variations less than 0.1% were not problematic.  However, the
> : poster said it was an issue in a dual cpu, dual core system he had
> : set up.
> : 
> : My questions are:
> : 1. Is this real or an urban legend?
> : 2. If real, is this a Linuxism or is FreeBSD affected as well?
> : 3. How do you "sync" the cpus, if it is needed?
> : 4. anything else some one wants to expound on along this line.
> 
> Linux keeps the cpu's frequencies 'synchronized' so that it can use
> the fast time keeping hardware (TSC).  FreeBSD uses different
> mechanisms for its timekeeping, so doesn't need to keep them in sync
> at all, and doesn't even try at this point.  Maybe this is what they
> are talking about...
> 
> Warner

One thing I have noticed with FreeBSD is that if I am running a program 
that multithreads and creates and destroys threads a lot (e.g. the fftw3 
port), then top underreports significantly - that is on a 4 processor 
system it might report 60% (or even 0%) cpu usage, when it is clear from 
the TIME field that it is closer to 250% cpu usage.

The other thing I have noticed is that when I split jobs using threads 
so that I can use several processors, the speed up to the program is far 
less than one might expect - indeed sometimes it even gets slower.

Stephen


More information about the freebsd-hackers mailing list