The Community for Technology Leaders
Green Image
<p><b>Abstract</b>—Most weak memory consistency models are incapable of supporting a solution to mutual exclusion using only read and write operations to shared variables. Processor Consistency-Goodman's version (PC-G) is an exception. Ahamad et al. showed that Peterson's mutual exclusion algorithm is correct for PC-G, but Lamport's bakery algorithm is not. This paper derives a lower bound on the number of and type of (single or multiwriter) variables that a mutual exclusion algorithm must use in order to be correct for PC-G. Specifically, any such solution for <tmath>n</tmath> processes must use at least one multiwriter variable and <tmath>n</tmath> single-writer variables. Peterson's algorithm for two processes uses one multiwriter and two single-writer variables, and therefore establishes that this bound is tight for two processes. This paper presents a new <tmath>n{\hbox{-}}{\rm{process}}</tmath> algorithm for mutual exclusion that is correct for PC-G and achieves the bound for any <tmath>n</tmath>. While Peterson's algorithm is fair, this extension to arbitrary <tmath>n</tmath> is not fair. Six known algorithms that use the same number and type of variables are shown to fail to guarantee mutual exclusion when the memory consistency model is only PC-G, as opposed to the Sequential Consistency model for which they were designed. A corollary of our investigation is that, in contrast to Sequential Consistency, multiwriter variables cannot be implemented from single-writer variables in a PC-G system.</p>
Memory consistency models, mutual exclusion, processor consistency, multiwriter/single-writer variables.

L. Higham and J. Kawash, "Tight Bounds for Critical Sections in Processor Consistent Platforms," in IEEE Transactions on Parallel & Distributed Systems, vol. 17, no. , pp. 1072-1083, 2006.
91 ms
(Ver 3.3 (11022016))