A New Self-Stabilizing k-out-of-l Exclusion Algorithm on Rings
A New Self-Stabilizing k-out-of-l Exclusion Algorithm on Rings
复制标题
一种新的环自稳定k-out-of-l排除算法
DOI:
10.1007/3-540-45032-7_9
复制
发表时间:
2003
期刊:
影响因子:
--
通讯作者:
V. Villain
中科院分区:
文献类型:
--
作者:
A. Datta;Rachid Hadid;V. Villain
We present an efficient self-stabilizing solution to theκ-outof-ℓexclusion problem on a ring. Theκ-out-of-ℓexclusion problem is a generalization of the well-known mutual exclusion problem — there areℓunits of a shared resource, any process can request at mostκ(1 ≤κ≤ℓ) units of the shared resource, and no resource unit can be allocated to more than one process at one time. This solution is based on the circulation ofℓtokens around the ring. A processor requestingNEED(NEED≤κ≤ℓ) units of the resource can enter the critical section only upon receipt ofNEEDtokens. We propose a simple and pessimistic method to handle the deadlock problem. So, after stabilization, no mechanism is needed for the deadlock detection. Moreover, in this paper, we give a formal definition of a new efficiency property, called (κ,ℓ)-liveness, which is a desirable property of anyκ-out-of-ℓexclusion solution. This property allows as many processors as possible to execute their critical sections simultaneously without violating the safety property. We generalize the technique introduced in [6] to maintain the right number (ℓ) tokens in the system. The tokens are counted without using any counter variable for all processors except one, called the Root. This solution improves the waiting time of an earlier solution [4] by maintaining a reasonable stabilization time. The waiting time is reduced from (ℓ+ 2)(n− 1) to 2(n− 1), wherenis the size of the ring. The stabilization time is 8ninstead of 4nin [4]. One nice characteristic of our algorithm is that its space requirement is independent ofℓfor all processors except the Root.