Jeff Woods wrote: >Could it be time to change the baseline reference machine away from >the Pentium-90, and wipe the P-90 off of all pages, from rankings to >status to years of computing time left to complete the task?
We discussed this idea on this mailing list five years ago (starting with John R Pierce's 12 Sep 1997 posting in Mersenne Digest #224). I posted a response, "Mersenne: Enhanced Functional Roles for GHz CPUs in GIMPS" (Sun, 14 Sep 1997 in Digest #227), which pointed out (a bit too indirectly :-]) that the choice of reference unit of work was fairly arbitrary. In view of the Moore's-Lawyerly progress of CPU speeds over the past decades, it seems clear that _any_ choice of particular CPU for a reference machine for the purpose of measuring GIMPS progress will soon be considered obsolete or unrealistic by some people. In 1997, those wanting a change were proposing: "... the CPU commonly sold today, the 200MHz P55c (aka Pentium w/ MMX)" and "... it should be updated a little past a P90 to maybe a P133". At that time, Will Edgington noted what's still true: "Changing the 'yardstick' also means all the familiar numbers change and all of the data in the archives and elsewhere is out of date suddenly. It also means changing the code in George's and other programs to match the new method." Will also posed the question: "Further, how often are we going to change it to 'keep up'?" Yes -- how often? Jeff wrote: >I believe that a one-time re-indexing of ranks, stats, and "time left >to compute" that re-indexes on either a P-III/1000 or an Athlon-1000, >would make the "CPU years left" numbers on the status page a bit more >realistic, as well as the number of "CPU years" I complete each day. "One-time"? Only until the Q-IX/33333 is Intel's hot new chip a couple of years from now. If we're going to choose a unit of work that is not made obsolete by the appearance of the Q-IX 33-1/3GHz or its successors on store shelves, then we have to choose a unit that does *not* refer to any particular CPU or speed. (I proposed the unit "megagram-turkey" back in 1997. But it wasn't truly CPU-independent [it was the amount of L-L testing some CPU could do while that CPU's waste heat and microwaves cooked 1000 kg of turkey], and I don't expect GIMPSers to support its adoption now. :-) The "P-90 CPU-year" now in use is equivalent to the amount of L-L testing that a P-90 could accomplish in a year. The PrimeNet page has "Measured in calibrated P5 90Mhz, 32.98 MFLOP units: 25658999 FPO / 0.778s using 256k FFT." So we have that a 256k FFT L-L iteration takes 25658999 floating point operations, and that a P-90 does that in 0.778 second. 86400 seconds/day times 365.25 days per year equals 31557600 sec/year. 25658999 FPO per 0.778 second * 31557600 sec/yr = 1.041 * 10^15 floating point operations per year on a P-90. So ... if we wanted to measure our work in floating-point operations, we might just substitute one quadrillion FPOs (QFPO) for the P-90 CPU-year, requiring only a 4.1% adjustment in the figures. If someone has credit for 400 P-90 CPU-years, just convert that to 416.4 QFPOs. QFPO could be pronounced "ku-fip-po". "Kufippo" even has a nice ring to it. "Hey, I got credit for an extra 16.4 kufippos!" However, the number of floating-point operations needed to L-L test a given Mersenne number on a particular CPU type has been decreasing as GIMPS software has become more efficient. Also, different versions of GIMPS software, used on different types of machines, use differing numbers of floating-point operations (not to mention all-integer FFTs) for a given L-L test. So, what are we _really_ trying to use as the standard unit for comparing L-L testing done on different Mnumbers on different CPUs? Right in front of us all the time -- but with a confusing variability -- the unit we want is: _The CPU work required to L-L test a Mersenne number_. But not all Mersenne numbers are the same ... and each takes a different number of iterations to test. So standardize the Mnumber! Declare one specific Mnumber to be the one whose L-L test effort is the standard unit of work. Which Mnumber would, conveniently, take a P-90 CPU exactly one year to L-L test? Let's go back to that footnote on the PrimeNet page: "Measured in calibrated P5 90Mhz, 32.98 MFLOP units: 25658999 FPO / 0.778s using 256k FFT." If each iteration takes 0.778 seconds, then in a year a P-90 could do 31557600/0.778 = 40562468 iterations. Testing M40562470 would take 40562468 iterations, _but_ would require FFTs longer than 256K. So let's adjust the iteration time for longer FFTs. Right now I don't have figures for P-90 iteration times on FFTs longer than 256k, but Prime95 module mult.asm has figures for PII-400 iteration times on various FFT lengths. The PII-400 iteration time for a 256K FFT is 0.1316. If we assume that the P-90 iteration times vary proportionally (in the ratio 0.778/0.1316) with PII-400 iteration times, we find that M12889999 (640K FFT, 0.372 sec/iter. on PII-400) would take 0.898 P-90 CPU-year, but M12890001 (768K FFT, 0.453 sec/iter. on PII-400) would take 1.094 P-90 CPU-years. There is no Mnumber whose L-L test (with Prime95 V22.7) would take more than 11 months but less than 13 months on a P-90. (* Grrr. *) Oh, what to do, what to do? (to be continued) Richard Woods _________________________________________________________________________ Unsubscribe & list info -- http://www.ndatech.com/mersenne/signup.htm Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers