Presentation is loading. Please wait.

Presentation is loading. Please wait.

11/11/2009Software Design Laboratory1 The solution to a cyclic relaxation problem Edsger W. Dijkstra Presenter Aly Farahat Ph.D. Student Software Design.

Similar presentations


Presentation on theme: "11/11/2009Software Design Laboratory1 The solution to a cyclic relaxation problem Edsger W. Dijkstra Presenter Aly Farahat Ph.D. Student Software Design."— Presentation transcript:

1 11/11/2009Software Design Laboratory1 The solution to a cyclic relaxation problem Edsger W. Dijkstra Presenter Aly Farahat Ph.D. Student Software Design Laboratory Computer Science Department Michigan Technological University

2 11/11/2009Software Design Laboratory2 Motivated by the concept of stabilization he just introduced, Dijkstra studies the related problem of repositioning points on a circle

3 11/11/2009Software Design Laboratory3 Contents Problem Definition Concurrent Execution Interleaved Execution –Assuming the continuum –Assuming a space of discrete points Conclusions

4 11/11/2009Software Design Laboratory4 Problem Definition

5 11/11/2009Software Design Laboratory5 x i : position of point i 0<= x i < 1 N: number of points pred: x (i-1)mod N succ: x (i+1) mod N :: pred<=succ  x i :=(pred + succ)/2 ::pred >succ  x i :=((pred + succ +1)/2)mod 1

6 11/11/2009Software Design Laboratory6 Observations Invariant: After an adjustment, the length of any path is always less than ½. m: the number of rotations around the circle, 0<= m < N/2 (why?) At equilibrium: all paths have the same length m/N

7 11/11/2009Software Design Laboratory7 Execution Semantics Demons in Distributed Systems: –Centralized: Only on processor is allowed to take an action at a time. (Dijkstra’s Demon in Token-Ring) –Distributed: The demon chooses an non-empty subset of nodes to execute from the current state, concurrently and independently. –A centralized demon is a special case of a distributed demon choosing singletons. –Concurrent semantics: another special case of distributed demon where the chosen subset is the whole set of processes

8 11/11/2009Software Design Laboratory8 Concurrent Semantics in the Relaxation Problem Positions exhibit oscillatory behavior and will system will never stabilize Similar to the execution semantics of control systems Check by getting the eigenvalues of state transition matrix 00.500 0 00 0 0 0 00 0 00 0

9 11/11/2009Software Design Laboratory9 Effect of Discrete Space on Stabilization Partition the circle into p discrete points: p>>N m.p is the total number of segments spanned by the consecutive paths after one fair round of adjustments To guarantee complete stability, m=q*N: so we the N paths can be of equal length: q/p Otherwise paths can never be of equal length –m=q*N+r r>0. –Short paths: (N-r).q/p –Long paths: r.(q+1)/p An adjustment exchanges short and long paths and the stable region oscillates between these two states.

10 11/11/2009Software Design Laboratory10 Conclusions Stability under a central demon is not sufficient for stability under different execution semantics Discrete-space models finite domains of variables Stability in the continuous domain is not sufficient for stability in discrete domain, however the converse is true

11 11/11/2009Software Design Laboratory11 Further Readings -G. Boudol & I Castllani, “On the semantics of concurrency: partial orders and transition systems” INRIA Sophia Antipolis Center, Research Report N o 550, July 1986 -S. Dolev, A. Israeli & S. Moran “Self Stabilization of Dynamic Systems Assuming Only Read/Write Atomicity” In ACM Transactions on Distributed Computing, Volume 7, Issue 1, Nov. 1993, pp. 3-16

12 11/11/2009Software Design Laboratory12 Thank you!


Download ppt "11/11/2009Software Design Laboratory1 The solution to a cyclic relaxation problem Edsger W. Dijkstra Presenter Aly Farahat Ph.D. Student Software Design."

Similar presentations


Ads by Google