what is a flop

Jim Lux James.P.Lux at jpl.nasa.gov
Tue Jun 17 16:41:47 EDT 2003

FLOPS and the related MIPS are attempts to quantify the amount of
computational work being done.  FLOPS = Floating Point Operations per
second, MIPS = Million Instructions per Second.  The real problem with such
measures is that they work fine for a classic, non-pipelined, one
instruction per clock kind of processor.  However, if a multiply takes 100
times as long as an add, how do you count up the ops? How do you count speed
on a processor where the number of instructions per second is highly
dependent on the sequence of instructions (virtually any modern pipelined
processor) or on cache hits/misses.  Even the venerable Z80 and 8080
microprocessors have variable numbers of clocks required for instructions
(conditional jumps taking one of two different lengths of time).  Only on
processors designed for "lockstep" processing (like a lot of DSP cores) is
the instruction rate reasonably constant (and there, things like interrupts
can screw up the timing... a real problem if your code has to service an i/o
device every N clocks, regardless)

The best you can do with such simple measures is look at the time required
to execute some fairly well defined mathematical operation, with a fairly
well defined number and kind of operations required.. A floating point FFT
with no fancy tricks might be a good example.  The number of multiplies and
adds is well known, and independent of the data being transformed.  FFT
performance compared with some other algorithm can tell you something about
the caching and pipeline performance.

As many will tell you, the true measure of performance is how fast it goes
with YOUR application...

----- Original Message -----
From: Saurav Gohain
To: beowulf at beowulf.org
Sent: Tuesday, June 17, 2003 3:32 AM
Subject: what is a flop

Dear Sir/Friends
I am new to cluster and hence asking this question ( may be a silly one for
u all).
In super computers and cluster, I find Peak Performance rated as TFLOPs,
GFLOP's etc.
Now, the question is what is a flop.

>From a beowulf pdf tutorial, i came to know that it is calculated as
Total Peak Performance= No of Nodes * No of CPU's * Floating point
operations per second * No of Cycles per second.

Although, the first two and the last is easily derivable, what about the
third one.
I checked the specs of Opetron and P4 but there's isn't any mention about
the Flops.

How will i derive then ?

In a comparison graph in Intel's website, I found a term SPEC*fp2000
Now this ratings are like 2.4 , 3.4 etc.
Is it the number that I should input in the above formula to calculate the
total peak performance in flops about a cluster.

Kindly let me know the facts...

Beowulf mailing list, Beowulf at beowulf.org
To change your subscription (digest mode or unsubscribe) visit http://www.beowulf.org/mailman/listinfo/beowulf

More information about the Beowulf mailing list