120 likes | 240 Vues
This study investigates the cyclic relaxation problem within distributed systems, as influenced by Edsger W. Dijkstra's concepts of stabilization. It outlines the repositioning of points on a circle and explores concurrent and interleaved execution semantics. The research examines the impact of both continuous and discrete spaces on system stabilization, presenting parameters for equal path length and discussing the oscillatory nature of positions. Key conclusions emphasize the inadequacy of central stabilization for distributed systems, and that continuous stability does not guarantee discrete stability.
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!