Self Stabilizing Smoothing and Counting Maurice Herlihy, Brown University Srikanta Tirthapura, Iowa State University.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Self-Timed Logic Timing complexity growing in digital design -Wiring delays can dominate timing analysis (increasing interdependence between logical and.
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
PERMUTATION CIRCUITS Presented by Wooyoung Kim, 1/28/2009 CSc 8530 Parallel Algorithms, Spring 2009 Dr. Sushil K. Prasad.
Chapter 6 - Convergence in the Presence of Faults1-1 Chapter 6 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights.
Snap-stabilizing Committee Coordination Borzoo Bonakdarpour Stephane Devismes Franck Petit IEEE International Parallel and Distributed Processing Symposium.
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
Fast Leader (Full) Recovery despite Dynamic Faults Ajoy K. Datta Stéphane Devismes Lawrence L. Larmore Sébastien Tixeuil.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture4: Regular Expressions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
Max Registers, Counters, and Monotone Circuits James Aspnes, Yale University Hagit Attiya, Technion Keren Censor, Technion PODC 2009.
CPSC 668Set 3: Leader Election in Rings1 CPSC 668 Distributed Algorithms and Systems Spring 2008 Prof. Jennifer Welch.
CPSC 668Set 16: Distributed Shared Memory1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
CS294, YelickSelf Stabilizing, p1 CS Self-Stabilizing Systems
Tolerating Faults in Counting Networks Marc D. Riedel Jehoshua Bruck California Institute of Technology Parallel and Distributed.
Outline Max Flow Algorithm Model of Computation Proposed Algorithm Self Stabilization Contribution 1 A self-stabilizing algorithm for the maximum flow.
Self-Stabilization An Introduction Aly Farahat Ph.D. Student Automatic Software Design Lab Computer Science Department Michigan Technological University.
Data Flow Analysis Compiler Design Nov. 8, 2005.
 Idit Keidar, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Lecture 6: Impossibility.
Sorting networks Efficient Parallel Algorithms COMP308.
Chapter Resynchsonous Stabilizer Chapter 5.1 Resynchsonous Stabilizer Self-Stabilization Shlomi Dolev MIT Press, 2000 Draft of Jan 2004, Shlomi.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
CS294-6 Reconfigurable Computing Day 14 October 7/8, 1998 Computing with Lookup Tables.
CS 603 Communication and Distributed Systems April 15, 2002.
1 Analysis of Link Reversal Routing Algorithms Srikanta Tirthapura (Iowa State University) and Costas Busch (Renssaeler Polytechnic Institute)
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Selected topics in distributed computing Shmuel Zaks
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Distributed Algorithms – 2g1513 Lecture 9 – by Ali Ghodsi Fault-Tolerance in Distributed Systems.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Logic Circuits Chapter 2. Overview  Many important functions computed with straight-line programs No loops nor branches Conveniently described with circuits.
Lecture 6 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
Fundamentals CSE 373 Data Structures Lecture 5. 12/26/03Fundamentals - Lecture 52 Mathematical Background Today, we will review: ›Logs and exponents ›Series.
Comparison Networks Sorting Sorting binary values
By J. Burns and J. Pachl Based on a presentation by Irina Shapira and Julia Mosin Uniform Self-Stabilization 1 P0P0 P1P1 P2P2 P3P3 P4P4 P5P5.
1 Trees 4: AVL Trees Section 4.4. Motivation When building a binary search tree, what type of trees would we like? Example: 3, 5, 8, 20, 18, 13, 22 2.
Dissecting Self-* Properties Andrew Berns & Sukumar Ghosh University of Iowa.
Lecture 4 Sorting Networks. Comparator comparator.
Weak vs. Self vs. Probabilistic Stabilization Stéphane Devismes (CNRS, LRI, France) Sébastien Tixeuil (LIP6-CNRS & INRIA, France) Masafumi Yamashita (Kyushu.
Max Registers, Counters, and Monotone Circuits Keren Censor, Technion Joint work with: James Aspnes, Yale University Hagit Attiya, Technion (Slides
Based on An Engineering Approach to Computer Networking/ Keshav
CS 542: Topics in Distributed Systems Self-Stabilization.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Spring 2014 Prof. Jennifer Welch CSCE 668 Set 3: Leader Election in Rings 1.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 16: Distributed Shared Memory 1.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Counting and Distributed Coordination BASED ON CHAPTER 12 IN «THE ART OF MULTIPROCESSOR PROGRAMMING» LECTURE BY: SAMUEL AMAR.
Program Correctness. The designer of a distributed system has the responsibility of certifying the correctness of the system before users start using.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
1 Sorting Networks Sorting.
ICDCS 05Adaptive Counting Networks Srikanta Tirthapura Elec. And Computer Engg. Iowa State University.
Distributed Error- Confinement Shay Kutten (Technion) with Yossi Azar (Tel Aviv U.) Boaz Patt-Shamir (Tel Aviv U.)
CSE-591: Term Project Self-stabilizing Network Algorithms by Tridib Mukherjee ASU ID :
A Tale of Two Erasure Codes in HDFS
Lecture 4 Sorting Networks
第1部: 自己安定の緩和 すてふぁん どぅゔぃむ ポスドク パリ第11大学 LRI CNRS あどばいざ: せばすちゃ てぃくそい
Randomized Smoothing Networks
Algebraic Topology and Distributed Computing part two
Algebraic Topology and Distributed Computing
Analysis of Link Reversal Routing Algorithms
Asymptotic Notations Algorithms Lecture 9.
Parallel and Distributed Algorithms
A Fusion-based Approach for Tolerating Faults in Finite State Machines
(Slides were added to Keren’s original presentation. DH.)
Algebraic Topology and Distributed Computing part three
Shared Counters and Parallelism
Asynchronous token routing device
(Slides were added to Keren’s original presentation. DH.)
Presentation transcript:

Self Stabilizing Smoothing and Counting Maurice Herlihy, Brown University Srikanta Tirthapura, Iowa State University

Overview Smoothing and Counting Networks Analysis of behavior without proper initialization - upper and lower bounds Self stabilization of smoothing networks

Smoothing Networks 2-smoothing network In a k-smoothing Network, the numbers of Tokens on different output wires differ by at most 2

Counting Networks 1-smoothing networks with other additional properties Aspnes, Herlihy and Shavit in 1991 Since then, scalable Construction and Properties well studied Bitonic and Periodic networks are two popular counting networks

Balancer

Counting Network Initial State: All balancers pointing up Width = 4 Depth = 4

1-Smoothing Property

Questions How do counting networks perform when initialized incorrectly (or by an adversary)? How to recover from illegal states reached during execution?

Motivation Initializing to a “correct” global state is hard or may be impossible –global reconfiguration expensive –network switches reboot Step towards building fault tolerant and dynamic smoothing networks

Our Results(1) Periodic and Bitonic Counting Networks: When started from an arbitrary state, output is log w smooth (w = width of network) Tight lower bound: We demonstrate inputs such that the output is not log k smooth for any k < w

Our Results (2) Self-stabilization of Balancing Networks Add extra state and actions If network begins in illegal state, will eventually return to a legal state Upper bound on the time till stabilization, and extra space required

Periodic[w] Counting Network Block[w]

Block Network: Inductive Definition Block[2] Block[4]

Definitions Sequence is k-smooth if for all Matching layer of balancers for sequences X and Y joins and in a one-to-one correspondence

Matching Lemma If X and Y are each k-smooth then result of matching X and Y is (k+1)-smooth Holds irrespective of the orientations of balancers X Y

Block[w] is (log w)-smooth Proof by Induction Assume Output of Block[n] is log n smooth Show that output of Block[2n] is log (2n) smooth Block[2n] Block[n] A B

Lower Bound Worst Case bound: There exist input sequences and initial states such that output of Block[w] is not k-smooth for any k < log w Show a fixed-point sequence for Block[w] which is not k-smooth for any k < log w

Fixed Point Sequence Block[2] Block[4] Sequence not k-smooth for any k < log (width)

Bitonic Counting Network Starting from an arbitrary initial state Output is always log w smooth, where w=width Matching worst case lower bound on smoothness

Self Stabilization Extra state and actions added to the network Self-stabilizing Actions enabled only if network in illegal state otherwise, normal execution

Self Stabilization Definition: Legal State can be reached in an execution starting from the Correct Initial State Natural definition, but hard to use directly, so need alternate characterization Local state can be observed easily Strategy: Characterize legality in terms of local states

Global vs Local States

Additional State Top In Bot In Bot Out Top Out These counters can be bounded – details in paper

Local States Balancer is Legal if (1)Top In + Bot In = Top Out + Bot Out (2)Toggle State is correct Wire is Legal if Tokens entering the wire = Tokens leaving the wire + Tokens in Transit

Global Legality in terms of Local Theorem: Iff (every wire and every balancer is in legal local state), then (the network is in a legal global state) Now focus on stabilizing the local states - simpler problem

Space and Time Complexity Time to Stabilization = d parallel timesteps where d = depth of network Total additional space = w = width of network

Issues Lazy versus pro-active stabilization Transient Behavior till stabilization might differ from “legal” behavior Tokens might be unevenly distributed till then

Summary Even if bitonic and periodic networks are not initialized, they are log smooth If only approximate smoothing is needed, then use (log w) depth uninitialized block network Can be converted into 1-smooth behavior by self- stabilization - overhead is small and analytically bounded