Routing Algorithms. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Similar documents
Agreement Protocols. CS60002: Distributed Systems. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Minimal Spanning Tree

Single Source Shortest Paths

CS 4407 Algorithms Lecture: Shortest Path Algorithms

CMPS 6610 Fall 2018 Shortest Paths Carola Wenk

Robust Network Codes for Unicast Connections: A Case Study

cs/ee/ids 143 Communication Networks

Discrete Wiskunde II. Lecture 5: Shortest Paths & Spanning Trees

Theoretical Computer Science. Partially dynamic efficient algorithms for distributed shortest paths

Minimal Spanning Tree

Design and Analysis of Algorithms

6.852: Distributed Algorithms Fall, Class 24

Lecture 7: Shortest Paths in Graphs with Negative Arc Lengths. Reading: AM&O Chapter 5

CS505: Distributed Systems

Clocks in Asynchronous Systems

Discrete Optimization 2010 Lecture 2 Matroids & Shortest Paths

Consistent Global States of Distributed Systems: Fundamental Concepts and Mechanisms. CS 249 Project Fall 2005 Wing Wong

Distributed Algorithms

Single Source Shortest Paths

Asynchronous Models For Consensus

Impossibility of Distributed Consensus with One Faulty Process

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences

Fault-Tolerant Consensus

Analysis of Algorithms. Outline. Single Source Shortest Path. Andres Mendez-Vazquez. November 9, Notes. Notes

Agreement. Today. l Coordination and agreement in group communication. l Consensus

Dynamic Programming: Shortest Paths and DFA to Reg Exps

AGREEMENT PROBLEMS (1) Agreement problems arise in many practical applications:

Consensus when failstop doesn't hold

Dynamic Programming: Shortest Paths and DFA to Reg Exps

Fraud within Asymmetric Multi-Hop Cellular Networks

The Weakest Failure Detector to Solve Mutual Exclusion

ADVANCES in computer technology and the need to

Cuts & Metrics: Multiway Cut

Introduction to Algorithms

Chapter 6. Dynamic Programming. Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved.

Half-Duplex Gaussian Relay Networks with Interference Processing Relays

CS 6301 PROGRAMMING AND DATA STRUCTURE II Dept of CSE/IT UNIT V GRAPHS

Distributed Systems Fundamentals

Dominating Set. Chapter 26

Dominating Set. Chapter Sequential Greedy Algorithm 294 CHAPTER 26. DOMINATING SET

6. DYNAMIC PROGRAMMING II. sequence alignment Hirschberg's algorithm Bellman-Ford distance vector protocols negative cycles in a digraph

6.852: Distributed Algorithms Fall, Class 10

Computing and Communicating Functions over Sensor Networks

Section 6 Fault-Tolerant Consensus

CS 253: Algorithms. Chapter 24. Shortest Paths. Credit: Dr. George Bebis

Data Structures and Algorithms CMPSC 465

iretilp : An efficient incremental algorithm for min-period retiming under general delay model

Data Gathering and Personalized Broadcasting in Radio Grids with Interferences

A Self-Stabilizing Distributed Approximation Algorithm for the Minimum Connected Dominating Set

Design and Analysis of Algorithms

CS 410/584, Algorithm Design & Analysis, Lecture Notes 4

Approximation of δ-timeliness

Active Measurement for Multiple Link Failures Diagnosis in IP Networks

Algorithms: Lecture 12. Chalmers University of Technology

1. (12 points) Give a table-driven parse table for the following grammar: 1) X ax 2) X P 3) P DT 4) T P 5) T ε 7) D 1

CSC 1700 Analysis of Algorithms: Warshall s and Floyd s algorithms

What Have We Learned from Reverse-Engineering the Internet s Inter-domain Routing Protocol?

An algebraic framework for a unified view of route-vector protocols

How to deal with uncertainties and dynamicity?

Breadth-First Search of Graphs

Early stopping: the idea. TRB for benign failures. Early Stopping: The Protocol. Termination

CSE 4502/5717 Big Data Analytics Spring 2018; Homework 1 Solutions

CMPS 2200 Fall Carola Wenk Slides courtesy of Charles Leiserson with small changes by Carola Wenk. 10/8/12 CMPS 2200 Intro.

Dominating Connectivity and Reliability of Heterogeneous Sensor Networks

Dominating Set. Chapter 7

Finally the Weakest Failure Detector for Non-Blocking Atomic Commit

