Report Number: CSL-TR-94-623
Institution: Stanford University, Computer Systems Laboratory
Title: Communication Mechanisms in Shared Memory Multiprocessors
Author: Byrd, Gregory T.
Author: Delagi, Bruce A.
Author: Flynn, Michael J.
Date: May 1994
Abstract: Shared memory systems generally support consumer-initiated
communication; when a process needs data, it is retrieved
from the global memory. Systems that were designed around the
message passing model, on the other hand, support
producer-initiated communication mechanisms; the producer of
data sends it directly to the other processes that require
it. Parallel applications require both kinds of
In this paper, we examine the performance of five
shared-memory communication mechanisms -- invalidate-based
cache coherence, prefetch, locks, deliver, and StreamLine --
to determine the effectiveness of architectural support for
efficient producer-initiated communication. We find that
StreamLine, a cached-based message passing mechanism, offers
the best performance on our simulated benchmarks. In
addition, StreamLine is much less sensitive to system
parameters such as cache line size and network performance.