![]() |
|
|
#1 |
|
Dec 2003
23·33 Posts |
What are the relative speeds of different types of CPU/cache/memory combinations on different types of work?
o What is the maximum amount of memory that will be used on stage 2 of P-1 on different CPUs and ranges? o At what cahce sizes do different FFT sizes "break down" and hit the memory access bottleneck? o How many cycles do each kind of CPU use on each iteration of - factoring (to how many bits?) - LL testing (different FFTs) - P-1 testing (both stages) My .ini files are genreated automatically based on information about CPU and memory, and I would like each machine to be as productive as possible. Time is not a major problem, as I back up all changed files every second hour and complete the work on another machine if the first one breaks down. Memory use is not a problem either, since I shut down mprime when a user logs on. (I don't know how to do this on Windows machines, so I use them for factoring only.) Are there plans to implement smarter work distribution in the next version of the server? I.e. if P4s are very effective for factoring up to 64 bits, but less effective to 65 bits, then P4s used for factoring should return their exponent to the server at 64 bits and get a new one, while the first is sent to a PIII or earlier for factoring to 65 bits or above. |
|
|
|
|
|
#2 |
|
Sep 2002
2×331 Posts |
For trial factoring:
P4s are very slow at 64 bits and below but very quick at 65 and higher (SSE2 used instead of FPU). For 64 bits and below, at the same clock speed 1 Ghz, Athlon is considerably faster, PIII somewhat faster and the P4 extremely slow. A P4 at a sufficiently high clock speed will still be OK because alot of the time is spent at 65 bits and above using the SSE2 instructions. |
|
|
|
|
|
#3 |
|
Jun 2003
22218 Posts |
LL testing, Doublechecking, and P-1 are all basically the same kind of work, i.e., they use the FP FFT transform to do huge multiplications. A processor which is good at one of them will be equally good at the others. Trial Factoring uses only integer arithmetic, except on P4s and recent Celerons, which use FP arithmetic (in a completely different way from FFT) over 64 bits.
P4s and recent Celerons are best at FFT work. They're OK for trial factoring above 64 bits, lousy below 64 bits. Athlons and Durons and P3s are OK at everything. Older processors are best at trial factoring. A reasonable amount of cache is important for FFT work. Not sure how important it is for TF. Large amounts of memory are used only during stage 2 of P-1. How much is actually used will depend upon the exponant, and the amount you make available. Quite a complex algorithm is used to decide how much to use. Basically if the optimal amount is larger than the available amount (Very likely, because the optimal amount is it the GBs for exponants currently being tested) then it repeatedly decrements the amount until it fits. The amount by which it decrements is very large - tens or even hundreds of MBs. Also, the client is programmed not to go right up to the limit you set. The upshot of all this is that it will use quite a bit less than you allow. |
|
|
|
|
|
#4 | ||
|
"Richard B. Woods"
Aug 2002
Wisconsin USA
22×3×641 Posts |
Quote:
Prime95 takes the L1 cache size into account and structures its memory accesses to maximize throughput accordingly. That is, if L1 cache size is 8KB then Prime95 will completely process an 8KB slice of the FFT before it processes the next 8KB slice of the FFT. Furthermore, it "touches" blocks of memory ahead of when it will perform arithmetic on their contents, so that those blocks will be prefetched into cache while Prime95 is processing something else. So in this regard Prime95 already optimizes memory accesses, and FFT size doesn't matter much to that. (And everything above about Prime95 also applies to mprime.) Quote:
Last fiddled with by cheesehead on 2004-04-19 at 05:19 |
||
|
|
|
|
|
#5 | |
|
"Richard B. Woods"
Aug 2002
Wisconsin USA
22·3·641 Posts |
Quote:
|
|
|
|
|
|
|
#6 | |
|
Dec 2003
23·33 Posts |
Quote:
Progressive reporting of factoring is practically done already, and less work would have to be repeated. When progressive reporting is implemented, it would be a simple task to put the exponent back in line after factoring to a certain limit. Similar could be done with stages 1 and 2 of P-1 factoring. Many expoments will never get a stage 2 run. I have a few fast machines with GBs of memory dedicated to P-1 factoring, and it would be best if I could get P-1 stage 2 work directly from the server. For now I allocate lots of work with SequentialWorkToDo=0 and move the Test= lines to machines with less memory when P-1 is done. The simple task is to divide P-1 factoring and trial factoring into two different work types, stages 1 and 2 and <64 bit and >64 bit, and let mprime choose the work somewhat intelligently. |
|
|
|
|
|
|
#7 |
|
Aug 2002
Texas
9B16 Posts |
If you have a concern about partial factoring, you know you can manipulate primenet to perform factoring up to whatever bit depth you desire and then dump the results back to the server. After a while a script comes behind the returned work that becomes "stuck" and puts the exponents back on the market at the new bit depth.
|
|
|
|
|
|
#8 | ||
|
"Richard B. Woods"
Aug 2002
Wisconsin USA
22×3×641 Posts |
Quote:
What I was referring to was the deliberate splitting-up of assignments even though the machine was fully capable of completing the entire un-split factoring range. Your proposal refers, in effect, to an unplanned splitting of an assignment (though once it's implemented, it could also be used with deliberate intent). Quote:
|
||
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| What do the different types of work each mean? | jrafanelli | Information & Answers | 20 | 2019-02-01 05:27 |
| New work types | Unregistered | Information & Answers | 0 | 2011-07-25 10:19 |
| Work Types | Unregistered | Information & Answers | 3 | 2010-07-28 09:54 |
| v5 work types | S00113 | PrimeNet | 14 | 2008-12-10 00:26 |
| Two different P-1 types of work in worktodo.ini | eepiccolo | Software | 1 | 2003-04-30 19:54 |