[RC5] Re: Needing testers (Mac OS X/G5)

Elektron elektron_rc5 at yahoo.ca
Tue Aug 10 23:57:34 EDT 2004

On 11 Aug, 2004, at 05:16, Slawek wrote:

> There are obviously situations which will always work slower because of
> distributed.net client.
> For example:
> 1. background threads (zeroing freed memory, garbage collection) need 
> to
> fight for CPU with distributed.net

I think it's not 'fighting' for CPU time. If the background process is 
using very little CPU time and suddenly wants some, it'll get it 
(compared with a process that has been hogging the CPU all the time). 
Or so.

> 2. threads requiring much cache memory (cache would be taken by d.net 
> client
> whenever application's thread goes idle waiting for HDD or network or
> something)

Very little cache would be taken by dnetc, because most things are in 
registers anyway, and dnetc doesn't need much memory anyway (S[26], 
L[3], 11 in RC5_72UnitWork, and 1 for *iterations is only 41 longs, or 
164 bytes, which is 0.5% of a 32K cache).

> 3. systems which throttle CPU clock on overheating (which are designed 
> to do
> that when CPU is used in 100%)

I'm not sure if the CPU does that (PowerBooks *may*, but usually they 
do this when the CPU usage is low, so there's no penalty of reducing 
the clock speed).

> 4. systems where running multiple CPUs simultanously causes each of the
> processors to work a little bit slower then it works when being the 
> only one
> working at the moment (logical processors with Hyper Threading bring 
> this to
> extreme)

Not really. It's only memory access that needs to be synchronised 
properly, like memory access (so when one CPU writes to memory, it 
signals the other CPU to drop it from the cache). But since 
everything's in registers, it doesn't make much of a difference.

HyperThreading is slower because the two threads have to share the same 
functional units (e.g. integer, floating point, etc).


More information about the rc5 mailing list