Distributed Error- Confinement

Slides:



Advertisements
Similar presentations
1 Routing Protocols I. 2 Routing Recall: There are two parts to routing IP packets: 1. How to pass a packet from an input interface to the output interface.
Advertisements

CS 542: Topics in Distributed Systems Diganta Goswami.
Chapter 6 - Convergence in the Presence of Faults1-1 Chapter 6 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights.
Chapter 7 - Local Stabilization1 Chapter 7: roadmap 7.1 Super stabilization 7.2 Self-Stabilizing Fault-Containing Algorithms 7.3 Error-Detection Codes.
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
EE 4272Spring, 2003 Chapter 10 Packet Switching Packet Switching Principles  Switching Techniques  Packet Size  Comparison of Circuit Switching & Packet.
LSRP: Local Stabilization in Shortest Path Routing Hongwei Zhang and Anish Arora Presented by Aviv Zohar.
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 16 Wenbing Zhao Department of Electrical and Computer Engineering.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
CS294, YelickSelf Stabilizing, p1 CS Self-Stabilizing Systems
A General approach to MPLS Path Protection using Segments Ashish Gupta Ashish Gupta.
Page 1 Copyright © Alexander Allister Shvartsman CSE 6510 (461) Fall 2010 Selected Notes on Fault-Tolerance (12) Alexander A. Shvartsman Computer.
1 Shortest Path Calculations in Graphs Prof. S. M. Lee Department of Computer Science.
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Securing Every Bit: Authenticated Broadcast in Wireless Networks Dan Alistarh, Seth Gilbert, Rachid Guerraoui, Zarko Milosevic, and Calvin Newport.
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.
Review for Exam 2. Topics included Deadlock detection Resource and communication deadlock Graph algorithms: Routing, spanning tree, MST, leader election.
Fault Tolerance Computer Programs that Can Fix Themselves! Prof’s Paul Sivilotti and Tim Long Dept. of Computer & Info. Science The Ohio State University.
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
1 Fault tolerance in distributed systems n Motivation n robust and stabilizing algorithms n failure models n robust algorithms u decision problems u impossibility.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Distributed Error- Confinement Shay Kutten (Technion) with Boaz Patt-Shamir (Tel Aviv U.) Yossi Azar (Tel Aviv U.)
Distance Vector Routing
Distributed Error- Confinement Shay Kutten (Technion) with Yossi Azar (Tel Aviv U.) Boaz Patt-Shamir (Tel Aviv U.)
Day 13 Intro to MANs and WANs. MANs Cover a larger distance than LANs –Typically multiple buildings, office park Usually in the shape of a ring –Typically.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Sections 4.1 & 4.2 Recursive Definitions,
The network layer: routing
The consensus problem in distributed systems
Packetizing Error Detection
THE NEED FOR DNS DOMAIN NAME SYSTEM
CSE 486/586 Distributed Systems Leader Election
Distributed Maintenance of Spanning Tree using Labeled Tree Encoding
Adaptive Resonance Theory (ART)
Distributed Systems – Paxos
Solver & Optimization Problems
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
8.2. Process resilience Shreyas Karandikar.
Algorithm Analysis CSE 2011 Winter September 2018.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Packetizing Error Detection
Outline Distributed Mutual Exclusion Distributed Deadlock Detection
Algorithm Analysis (not included in any exams!)
Routing in Packet Networks Shortest Path Routing
Design for Quality Design for Quality and Safety Design Improvement
Road Map I. Introduction II. IP Protocols III. Transport Layer
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Alternating Bit Protocol
Distributed Consensus
Agreement Protocols CS60002: Distributed Systems
Distributed Systems, Consensus and Replicated State Machines
Distributed Systems CS
ECE453 – Introduction to Computer Networks
On-time Network On-chip
PRESENTATION COMPUTER NETWORKS
Introduction Wireless Ad-Hoc Network
CSE 486/586 Distributed Systems Leader Election
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
CS 6290 Many-core & Interconnect
Wide Area Networks (WANs), Routing, and Shortest Paths
Congestion Control (from Chapter 05)
Wide Area Networks (WANs), Routing, and Shortest Paths
Bridges Neil Tang 10/10/2008 CS440 Computer Networks.
Abstractions for Fault Tolerance
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
CSE 486/586 Distributed Systems Leader Election
Presentation transcript:

Distributed Error- Confinement Shay Kutten (Technion) with Boaz Patt-Shamir (Tel Aviv U.) Yossi Azar (Tel Aviv U.)

Talk Overview (1) What is error confinement? (2) The new “agility” measure for fault tolerance (3) The new “core- bootstrapping” idea for algorithm. (4) Optimization question and answer for “core” construction.

