Active Messages: a fast, universal communication mechanism
				   
			   David E. Culler
		  Computer Science Division --- EECS
	     University of California, Berkeley, CA 94720
			culler@cs.berkeley.edu
				   
Multiprocessor architectures are traditionally divided into three
categories based on their intended programming model: shared memory,
message passing, and ``novel''.  The last is a euphemism for dataflow,
reduction, and the like.  However, careful study reveals that the
implementations of these apparently diverse architectures are
surprisingly similar.  Active Messages is a simple communication
primitive that captures this common element.  The implementation of
Active Messages on current message passing machines (CM-5 and nCUBE/2)
is an order of magnitude faster than the send/receive model for which
the machines were designed.  The universality of the mechanism has
been demonstrated by realizations of shared memory, message passing,
and dataflow models on the same machine.  In addition, a variety of
hybrid models have been developed, including a split-phase global
memory extension to C, called Split-C.  The goal of this work is to
define better architectural primitives for communication, rather than
to build new abstractions on top of existing inefficient primitives.
In this talk, I will describe Active Messages, the implementation on
the CM-5 and nCUBE, and some of the programming models built on top.