This Article 
 Bibliographic References 
 Add to: 
Bounded-Bypass Mutual Exclusion with Minimum Number of Registers
December 2009 (vol. 20 no. 12)
pp. 1726-1737
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.

[1] ARM1136JF-S and ARM1136J-S Technical Reference Manual, ARM, Inc., Cores /, 2005.
[2] J.H. Anderson, Y.-J. Kim, and T. Herman, “Shared-Memory Mutual Exclusion: Major Research Trends Since 1986,” Distributed Computing, vol. 16, nos. 2/3, pp. 75-110, Sept. 2003.
[3] J.E. Burns, P. Jackson, N.A. Lynch, M.J. Fischer, and G.L. Peterson, “Data Requirements for Implementation of N-Process Mutual Exclusion Using a Single Shared Variable,” J. ACM, vol. 29, no. 1, pp. 183-205, Jan. 1982.
[4] J.E. Burns and N.A. Lynch, “Bounds on Shared Memory for Mutual Exclusion,” Information and Computation, vol. 107, no. 2, pp. 171-184, Dec. 1993.
[5] S.-H. Chen and T.-L Huang, “A Fair and Space-Efficient Mutual Exclusion,” Proc. 11th Int'l Conf. Parallel and Distributed Systems, pp. 467-473, July 2005.
[6] E.W. Dijkstra, “Solution of a Problem in Concurrent Programming Control,” Comm. ACM, vol. 8, no. 9, p. 569, Sept. 1965.
[7] C. Dwork, M. Herlihy, and O. Waarts, “Contention in Shared Memory Algorithms,” J. ACM, vol. 44, no. 6, pp. 779-805, Nov. 1997.
[8] F. Fich, D. Hendler, and N. Shavit, “On the Inherent Weakness of Conditional Primitives,” Distributed Computing, vol. 18, no. 4, pp. 267-277, Mar. 2006.
[9] F. Fich, M. Herlihy, and N. Shavit, “On the Space Complexity of Randomized Synchronization,” J. ACM, vol. 45, no. 5, pp. 843-862, Sept. 1998.
[10] M.J. Fischer, N.A. Lynch, J.E. Burns, and A. Borodin, “Distributed FIFO Allocation of Identical Resources Using Small Shared Space,” ACM Trans. Programming Languages and Systems, vol. 11, no. 1, pp. 90-114, Jan. 1989.
[11] S.S. Fu and N.-F. Tzeng, “A Circular List-Based Mutual Exclusion Scheme for Large Shared-Memory Multiprocessors,” IEEE Trans. Parallel and Distributed Systems, vol. 8, no. 6, pp. 628-639, June 1997.
[12] J.G. Ganssle, The Art of Programming Embedded Systems. Academic Press, 1991.
[13] N.A. Lynch, Distributed Algorithms. Morgan Kaufmann, 1996.
[14] J.M. Mellor-Crummey and M.L. Scott, “Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors,” ACM Trans. Computer Systems, vol. 9, no. 1, pp. 21-65, Feb. 1991.
[15] M. Raynal, Algorithms for Mutual Exclusion. The MIT Press, 1986.
[16] I. Rhee, “Optimizing a FIFO, Scalable Spin Lock Using Consistent Memory,” Proc. 17th IEEE Real-Time Systems Symp., pp. 106-114, Dec. 1996.
[17] K.M. Zuberi and K.G. Shin, “An Efficient Semaphore Implementation Scheme for Small-Memory Embedded Systems,” Proc. Third IEEE Real-Time Technology and Applications Symp., pp. 25-34, June 1997.
[18] K.M. Zuberi and K.G. Shin, “EMERALDS: A Small-Memory Real-Time Microkernel,” IEEE Trans. Software Eng., vol. 27, no. 10, pp.909-927, Oct. 2001.

Index Terms:
Mutual exclusion, shared memory systems, space complexity, fetch&store, swap, bounded bypassing, FIFO.
Sheng-Hsiung Chen, Ting-Lu Huang, "Bounded-Bypass Mutual Exclusion with Minimum Number of Registers," IEEE Transactions on Parallel and Distributed Systems, vol. 20, no. 12, pp. 1726-1737, Dec. 2009, doi:10.1109/TPDS.2009.28
Usage of this product signifies your acceptance of the Terms of Use.