Motivation: “error propagation” (example) (1) Assume no fault: My distance to C via S: 7+4=11 Message from S to A: S A B C distance 7 to C 7 4 C Traffic to C Internet routing: Node A compute shortest path to C based on messages from S.

Motivation: “error propagation” (example) (2) with fault (at B): My distance to C via S: 7+4=11 Message from S to A: C distance 7 to C 7 S 2 A 4 C B distance 0 to C Traffic to C State corrupting fault (adversary modifies data memory)

State corrupting fault (self stabilization): Not malicious! Just a one time change of memory content. C 7 S 2 A 4 B distance 0 to C State corrupting fault (adversary modifies data memory)

Motivation: “error propagation” (example) (2) With fault (at B): My distance to C via S: 7+4=11 Message from S to A: C distance 7 to C 7 S A 4 2 C B Traffic to C distance 0 to C fault

(3) B’s fault propagated to A Motivation: “error propagation” (example) (3) B’s fault propagated to A My distance to C via B: 2+0=2 Message from S to A: C distance 7 to C 7 S A 4 2 C B Traffic to C distance 0 to C fault

Motivation: “error propagation” (example) B’s fault propagated to A My distance to C via B: 2+0=2 Message from S to A: C distance 7 to C 7 S C A 4 C 2 B (4) Traffic to C is sent the wrong way as a result of the fault propagation distance 0 to C fault

This is, actually, how the Internet (than Called “ARPANET”) in 1980 B D I have distance 0 to everybody C fault

“Error confinement”: non faulty node A outputs only correct output (or no output at all) C Sounds impossible? S I do not believe you! A Output (to routing:) My distance to C via S: 7+4=11 B distance 0 to C fault

Error Confinement (Formally)  : problem specification, P: protocol. P solves  with error confinement if for any execution of P with behavior  (possibly containing a state corrupting fault), there exists a behavior ’ & for all non-faulty nodes v: ’v= v (“stabilization” deals also with faulty nodes) (behavior- ignoring time)

Talk Overview (1) What is error confinement? (2) The new “agility” measure for fault tolerance. (3) The core- bootstrapping idea idea for algorithm (4) Optimization question and answer for “core” construction.

Introducing a new measure of fault resilience: The resilience of a protocol is smaller at first t Environment (e.g. user) 2 time t 1 Input is given to S at time t C t S A B D

The resilience of a protocol is smaller at first (cont.) time Environment (e.g. user) gives Input is to S at time t t 2 If adversary changes the state of S at time tf shortly after the input t 1 t f C t S A B D

The resilience of a protocol is smaller at first time (cont.) time Environment (e.g. user) gives Input to S at time t t 2 If adversary changes the state of S at time tf shortly after the input t 1 then the input is lost forever t f C t S A B D

The resilience of a protocol grows with time However, a fault, even in S, can be tolerated if it waits until after S distributed the input value t 2 t 1 S C A B D t f C t S A B D input

The resilience of a protocol grows with time (cont.) time However, a fault, even in S, can be tolerated if it waits until after S distributed the input value t 2 t f distribution C t 1 A S B D t f C t S A B D input

The resilience of a protocol grows with time A fault even in S can be tolerated if it “waits” until after S distributed the input value t 2 tf distribution C t 1 A S B D tf C t S A B D input

The resilience of a protocol grows with time A fault even in S can be tolerated if it “waits” until after S distributed the input value t 2 t f distribution C t 1 A S B D t f C t S A B D input

t0 t0 t1 t0 The resilience of a protocol grows with time time t1 t t To destroy the replicated value the adversary needs to hit more nodes at > > t0 t0 tf t1 t f C t1 S A B D t f t0 C S A B D input

The resilience continues to grows with time 3 A B D If no faults occurred by some later , then the input is t 3 replicated even further C t S A 2 B D C t S A 1 B D

The resilience continues to grows with time tf C A S t B D 3 C t S A 2 B D The later the faults, the more faults can be tolerated C t S A 1 B D

Time Cone Space time t t t B D 3 C t S A 2 B D The later the faults, the more faults can be tolerated if the protocol is designed to be robust C t S A 1 B D

“Narrow” cone a LESS fault tolerant algorithm time B D 3 C t S A 2 B D Slower replication less nodes offer help C t S A 1 B D

A “Wider” cone a more fault tolerant algorithm time S S t A B D 3 C t S A 2 B D Replication to more nodes faster C t S A 1 B D

So, a recovery of corrupted values is theoretically possible, for an adversary that is constrained according to a space-time-cone, but what is the algorithm that does the recovery? time S

Constraining faults: Agility • c-constrained environment: environment generating faults tf time units after the input, (c  1), only in: • with agility c: Broadcast algorithm that guarantees error confinement against c-constrained environments. minority of · |Balls(c·tf)| nodes. algorithm V V c·tf S Balls