Utility Maximizing Routing to Data Centers

Undirected Graphs. V = { 1, 2, 3, 4, 5, 6, 7, 8 } E = { 1-2, 1-3, 2-3, 2-4, 2-5, 3-5, 3-7, 3-8, 4-5, 5-6 } n = 8 m = 11

Lecture 4 Event Systems

Random Access Game. Medium Access Control Design for Wireless Networks 1. Sandip Chakraborty. Department of Computer Science and Engineering,

Gossip algorithms for solving Laplacian systems

Scribes: Po-Hsuan Wei, William Kuzmaul Editor: Kevin Wu Date: October 18, 2016

Lecture 11. Single-Source Shortest Paths All-Pairs Shortest Paths

arxiv: v2 [cs.dc] 21 Apr 2017

2 Introduction to Network Theory

Local Dynamic Weighted Matching. Liat Atsmon Guz

Distributed Systems Principles and Paradigms. Chapter 06: Synchronization

CS505: Distributed Systems

Second main application of Chernoff: analysis of load balancing. Already saw balls in bins example. oblivious algorithms only consider self packet.

Chaper 4: Retiming (Tái định thì) GV: Hoàng Trang

Syntax: form ::= A: lin j E: lin ::= 3 lin j lin ^ lin j :lin j bool lin lin is a temporal formula dened over a global sequence. bool is true in g if

CS505: Distributed Systems

Time is an important issue in DS

SFM-11:CONNECT Summer School, Bertinoro, June 2011

Chapter 7 Network Flow Problems, I

CSE 431/531: Analysis of Algorithms. Dynamic Programming. Lecturer: Shi Li. Department of Computer Science and Engineering University at Buffalo

CORRECTNESS OF A GOSSIP BASED MEMBERSHIP PROTOCOL BY (ANDRÉ ALLAVENA, ALAN DEMERS, JOHN E. HOPCROFT ) PRATIK TIMALSENA UNIVERSITY OF OSLO

REVISION SHEET DECISION MATHS 2 DECISION ANALYSIS

Distributed Systems Principles and Paradigms

Reliable Broadcast for Broadcast Busses

Termination Problem of the APO Algorithm

Radio Network Clustering from Scratch

Efficient Notification Ordering for Geo-Distributed Pub/Sub Systems

CS60020: Foundations of Algorithm Design and Machine Learning. Sourangshu Bhattacharya

All-to-All Gradecast using Coding with Byzantine Failures

Cooperative HARQ with Poisson Interference and Opportunistic Routing

ALL-OPTICAL networks transmit information on a very

Probabilistic Model Checking Michaelmas Term Dr. Dave Parker. Department of Computer Science University of Oxford

Algorithm Design and Analysis

Transcription:

Routing Algorithms CS60002: Distributed Systems Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur

Main Features Table Computation The routing tables must be computed when the network is initialized and must be brought up-to to-date if the topology of the network changes Packet Forwarding When a packet is to be sent through the network, it must be forwarded using the routing tables

Performance Issues Correctness: The algorithm must deliver every packet to its ultimate destination Complexity: The algorithm for the computation of the tables must use as few messages, time, and storage as possible Efficiency: The algorithm must s packets through good paths Robustness: In the case of a topological change, the algorithm updates the routing tables appropriately Fairness: The algorithm must provide service to every user in the same degree

Good paths Minimum hop: The cost of a path is the number of hops Shortest path: Each channel has a non-negative negative cost the path cost is the sum of the cost of the edges. Packets are routed along shortest paths. Minimum delay/congestion: The bandwidth of a path is the minimum among the bandwidths of the channels on that path. Most robust path: Given the probability of packet drops in each channel, packets are to be routed along the most reliable paths.

Destination-based Forwarding // A packet with destination d was received or generated at node u if d = u then deliver the packet locally else s the packet to table_lookup u (d)

Floyd-Warshall Algorithm begin S = Φ; forall u, v do if u = v then D[u, v] = 0 else if uv E then D[u, v] = w u,v else D[u, v] = ; while S V do // Loop invariant: u, v: v D[u, v] = d S (u,, v) v begin pick w from V \ S; forall u V do forall v V do D[u, v] = min{ D[u, v], v D[u, w] + D[w, v] } S = S U { w } The algorithm computes the distance between each pair of nodes in O(N 3 ) steps

