J. Heinlein et al., INTEGRATION OF MESSAGE-PASSING AND SHARED-MEMORY IN THE STANFORD FLASH MULTIPROCESSOR, ACM SIGPLAN NOTICES, 29(11), 1994, pp. 38-50
The advantages of using message passing over shared memory for certain
types of communication and synchronization have provided an incentive
to integrate both models within a single architecture. A key goal of
the FLASH (FLexible Architecture for SHared memory) project at Stanfor
d is to achieve the integration while maintaining a simple and efficie
nt design. This paper presents the hardware and software mechanisms in
FLASH to support various message passing protocols. We achieve low ov
erhead message passing by delegating protocol functionality to the pro
grammable node controllers in FLASH and by providing direct user-level
access to this messaging subsystem. In contrast to most earlier work,
we provide an integrated solution that handles the interaction of the
messaging protocols with virtual memory, protected multiprogramming,
and cache coherence. Detailed simulation studies indicate that this sy
stem can sustain message-transfers rates of several hundred megabytes
per second, effectively utilizing projected network bandwidths for nex
t generation multiprocessors.