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

Reply via email to