1 / 12

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. The solution to a cyclic relaxation problem Edsger W. Dijkstra.

gwyn
Download Presentation

The solution to a cyclic relaxation problem Edsger W. Dijkstra

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Presenter Aly Farahat Ph.D. Student Software Design Laboratory Computer Science Department Michigan Technological University The solution to a cyclic relaxation problemEdsger W. Dijkstra Software Design Laboratory

  2. Software Design Laboratory • Motivated by the concept of stabilization he just introduced, Dijkstra studies the related problem of repositioning points on a circle

  3. Software Design Laboratory Contents • Problem Definition • Concurrent Execution • Interleaved Execution • Assuming the continuum • Assuming a space of discrete points • Conclusions

  4. Software Design Laboratory Problem Definition

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

  6. Software Design Laboratory 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. Software Design Laboratory 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. 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 Software Design Laboratory

  9. Software Design Laboratory 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. Software Design Laboratory 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. Software Design Laboratory Further Readings • G. Boudol & I Castllani, “On the semantics of concurrency: partial orders and transition systems” INRIA Sophia Antipolis Center, Research Report No 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. Software Design Laboratory Thank you!

More Related