Thread: Open Discussion
View Single Post
Old 2007-04-05, 14:47   #1
R.D. Silverman
R.D. Silverman's Avatar
Nov 2003

22·5·373 Posts
Default Open Discussion

I would like to open a discussion concerning how best to utilize multi-core
processors to run NFS.

It seems as if cache-contention would be a major constraint against simply
running multiple instances (i.e. give a separate special-q to each core and
let it proceed independently). It might be the case that e.g. running 4
separate instances on a quad core might actually have lower total throughput
than a single core (or 2 cores) owing to cache and bus contention.

An alternative approach would be to give separate parts of the computation
to different cores; while one core is sieving, another core could be computing
the sieve start points and sieve boundary for the next special q to be
processed. Also, once sieving is finished, we could let separate cores
do the trial division on separate candidate smooth values. etc. Will this
approach be better than running multiple copies?

If someone has access to a Windows based multi-core system, I can provide
code and data to perform benchmarks with respect to running multiple
instances. It would be nice to get a feel for how these processors will
R.D. Silverman is offline