Split-C and Active Messages

			   David E. Culler
		      Computer Science Division
			    U.C. Berkeley


The first part of this talk will present Split-C, a simple parallel
extension to C for engineering parallel programs on distributed memory
machines.  Split-C provides the programmer with a global address
space, yet maintains a clear cost model and a distinction between
local and global access.  This allows sophisticated global data
structures to be represented explicitly in the program, rather than
being implicit in the communication pattern.  It provides a simple
framework in which to minimize the number of remote references and
retains the ability to run highly-tuned sequential code within a
processors local portion of the address space.  The language provides
an unusual set of assignment operators to allow communication to be
optimized.  These capture important advantages of message passing and
data parallel execution that traditional shared memory models forsake
and further blur the distinctions between these models.  Split-C is
one of several parallel languages implemented on top of Active
Messages.

The second part of the talk will discuss Active Messages, a fast,
flexible communication primitive, and their implementation on the
nCUBE and the CM-5.  This should lead to an interesting discussion
on the capabilities of Paragon under such a communication model.