THE TEMPORAL EVOLUTION OF SELF-HEALING AMITABH TREHAN LOUGHBOROUGH UNIVERSITY (Joint work with Armando Castanader, Danny Dolev, Gopal Pandurangan, Peter Robinson, Danupon Nanangkoi, Jared Saia, Tom Hayes, … and anybody else who cared to listen! ) www.amitabhtrehan.net www.huntforthetowel.wordpress.com
CENTRALISED: WHO GETS TO PRINT? A Network A Printer Centralised Algorithms: Single computer with the whole problem instance/data available. Q: which one of them will get the printer? Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DISTRIBUTED: WHO GETS TO PRINT A Network A Printer Token Leader DeCentralised/ Q: Distributed Algorithm: which one of us will get the Multiple `computers’ each printer? with it’s own local view/data. Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DISTRIBUTED IN A DYNAMIC/FAULTY ENVIRONMENT: AY YE PRINTER! A Network A Printer Q: Fault-Tolerant/Dynamic Algorithms: which one of us will get the In faulty/dynamic environments printer despite failures or changes? Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
GRAPH RECONSTRUCTION (SELF-HEALING) GAME! Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
MOTIVATIONS • Responsive Repair: As in the human brain! (rewire, don’t reboot!) • Autonomic systems: • Churn in P2P/Reconfigurable networks: Nodes come and go! Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING (ON NETWORKS) Start: a distributed network G Run forever or till possible { Attack: An adversary inserts or deletes one node per round Healing: After each adversary action, we add and/or drop some edges between pairs of nearby nodes, to “heal” the network } • Node dynamic as opposed to edge dynamic! Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION v Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING ILLUSTRATION v and so on …. Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
PROBLEM v v G0 G 3 Degree(v,G 3 ) = 5 Degree(v,G 0 ) = 2 Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
POSSIBLE HEALING TOPOLOGIES: LINE GRAPH v v G0 G 3 Low degree increase but diameter/ distances blow up Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
POSSIBLE HEALING TOPOLOGIES: STAR GRAPH v v G0 G 3 Low distances but degree blows up Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
CHALLENGE 1: PROPERTIES CONFLICT • Low degree increase => high diameter/stretch/ poorer expansion? • Low diameter => high degree increase? Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
CHALLENGE 2: LOCAL FIXING OF GLOBAL PROPERTIES ✴ Limited global Information with nodes ✴ Limited resources and time constraints Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SELF-HEALING(TOPOLOGICAL) GOALS Healing should be fast. Certain (topological) properties should be maintained within bounds: Connectivity Degree (quantifies the work done by algorithm) Diameter/ Stretch Expansion/ Spectral properties Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DASH: DEGREE ASSISTED SELF-HEALING* Algorithm Intuition: Keep track of load (degree increase) of nodes - After each deletion, Insert a binary tree of - neighbours of deleted node with more loaded nodes as leaves Original Graph, n = 100; t =0 *Jared Saia, AT, Picking up the Pieces: Self-Healing in reconfigurable networks. IPDPS 2008 Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DASH: DEGREE ASSISTED SELF-HEALING • Certain neighbours of the deleted node reconnect as a tree sorted on degree increase; degree of any vertex increases by at most 2 log n; no guarantees on diameter. +1 a +0 +1 b b +3 +5 f v c +2 +3 a e e +2 d +1 +5 f +3 c Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DASH: DEGREE ASSISTED SELF-HEALING Algorithm: Keep track of load (degree increase) of nodes - After each deletion, Insert a binary tree of - neighbours of deleted node with more loaded nodes as leaves *Limits degree increase to O(log n) over series of deletions; empirical analysis of stretch over Healed Graph, n = 70; t =30 various attack strategies done. Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DASH: DEGREE ASSISTED SELF-HEALING Graph, n = 50; t =50 Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DASH: DEGREE ASSISTED SELF-HEALING Graph, n = 30; t = 70 Graph, n = 20; t =80 Graph, n = 10; t =90 Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
DASH: ALL TOGETHER Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
SIMULATIONS: DEGREE
SIMULATIONS: STRETCH Stretch: Maximum over all pairs of nodes u,v : Distance(G t ,u,v) / Distance (G 0 , u,v)
VIRTUAL GRAPHS HEALING APPROACH Virtual Graph (VG) Mappings Real Graph (RG) Method: Setup virtual graph (VG) on the real graph (RG). Maintain (self-heal) VG. Required: If property A is maintained on VG, it is also maintained on RG (i.e. the correct mappings).
Homomorphism: Given G 1 = ( V 1 , E 1 ) , G 2 = V 2 , E 2 a map such that { v, w } ∈ E 1 ⇒ { f ( v ) , f ( w ) } ∈ E 2 a b a c a b c d a b c a d Virtual Graph ‘Real’ Network A virtual tree (left) and its homomorphic image (right)
OUR SELF-HEALING ALGORITHMS Virtual Non-Virtual Compact Forgiving Tree DASH Routing Low (Connectivity, +Stretch +Expansion CompactFT Forgiving Graph Xheal +Density DEX CompactFTZ Xheal+ Edge Preserving SH Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
FORGIVING TREE* *Tom Hayes, Jared Saia, AT, The forgiving tree: a self-healing distributed data structure. PODC 2008
THE FORGIVING TREE: MODEL • Start: a network G 0 . • Nodes fail in unknown order v 1 , v 2 , ..., v n • After each node deletion, we can add and/or drop some edges between pairs of nearby nodes, to “heal” the network Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
THE FORGIVING TREE: MAIN RESULT • A distributed algorithm, Forgiving Tree such that, for any network G with max degree D, for an arbitrary sequence of t deletions: • G t stays connected • Diameter(G t ) ≤ log(D). Diameter(G 0 ) • For any node v in G t, degree(G t, v) ≤ degree(G 0, v) + 3 • Each repair takes constant time and involves O(D) nodes. Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
THE FORGIVING TREE: MAIN RESULT • A distributed algorithm, Forgiving Tree such that, for any network G with max degree D, for an arbitrary sequence of t deletions: • G t stays connected } • Diameter(G t ) ≤ log(D). Diameter(G 0 ) Matching • For any node v in G t, degree(G t, v) ≤ degree(G 0, v) + 3 lower bound • Each repair takes constant time and involves O(D) nodes. Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
THE LOWER BOUND • Adversary can force, for any self-healing algorithm: - Degree increase stretch of Ω (log α ( n − 1)) ≤ α ⇒ y α x Degree(v) = Δ y α − 1 z z G T BFS Tree of y in G T+1 Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
THE FORGIVING TREE: MOTIVATIONS • Trees are the “worst case” for maintaining connectivity. Suppose we are given one. • Our algorithm is based on maintaining a virtual tree. This helps us keep track of which vertices can afford to have their degrees increased, and also avoid blowing up distances. Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
FT: FIRST APPROXIMATION • Find a spanning tree of G. • Choose some vertex to be the root, and orient all edges toward the root. • When a node is deleted, replace it by a balanced binary tree of “virtual nodes” • Short-circuit any redundant virtual nodes • Somehow the surviving real nodes simulate the virtual nodes Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
P P h d b f v a e g c g g a b c f h e f h a b c d e f d Replacing v by a balanced binary tree of virtual nodes Short-circuiting a redundant virtual node Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
Algorithm in action Node v deleted: r . p r i j k p h i d j k v f b g c a a e b h g c d e g f a b c d e f h m n o m n o Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
Node p deleted: r r . k p h j i i j k i j k h d d f f b b g g c c a a e e g g a b c d e f h a b c d e f h m n o m n o Amitabh Trehan o Algorithmic Aspects of Temporal Graphs II
Recommend
More recommend