Title :
Tight Bounds for Critical Sections in Processor Consistent Platforms
Author :
Higham, Lisa ; Kawash, Jalal
Author_Institution :
Dept. of Comput. Sci., Calgary Univ., Alta.
Abstract :
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 n processes must use at least one multiwriter variable and n 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 n-process algorithm for mutual exclusion that is correct for PC-G and achieves the bound for any n. While Peterson´s algorithm is fair, this extension to arbitrary n 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
Keywords :
concurrency theory; storage management; Peterson mutual exclusion algorithm; concurrency; memory consistency model; multiwriter variable; processor consistency-Goodman version; sequential consistency model; single-writer variable; Algorithm design and analysis; Coherence; Computer science; Concurrent computing; Helium; Java; Process design; Random access memory; Read-write memory; Memory consistency models; multiwriter/single-writer variables.; mutual exclusion; processor consistency;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2006.146