Issue No. 12 - December (2009 vol. 20)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TPDS.2009.28
Sheng-Hsiung Chen , SpringSoft Inc., Hsin-Chu
Ting-Lu Huang , National Chaio Tung University, Hsin-Chu
A mutual exclusion mechanism that is both fair and space efficient can be highly valuable for shared memory systems under time and memory constraints such as embedded real-time systems. Several algorithms that utilize only one shared variable and guarantee a certain level of fairness have been proposed. However, these use hypothetical read-modify-write operations that have never been implemented in any system. This paper presents two fair algorithms that do not use such operations, each of which uses a single additional shared variable. The proposed algorithms employ commonly available operations, fetch&store and read/write, on two shared variables. The first algorithm satisfies the bounded-bypass condition. The second is an improvement on the first that satisfies the FIFO condition, which is the most stringent fairness condition. Additionally, it is shown that achieving the bounded-bypass condition using the same set of operations requires two shared variables. Both of the algorithms are thus optimal with respect to the number of shared variables.
Mutual exclusion, shared memory systems, space complexity, fetch&store, swap, bounded bypassing, FIFO.
S. Chen and T. Huang, "Bounded-Bypass Mutual Exclusion with Minimum Number of Registers," in IEEE Transactions on Parallel & Distributed Systems, vol. 20, no. , pp. 1726-1737, 2009.