Techniques for reducing overheads of shared-memory multiprocessing

Alain Kägi, Nagi Aboulenein, Douglas C. Burger, James R. Goodman · 1995

The jine-grain nature of shared-memory multiprocessor communication introduces overheads that can be substantial.Using the Scalable Coherent Inte~ace (SCI) as a base hardware platform and the SPLASH benchmark suite for applications, we analyze three techniques to reduce this overhead: (i) ejicient synchronization primitives, and in particular a hardware primitive called QOLB; (ii) weakened memory ordering constraints; and (iii) optimization of the cache-coherence protocol for two nodes sharing data.We per-jorrn simulations both for current technology and technology that we anticipate will be available jive years hence.We find that QOLB (of which this study perjorms thejirst detailed simulations)shows a large and consistent improvement, much larger than that predicted by Mellor-Crummey and Scott [19].The relaxation of memory ordering constraints also provides a consistent performance improvement.In accordance with prior results, we show that a more aggressive memory model produces more substantial performance improvements.The optimization for twonode sharing shows mixed results, correlating unsurprisingly with the presence of that sharing pattern in an application.Our most important results are (i) that the overheads eliminated with these optimization are largely orthogonal-the peiforrnance gains from supporting multiple optimization concurrently are for the most part additive-and(ii) that technological improvements increase both these overheads and the success of the optimization at reducing them.

Read the paper · More papers on PaperTik