[comp.hypercube] Info on Connection Machine wanted

jordan@unix.cis.pitt.edu (Kenneth D Jordan) (01/08/91)

I have certain applications which can benefit substantially from
being parallelized, and I can have access to a relatively new
Connection machine.  Before I start (or decide on how my time
is best spent), I was hoping that someone with experience on a
Connection Machine could answer the following questions (in
no particular order):

    1.	How well does it perform floating point computations?
	I have been led to believe that the earlier models were
	rather poor in this respect, but that newer modess are
	much more proficient.  How's the instruction set?  How
	about matrix operations?

    2.	How tightly coupled are the processors?  How much overhead
	is involved in getting data from one processor to another?

    3.	How's the operating system?  UNIX-like?  Mature?

    4.	How about high level language support?  Concurrent C?  Ada?
	Fortran?  Parallel Prolog? 

    5.	If there is high level language support, how are the debuggers?

--------------------------------------------------------------------------------
Nick Nystrom
Chemistry Department
University of Pittsburgh
nystrom@a.psc.edu
--------------------------------------------------------------------------------

scp@acl.lanl.gov (Stephen C. Pope) (01/08/91)

on 7 Jan 91 20:34:43 GMT,
jordan@unix.cis.pitt.edu (Kenneth D Jordan) said:

Nick> I have certain applications which can benefit substantially from
Nick> being parallelized, and I can have access to a relatively new
Nick> Connection machine.  Before I start (or decide on how my time
Nick> is best spent), I was hoping that someone with experience on a
Nick> Connection Machine could answer the following questions (in
Nick> no particular order):

Nick>     1.	How well does it perform floating point computations?
Nick> 	I have been led to believe that the earlier models were
Nick> 	rather poor in this respect, but that newer modess are
Nick> 	much more proficient.  How's the instruction set?  How
Nick> 	about matrix operations?

``relatively new'' is not a very clear term.  The issues are physical
size (8k, 16k, 32k, 64k), memory size (bits/processor), and whether it
has 32 or 64 bit FP chips (or none at all!).  Somewhat less important
is what type of host is front-ending the CM.

It's important to remember that the CM was not originally built as a
floating point machine (but rather for symbolic processing).  It's
found a new identity as an FP machine for scientific codes only rather
lately.  And it's getting to be a rather formidable beast of that
type.  We've got BIG Crays and BIG CMs here, and (modulo the nature of
the code) the CM crunches like no other... (of course my employer most
certainly would not officially endorse such an opinion ;-)

What instruction set?  With the new class of languages that TMC is
delivering, you needn't even think of such things unless you really
like to, and want to squander your funding squeezing out every last
drop.

for matrix operations: if you're talking about add/subtract of dense
(or well-structured) matrices, its built in at so low a level you
don't want to know.  For things like tridiag solvers, FFTs, etc,
there's the CM Scientific Subroutine Library which has interfaces
to your favorite CM languages.

Nick>     2.	How tightly coupled are the processors?  How much overhead
Nick> 	is involved in getting data from one processor to another?

Depends.  I highly recommend that you read some of the technical
literature, which will answer your questions in gory detail.

Nick>     3.	How's the operating system?  UNIX-like?  Mature?

See above.  The CM itself has no OS as you'd like to think of it.
It's really a very expensive attached processor to a Sun or Vax
front end.

Nick>     4.	How about high level language support?  Concurrent C?  Ada?
Nick> 	Fortran?  Parallel Prolog? 

StarLisp (data-parallel lisp), CM Fortran (a Fortran90 look-almost-alike),
C-Star (a data-parallel superset of C), and C, Fortran, and Lisp bindings
for Paris, one of the abstract ways of viewing the machine.  There's
even stuff (not from TMC) for doing C++.

Nick>     5.	If there is high level language support, how are the debuggers?

Debuggers are never as good as they could be, but because its a SIMD
machine, they're a lot more useful than many of their MIMD-based
counterparts ;-)


Many of your questions are ones you would ask of a distributed memory
multicomputer; the CM is a *much* different beast.  A little reading
can go a long way!

stephen pope
advanced computing lab
los alamos national laboratory
scp@acl.lanl.gov