2008-11-04, 17:08 | #1 |
Oct 2008
3^{2} Posts |
CPU Credit Accuracy
I've been doing some calculations, and it appears to me that a "GHz-day" is not always a GHz-day. Let me explain.
I know that complex technical issues are involved between the different types of testing (P-1, ECM, LL, trial factoring), compounded by for example using a Quad-core CPU (as I am) and seeing a slow-down when two memory-intensive tests such as P-1 factoring try to share the same memory. I made sure, prior to making my calculations, that this memory-sharing issue was not a problem, by running only one P-1 test by itself along with trial factoring on the other 3 CPUs. The result is that for a 33-hour calculation (P-1 factoring attempt in the 46M range) I received 2.87858 GHz-days worth of credit, which works out at 2.1GHz-days per 24 hours that the computer is on. For a 2^68 factoring attempt in the 58M range, which is completed in 16640s, I receive 0.51GHz-days' credit, so 2.65GHz-days per 24 hours (per core.) The exact same result (2.65) is found when calculating for 2^66 factoring. Similarly for LL double-checking, I am significantly less than 2.65GHz-days/day credit. That's a big difference: 2.1 vs. 2.65 -- 25% more. For those who are going after credits, what motivation is there to do P-1 factoring when you get 25% more credit for simple trial factoring? I know this is a complicated subject, involving instruction timings, memory conflicts, processor types etc. etc. But what is a "GHz-day" anyway? I can't seem to locate a concrete definition. How is it obtained? By timing calculations on a specific machine (hopefully not a P90!)? By precisely adding up assembler instruction timings for Intel and AMD CPUs? By counting the number of floating-point operations required for a specific calculation? A rough guesstimate? Whatever it is, my machine seems to churn out either 8 or 10 GHz-days per day, depending on whether it is doing P-1 factoring or trial factoring... and that's a BIG difference. LL comes out somewhere in between. I could understand if the CPU credits were just a 'bit' off, say 2.6 vs. 2.63, but 2.10 vs. 2.65? Can anything be done to fix these differences and motivate me to do more P-1 and LL testing? I know that 'credits' are not the aim of this project but, just like any competition, it does keep people interested and it does keep CPUs switched on longer and in greater numbers. Another interesting thing is that I get less credit (2.41GHz-days/day) for factoring to 2^64 compared to 2^65/66/67/68/69 (2.65GHz-days/day). This may be explained by the fact that my machine takes 71.7s per 10000 iterations of 2^64 testing compared to 64.9s on 2^65 factoring and above. But why does it take LONGER to divide by 64 bits than 65+ bits??! If the 65+-bit algorithm is faster than the 64-bit algorithm, then perhaps it should be used all the time? For now, my (perhaps ill-informed) advice to those wishing to maximize their PrimeNet rank is to stick to trial factoring above 2^64! |
2008-11-04, 20:26 | #2 |
"Jacob"
Sep 2006
Brussels, Belgium
2×929 Posts |
P-1 factoring used to get one only 0,001 P90 CPU year credit when no factor was found (something like 0,005 GHz Days.) Only when a factor was found did one get some real credit (the credit corresponding to finding a factor by trial factoring at the highest level the exponent was factored, f.i. an exponent unsuccessfully trial factored to 68 bits would earn about 2,3 times the 68 bits credit. An example : finding an 84 bits factor by P-1 for a 42,8M exponent earned 0,262 P90Y or 1,33 GHz day. Finding a 68 bits factor by trial factoring would earn the same credit.)
Now P-1 and TF earn more or less the same credit whether a factor was found or not. It is much more realistic : the CPU time spent is the same. The fact that on YOUR machine TF above 63 bits is more profitable is one thing, on another machine P-1 might be the most credit worthy task, on another one it will be factoring to 63 bits... This is why, in another thread, I proposed to calculate credit based on the mathematical complexity alone, independently of the hardware implementation. But with such a system the differences you pointed out might be bigger because the system would have nothing to do with the computational complexity that depends on the hardware implementation of mathematical functions. A credit system will always be arbitrary, the current system is : - an enormous improvement regarding P-1 credit when no factor is found (at least 250 times more credit earned), - a big improvement regarding unsuccessful trial factoring (I do not remember the calculations I made but something like 1,5 more credit to be earned), - on your machine a loss of credit on LL testing (I do not have reliable numbers for my machines yet, but the loss on my Core2 architecture CPU is less than 10 % versus TF), -a loss by a factor of 2 for a factor found (the multiplying factor for factor found used to be 2,3), over the previous one. There are already some issues due to the forced transition from PrimeNet V4 to V5 and Prime95 v24 to v25 to fill up the "free" time of the volunteers running this project. Should the credit system be changed once more on top of that ? Jacob |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Accuracy and Precision | davieddy | Math | 0 | 2011-03-14 22:54 |
computer accuracy | lfm | Puzzles | 34 | 2009-11-10 15:41 |
Verify Accuracy of Test | Numbers | PrimeNet | 8 | 2005-07-31 08:16 |
Calculating sieving % accuracy | amcfarlane | Math | 3 | 2005-01-02 19:34 |
Accuracy of our work [k*2^n-1, k<300] | Kosmaj | 15k Search | 87 | 2004-11-13 09:35 |