On Synchronization Patterns in Parallel Programs.

Jean-Loup Baer, Richard N. Zucker · 1991

Efficient synchronization is a key element in obtaining good speed-up from parallel programs. The overhead introduced by synchronization, especially lock manipulation, can sometimes remove any benefit from parallelizing programs. Techniques to efficiently obtain locks under high contention have been studied in the literature using artificial programs. We consider the impact of these techniques in a more realistic framework using a sample of real parallel programs running on a shared-bus multiprocessor system. Cycles lost to lock contention and the number of processors waiting to acquire a lock are the two principal metrics that we use. Trace-driven simulation experiments are performed for sequentially consistent and weakly consistent architectural models. 1 Introduction Shared-memory multiprocessors have become much more prevalent in recent years. There are several commercially available systems with multiple CPU's such as those produced by Sequent, Encore, Silicon Graphics and Alliant...

Read the paper · More papers on PaperTik