Problem Decomposition and Communication Tradeoffs in a Shared-Memory Multiprocessor

Conceptually, a tightly-coupled, shared-memory multiprocessor, such as the BBN Butterfly Parallel Processor, can support a model of computation based on either shared memory or message passing. The choice of model affects the decomposition of the problem into parallel processes and the resultant granularity of communication. An architecture, such as the Butterfly, that supports both models offers the programmer a wide range of choices for problem decomposition, each with different performance attributes. This paper describes a series of experiments using Gaussian elimination to evaluate the tradeoffs between shared memory and message passing, over a range of decomposition strategies. Several different implementations are described and their performance is compared. We conclude that the performance of an application depends not only on the efficiency of the underlying communication, but also on the extent to which the underlying model of computation encourages or discourages communication.