Nothing Special   »   [go: up one dir, main page]

skip to main content
An Implementation of Mermera: A Shared Memory System that Mixes Coherence with Non-coherenceJune 1993
1993 Technical Report
Publisher:
  • Boston University
  • Office of Information Technology 111 Cummington St. Boston, MA
  • United States
Published:01 June 1993
Reflects downloads up to 29 Nov 2024Bibliometrics
Skip Abstract Section
Abstract

Abstract Coherent shared memory is a convenient, but inefficient, method of inter-process communication for parallel programs. By contrast, message passing can be less convenient, but more efficient. To get the benefits of both models, several non-coherent memory behaviors have recently been proposed in the literature. We present an implementation of Mermera, a shared memory system that supports both coherent and non-coherent behaviors in a manner that enables programmers to mix multiple behaviors in the same program~\cite{HeddayaS93}. A programmer can debug a Mermera program using coherent memory, and then improve its performance by selectively reducing the level of coherence in the parts that are critical to performance. Mermera permits a trade-off of coherence for performance. We analyze this trade-off through measurements of our implementation, and by an example that illustrates the style of programming needed to exploit non-coherence. We find that, even on a small network of workstations, the performance advantage of non-coherence is compelling. Raw non-coherent memory operations perform 20-40~times better than non-coherent memory operations. An example aplication program is shown to run 5-11~times faster when permitted to exploit non-coherence. We conclude by commenting on our use of the Isis Toolkit of multicast protocols in implementing Mermera.

Contributors
  • Boston University
Please enable JavaScript to view thecomments powered by Disqus.

Recommendations