Agility: Algorithm’s “agility” measures the rate the constraint on the adversary can be lifted C S S D C S time D Agility: S

Talk Overview (1) What is error confinement? (2) The new “agility” measure for fault tolerance. (3) The new “core- bootstrapping” idea for algorithm. (4) Optimization question and answer for “core” construction.

The message resides at some nodes we term “core”

A node can join the core when it “made sure” it heard the votes of all core nodes

A node can join the core when it “made sure” it heard the votes of all core nodes

A node can join the core when it “made sure” it heard the votes of all core nodes

A node can join the core when it “made sure” it heard the votes of all core nodes

and even the fault can be corrected

and even the fault can be corrected

Let us view again the join of one node

Then the message passes to the new node correctly If core is such that adversary’s constraint allows hit of only a minority of the core… Then the message passes to the new node correctly

Then the message passes to the new node correctly If core is such that adversary’s constraint allows hit of only a minority of the core… Disclaimer: any connection to Actual historical rivalry is coincidental Then the message passes to the new node correctly

Then the message passes to the new node correctly If core is such that adversary’s constraint allows hit of only a minority of the core… Disclaimer: any connection to Actual historical rivalry is coincidental Then the message passes to the new node correctly

“Error confinement”: non faulty node A outputs Only correct output (or no output at all) C S I do not believe you! A D Output (to routing:) My distance to C via S: 7+4=11 B distance 0 to C fault

and even the fault can be corrected

When the core grow, the algorithm can withstand more faults.

Talk Overview (1) What is error confinement? (2) The new “agility” measure for fault tolerance. (3) The new “core- bootstrapping” idea for algorithm. (4) Optimization question and answer for “core” construction.

Dilemma- should we add a node to core ASAP? B F E H G

Dilemma- should we add a node to core ASAP? Advantage- enlarges the core now. C A S D B F E H G

Dilemma- should we add a node to core ASAP? Disadvantage: slows future core growth C A S D B F E H G

Dilemma- should we add a node to core ASAP? Disadvantage: slows future core growth S C A D B F E H G

Dilemma- should we add a node to core ASAP? Disadvantage: slows future core growth C A S D B F E H G

(example: bad greedy policy) Stages of core growth (example: bad greedy policy) Greedy core growth  O(D2) time to reach diameter D  Agility = D/D2 = D

time Ti as a function of Core(Ti-1 ) feasibility: Core at time Ti as a function of Core(Ti-1 ) Optimize agility subject to V Ri-1 Ri S U Core(Ti-1 ) Core (Ti )

Agility at time Ti : Radius of Core at time Ti Divided by time (Ti : i’th time Core grows) Agility time R2 Core radius R1 1 1 T1 T2 T3

Agility at time Ti : Radius of Core at time Ti Divided by time (Ti : i’th time Core grows) Agility time R2 Core radius R1 1 1 T1 T2 T3 We calculated optimal T’s, R’s.

Agility at time Ti : Radius of Core at time Ti Divided by time (Ti : i-th time Core grows) Agility time R2 Core radius R1 1 1 T1 T2 T3 We calculated optimal T’s, R’s. Constant Agility.

Agility at time Ti : Radius of Core at time Ti Divided by time (Ti : i-th time Core grows) Agility time R2 Core radius R1 1 1 T1 T2 T3 We calculated optimal T’s, R’s. Constant Agility. Optimal number of core increases (logarithmic!).

An error confined protocol to compute distances from a Additional results An error confined protocol to compute distances from a node S (Bellman-Ford’s algorithm is self stabilizing but is not error-confined). An error confined protocol for broadcast with correct source. Lower bound (mandatory slow down): Consider an error-confined algorithm for BROADCAST, even with correct source. Then no correct node v outputs before time 2·dist(source,v), even in the absence of faults. Generalizations, practical considerations.

Some related notions Self stabilization [Dijkstra, Lamport] would bring the system to a consistent global state eventually. If the input is re-injected repeatedly (as in the routing information example) this corrects the states eventually. If the input is not reintroduced by the environment, then the input may be lost forever. Local checking [Afek-K-Yung90] , or local detection [Awerbuch-P-Varghese91], together with self stabilizing reset [KatzPerry90,AKY90,AroraGouda90,APV91] would yield agility 1/|V|.

Some related notions fault local algorithms [K-Peleg95], or Time adaptive [KP97], or fault containment [GhoshGuptaHermanPemmaraju96] or local stabilization [AroraZhang03] would allow a “small” (relative to the number of faults) error propagation. Snap stabilization [BuiDattaPetitVillain99] considers only the case that some nodes performed a special “purifying” “initiation” action after the faults. A fault may propagate to a non-initiator node until it communicate with initiators. Local stabilization of [AfekDolev97] assumes a node can detect its own faults (since a fault puts a node in a random state).

Open problems Many!