Efficient Communication for Parallel Programs on MPPs and NOWs
				   
			   David E. Culler
		      Computer Science Division
		  University of California, Berkeley

In this talk, I will describe aspects of two major research efforts at
Berkeley aimed at developing the components of a serious,
cost-effective parallel computing infrastructure.  The first, called
Castle, is a broad effort to build high-performance,
vendor-independent parallel software tools.  Castle is built as a
collection of well engineered layers, each forming a complete
programming system utilizing the layers below.  At the bottom is an
efficient and versatile communication layer, called Active Messages,
carefully tuned to the communication hardware.  On the CM-5, the
communication overhead for an active messages is 3.3us combined for
sender and receiver.  The next layer includes a parallel extension to
C, called Split-C, provides a structured, global memory programming
model on this substrate.  Higher layers provide dynamic scheduling,
sophisticated distributed objects, powerful numeric support, and
higher level languages.

The second project, called NOW, is a focused effort to make networks
of workstations as effective at parallel computing as current MPPs,
while retaining the cost advantages and growth rates of the
workstation market.  The major thrusts are hardware support for active
messages in the network interface and development of a coherent global
operating systems layer, which operates by manipulating essentially
off-the-shelf local systems.  The intended scale is a few hundred
machines distributed across a single building.