120 likes | 229 Views
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.
E N D
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
Software Design Laboratory • Motivated by the concept of stabilization he just introduced, Dijkstra studies the related problem of repositioning points on a circle
Software Design Laboratory Contents • Problem Definition • Concurrent Execution • Interleaved Execution • Assuming the continuum • Assuming a space of discrete points • Conclusions
Software Design Laboratory Problem Definition
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
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
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
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
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.
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
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
Software Design Laboratory Thank you!