ian@loral.UUCP (Ian Kaplan) (12/05/84)
I have read a few brief articles and some of Convex's marketing
literature. The Convex computer is supposed to be a
mini-supercomputer. Like the Cray machines, Convex has parallel vector
units (a vector add-subtract unit, a vector multiply-divide unit and a
vector unit which performs loads, stores and vector edits). As far as I
can tell the vector units are 128 elements in lenght and each element can
be a 32 or 64 bit number. The Convex literature states that they can
perform a vector operation on a vector of 64 bit floating point elements
in 100nsec. I assume that they mean that they can do divides in this
time.
Convex claims that their peak performance is 60 MFLOPS. This level of
performance is achieved when all three of the parallel vector units are
busy at the same time. Performance like this is rarely achieved
outside of hand coded assembly routines. Although Convex claims that
their FORTRAN compiler "fully utilizes the architectural capabilities
of the Convex hardware", this seems somewhat doubtful. Compilers on the
Cray are usually only able to get about 80 MFLOPS out of the available
200 MFLOPS.
The idea that you can take an average FORTRAN program and get a lot of
performance via vectorization seems ill considered. (Convex implies that
a VAX FORTRAN program will run much faster when moved to a Convex
system.) FORTRAN classically has a lot of execution dependancies which
make the detection of parallelism difficult. Only when a FORTRAN program
is carefully written for a vector architecture can the available speed
of the machine be truly utilized.
Another thing to consider when evaluating vector systems is that there
are usually a lot of scalar operations (i.e., register moves, jumps,
compares etc...) between vector instructions. Much of the Cray's
performance comes not from its parallel vector units, but from its fast
scalar performance. A colleague once commented to me a study done at his
lab suggested that if the speed of the Cray vector processors was made
infinite (a vector operation took no time), the speed of the machine,
for most applications, would increase by at most a few times. The
"deeper meaning" of this seems to be that there must be some ratio
between the speed of the scalar processor and its associated vector
units.
As I stated at the outset, I don't know that much about the Convex
system. I hope that this note will stimulate some discussion regarding
this new machine. I hope that my colleagues out there in net land
(perhaps some from Convex) will correct any factual errors I have made
regarding the Convex system.
Disclaimers and all that
Cray is probably a trademark of Cray Research
VAX is a trademark of Digital Equipment Corp.
Convex is probably a trademark of Convex Computers
The opinions expressed here are not necessarily shared by the authors
employers.
Ian Kaplan
Loral Data Flow Group
Loral Instrumentation
ucbvax!sdcsvax!sdcc6!loral!ian
8401 Aero Dr.
San Diego, CA
92123
(619) 560-5888 x4812