On 15 May 2001, at 22:46, Ken Kriesel wrote:

> Among others, I raised the question with George Woltman some time ago.
> I trust his judgment that his time is better spent elsewhere.

Agreed!
> 
> However, I wonder if there might be some possibilities in trial factoring
> there.
> That would present the possibility of a factoring screensaver, and an FPU
> LLtest, running together on what is nominally a uniprocessor.
> 
> Just speculation,

Nice idea (using the fact that trial factoring & screensaver would be 
almost pure integer work, whereas LL testing is almost pure FP) but 
with practical difficulties.

(1) To get any benefit, you're going to have to bind all that 
functionality into one thread - because if you are running more than 
one thread, the OS will schedule the threads independently, throwing 
away any benefit which might be gained by parallelism.

(2) I think there would be serious difficulties in coordinating code 
between LL testing (time per iteration almost constant, of the order 
of tens of millions of CPU cycles) & trial factoring (time per 
candidate very variable, and of the order of hundreds of CPU cycles). 
I've no idea at all as to how you would usefully squeeze in a 
screensaver too, but I do think that the code coordination neccessary 
to parallelize tasks in a single process thread would be very hard to 
achieve.

(3) Though trial factoring places almost no load on the system memory 
bus or the floating-point execution units, there are other potential 
bottlenecks within the CPU - in particular, the L1 instruction cache, 
instruction decoders, instruction pipelines, jump prediction tables & 
"spare" registers (required for out-of-order execution) - which may 
well limit severely the amount of  factoring work which could be done 
in parallel with LL testing, without inflicting a significant 
performance penalty on LL testing. 

Given that trial factoring is well advanced, implementing a scheme 
which increases the trial factoring throughput of the project as a 
whole at the expense of LL testing throughput does not seem to be a 
good idea.

However, if anyone can provide the functionality that Ken suggests 
without impacting LL testing performance noticeably, I'll be just as 
grateful as everyone else!


Regards
Brian Beesley
_________________________________________________________________________
Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ      -- http://www.tasam.com/~lrwiman/FAQ-mers

Reply via email to