Subject: Speed-up

From: [email-masked] (Charles Grassl)
Date: Wed, 16 Jun 93 16:55:22 CDT

Use of measured speed-up
========================

Is speed-up useful for purposes other than comparing computers?  Most
of us believe that speed-up should not be directly used for comparing
computers.  For what do computers users, programmers, vendors and
designers use speed-up?

Speed-up is an observable.  We cannot deny the fact that we can measure
"speed-up" however it is defined.  Speed-up by itself is not a very
useful parameter.  We see from our current discussions that there are
many ways to "define" the observable which we call speed-up.  The
different ways to define and treat speed-up appear to be addressing the
phenomena of efficiency and scalability.  We should just say what we
are trying to derive.

Speed-up is related to both scalability and to efficiency.  Scalability
and efficiency are not directly measurable.  Rather, they are usually
derived from other measured quantities.  Scalability and efficiency are
at times, but not necessarily, independent.  This is a big problem for
us:  for some experiments we are deriving efficiency from measured
speed-up and for other experiments we are deriving scalability from
measured speed-up.

Scalability has been demonstrated, but only for specific cases of
specific applications and for specific computers.  It appears that each
and every application will scale differently and this scalability is
linked to the underlying computer architecture.  Perhaps there are so
many variables associated with scaling an application and a computer
that generalizing this concept is not useful.

Efficiency is relatively easy to define for a specific application and
computer, though measurement or derivation is difficult.  I believe
that it can even be generalized.  Measurement of speed-up alone does
not always allow the user to derive an efficiency.  Other factors
involved are, for example, amount (percentage) of parallelism, level of
vectorization, level of blocking or localization, relative speeds of
different computer parts, computer configuration, data configuration,
etc.

For simple parallel processing experiments, speed-up is one of the
measurables which allows us to calculate the efficiency.  But speed-up
by itself does not allow us to calculate efficiency.  For a fixed sized
problem, Amdahl's Law regulates a maximum speed-up.  And Amdahl's Law
is based on TIME spent in sequential versus parallel sections.  These
relative times are related to non-constant speeds in different regions
of a program.  To compute an efficiency, we require a measured speed-up
and an Amdahl's Law parameter.  Also, the "speed" used in sequential
regions and parallel regions must be monitors or regulated.

SUMMARY
Speed-up is the observable which allows the derivation of efficiency.
This efficiency is not directly comparable between different computers
or applications.

Charles Grassl
Cray Research, Inc.
Eagan, Minnesota USA