The simple distributed algorithm // For node u var S u D u : set of nodes; : array of weights; Nb u : array of nodes; begin S u = Φ; forall v V do if v = u then begin D u [v]] = 0; Nb u [v]] = udef else if v Neigh u then begin D u [v]] = w u,v ; Nb u [v]] = v else begin D u [v]] = ; Nb u [v]] = udef ;

The simple distributed algorithm contd while S u V do begin pick w from V \ S u ; // All nodes must pick the same w if u = w then broadcast the table D w else receive the table D w forall v V do if D u [w]] + D w [v]] < D u [v]] then begin D u [v]] = D u [w]] + D w [v]] ; Nb u [v]] = Nb u [w] ; S u = S u U { w }

Important property of the simple algorithm Let S and w be given and suppose that (1) for all u, D u [w]] = d S (u,, w) and (2) if d S (u,, w) < and u w,, then Nb u [w]] is the first channel of a shortest S-path S to w Then the directed graph T w = (V( w, E w ), where (u V w D u [w]] < ) ) and (ux E w ( u w Nb u [w]] = x )) is a tree rooted towards w.

Toueg s improvement Toueg s observation: A node u for which D u [w]] = at the start of the w-pivot round does not change its tables during the w-pivot round. If D u [w]] = then D u [w]] + D w [v]] < D u [v]] is false for every v. Consequently, only the nodes that belong to T w need to receive w s table, and the broadcast operation can be done efficiently by sing the table D w only via the channels that belong to the tree T w

The Chandy-Misra Algorithm var D u [v 0 ] : weight init ; Nb u [v 0 ] : node init udef ; For node v 0 only: begin D v0 [v 0 ] = 0 ; forall w Neigh v0 do s mydist, v 0, 0 0 to w Processing a mydist, v 0, d message from neighbor w by u: { mydist, v 0, d M wu } begin receive mydist, v 0, d from w ; if d + ω uw < D u [v 0 ] then begin D u [v 0 ] = d + ω uw ; Nb u [v 0 ] = w ; forall x Neigh u do s mydist, v 0, D u [v 0 ] to x

The Netchange Algorithm Computes routing tables according to minimum-hop measure Assumptions: N1: The nodes know the size of the network (N)( N2: The channels satisfy the FIFO assumption N3: Nodes are notified of failures and repairs of their adjacent channels N4: The cost of a path equals the number of channels in the path Requirements: R1. If the topology of the network remains constant after a finite number of topological changes, then the algorithm terminates after a finite number of steps. R2. When the algorithm terminates, the tables Nb u [v]] satisfy (a) if v = u then Nb u [v]] = local ; (b) if a path from u to v u exists then Nb u [v]] = w,, where w is the first neighbor of u on a shortest path from u to v ; (c) if no path from u to v exists then Nb u [v]] = udef.

The Netchange Algorithm var Neigh u : set of nodes ; // The neighbors of u D u : array of 0.. N ; // D u [v]] estimates d(u,v) Nb u : array of nodes ; // Nb u [v]] is preferred neighbor for v ndis u : array of 0.. N ; // ndis u [w,, v] estimates d(w,v) Initialization: begin forall w Neigh u, v V do ndis u [w,, v] = N ; forall v V do begin D u [v]] = N ; Nb u [v]] = udef ; D u [u]] = 0 ; Nb u [u]] = local ; forall w Neigh u do s mydist, u,, 0 0 to w

The Netchange Algorithm contd. Procedure Recompute( v ): begin if v = u then begin D u [v]] = 0 ; Nb u [v]] = local else begin // estimate distance to v d = 1 + min{ ndis u [w,v]] : w Neigh u } ; if d < N then begin D u [v]] = d ; Nb u [v]] = w with 1 + ndis u [w,v]] = d else begin D u [v]] = N ; Nb u [v]] = udef ; if D u [v]] has changed then forall x Neigh u do s mydist, v, D u [v] to x

The Netchange Algorithm contd. Processing a mydist, v, d message from neighbor w: { A mydist, v, d is at the head of Q wv } begin receive mydist, v, d from w ; ndis u [w,v]] = d ; Recompute( v ) Upon failure of channel uw: begin receive fail, w ; Neigh u = Neigh u \ {w}} ; forall v V do Recompute( v ) Upon repair of channel uw: begin receive repair, w ; Neigh u = Neigh u U {w}{ } ; forall v V do begin ndis u [w,v]] = N ; s mydist, v, D u [v] to w