The Community for Technology Leaders
RSS Icon
Issue No.12 - December (2009 vol.20)
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.
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 & Distributed Systems, vol.20, no. 12, pp. 1726-1737, December 2009, doi:10.1109/TPDS.2009.28
[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.
89 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool