Scalability of Atomic Primitives on Distributed Shared Memory Multiprocessors

Maged M. Michael, Michael Lee Scott · 1994

Many hardware primitives have been proposed for synchronization and atomic memory update on shared-memory multiprocessors. In this paper, we focus on generalpurpose primitives that have proven popular on small-scale bus-based machines, but have yet to become widely available on large-scale, distributed-memory machines. Specifically, we propose several alternative implementations of fetch and \\Phi, compare and - swap, and load linked/store conditional. We then analyze the performance of these implementations for various data sharing patterns, in both real and synthetic applications. Our results indicate that good overall performance can be obtained by implementing compare and swap in a multiprocessor's cache controllers, and by providing an additional instruction to load an exclusive copy of a line. Keywords: synchronization, scalability, fetch-and-\\Phi, compare-and-swap, load-linked, storeconditional, cache coherence 1 Introduction Distributed shared memory multiprocessors combine t...

Read the paper · More papers on PaperTik