Robert Gallager’s Minimum Delay Routing Algorithm Using Distributed Computation Timo Bingmann and Dimitar Yordanov Decentralized Systems and Network Services Research Group Institute of Telematics, Universität Karlsruhe January 29, 2007 Timo Bingmann and Dimitar Yordanov - 1 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
Road Map Introduction 1 Model 2 Algorithm 3 Conclusion 4 Timo Bingmann and Dimitar Yordanov - 2 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
1 Introduction 1.1 Routing Algorithms Introduction: Routing Algorithms What are they? Why do we need them? A • • C B Timo Bingmann and Dimitar Yordanov - 3 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
1 Introduction 1.1 Routing Algorithms Timo Bingmann and Dimitar Yordanov - 4 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
1 Introduction 1.1 Routing Algorithms Goals of Routing Algorithms Primary Goal Achieve “good” or even optimal routing . How to measure routing quality? → Routing metrics Other Aims little network overhead stability and reliablity adapt to changes quickly converge to optimal state scale well Timo Bingmann and Dimitar Yordanov - 5 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
1 Introduction 1.1 Routing Algorithms Characteristics Route Calculation Time Static routing algorithms Dynamic routing algorithms Quasi-static routing algorithms Timo Bingmann and Dimitar Yordanov - 6 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
1 Introduction 1.1 Routing Algorithms Characteristics Other Characteristics Single-Path vs. Multi-Path Algorithms Centralized vs. Distributed Algorithms User vs. System Optimization Timo Bingmann and Dimitar Yordanov - 7 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Model Timo Bingmann and Dimitar Yordanov - 8 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Model k j i l Set of n nodes enumerated by { 1 , 2 , . . . , n } Set of links: L := { ( i , j ) is existing link } Timo Bingmann and Dimitar Yordanov - 9 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Model k j r i ( j )+ r l ( j ) r i ( j ) i l r l ( j ) Input traffic entering at i and destined for j : r i ( j ) . e.g. in kbit/s Timo Bingmann and Dimitar Yordanov - 9 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Model k φ kj ( j )= 2 3 φ ik ( j )= 1 2 j r i ( j )+ r l ( j ) φ kl ( j )= 1 3 r i ( j ) i φ lj ( j )= 1 φ il ( j )= 1 2 l r l ( j ) Routing variables φ ik ( j ) : Fraction of traffic destined for j travelling link ( i , k ) . Timo Bingmann and Dimitar Yordanov - 9 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Model t k ( j ) k φ kj ( j )= 2 3 φ ik ( j )= 1 2 j r i ( j )+ r l ( j )= t j ( j ) φ kl ( j )= 1 3 t i ( j )= r i ( j ) i φ lj ( j )= 1 φ il ( j )= 1 2 l t l ( j ) r l ( j ) Sum over all traffic at node i destined for j : t i ( j ) . Timo Bingmann and Dimitar Yordanov - 9 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Constraints on φ No traffic on non-existing links and no loopback 1 traffic φ ik ( j ) = 0 ∀ ( i , j ) / ∈ L or i = j No loss of traffic is allowed. 2 n � φ ik ( j ) = 1 ∀ i , j k = 1 All nodes are inter-connected. 3 φ ik ( j ) > 0 , φ kl ( j ) > 0 , . . . , φ mj ( j ) > 0 ∃ i , k , l , . . . , m , j ∀ i , j Timo Bingmann and Dimitar Yordanov - 10 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Model t k ( j )= t i ( j ) φ ik ( j ) k φ kj ( j )= 2 3 φ ik ( j )= 1 2 j r i ( j )+ r l ( j )= t j ( j ) φ kl ( j )= 1 3 t i ( j )= r i ( j ) i φ lj ( j )= 1 φ il ( j )= 1 2 l t l ( j )= r l ( j )+ t i ( j ) φ il ( j )+ t k ( j ) φ kl ( j ) r l ( j ) n � t i ( j ) = r i ( j ) + t l ( j ) φ li ( j ) l = 1 Timo Bingmann and Dimitar Yordanov - 11 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.1 Model Development Variables Set of n nodes enumerate by { 1 , 2 , . . . , n } Set of links: L := { ( i , j ) is existing link } Input traffic set r := { r i ( j ) } Node flow set t := { t i ( j ) } Routing variable set φ := { φ ik ( j ) } . Timo Bingmann and Dimitar Yordanov - 12 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Theorem 1 The routing variable set φ will actually guide the network’s flow. Formally: An input set r and a routing variable set φ uniquely define a network flow set t . Timo Bingmann and Dimitar Yordanov - 13 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Routing Variables t 2 =? 2 φ 24 = 2 3 φ 12 = 1 2 4 φ 23 = 1 1 3 t 4 = r 1 + r 3 = 150 kbit/s 100 kbit/s = r 1 = t 1 φ 34 = 1 φ 13 = 1 2 3 t 3 =? 50 kbit/s = r 3 Timo Bingmann and Dimitar Yordanov - 14 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Routing Variables 2 2 3 1 2 4 1 1 3 1 1 2 3 Timo Bingmann and Dimitar Yordanov - 14 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Routing Variables 2 2 3 1 2 4 1 1 3 1 1 2 3 Find steady state by introducing imaginary links which transfer traffic back to its source node. Timo Bingmann and Dimitar Yordanov - 14 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Routing Variables 2 2 3 2 3 1 2 4 150 kbit/s 1 1 3 100 kbit/s 1 1 2 1 3 3 50 kbit/s r i ( j ) φ ji ( j ) := � k r k ( j ) Timo Bingmann and Dimitar Yordanov - 14 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Markov Transition Matrix 1 1 0 2 0 2 1 2 0 0 3 3 Φ = ( φ ik ( j )) i , k = 0 0 0 1 2 1 3 0 3 0 The second constraint on φ and φ ik ( j ) ≥ 0 are the defining properties of a stochastic matrix. Timo Bingmann and Dimitar Yordanov - 15 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Markov Equation r i ( j ) With φ ji ( j ) := k r k ( j ) the aggregation equation � n � t i ( j ) = r i ( j ) + t l ( j ) φ li ( j ) l = 1 can be contracted to n � ¯ t = ¯ t i ( j ) = t l ( j ) φ li ( j ) ⇔ t Φ l = 1 Timo Bingmann and Dimitar Yordanov - 16 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Equilibrium Distribution ¯ t = ¯ t Φ Is the equation of a Markov chain in an equilibrium state. From Markov chain theory: If the transition matrix is irreducible, then exactly one equilibrium distribution ¯ t exists. Timo Bingmann and Dimitar Yordanov - 17 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Equilibrium in the Example 1 1 6 3 7 9 0 2 0 2 25 25 25 25 1 2 6 3 7 9 0 0 n →∞ Φ n = 3 3 25 25 25 25 Φ = lim 6 3 7 9 0 0 0 1 25 25 25 25 2 1 6 3 7 9 3 0 3 0 25 25 25 25 ⊤ ⊤ 6 100 25 3 50 t ′ = ⇒ ¯ ¯ 25 ⇒ t = kbit/s 7 116 1 25 3 9 150 25 Timo Bingmann and Dimitar Yordanov - 18 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.2 Markov Chain Equilibrium in the Example 2 3 t 2 = 50 kbit/s 2 2 3 1 2 4 1 3 1 t 4 = r 1 + r 3 = 150 kbit/s r 1 = t 1 = 100 kbit/s 1 1 2 3 t 3 = 116 1 3 kbit/s 50 kbit/s = r 3 1 3 Timo Bingmann and Dimitar Yordanov - 19 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.3 Marginal Delay Delay Currently the model only describes traffic flow. Now introduce delay. t k ( j ) k φ kj ( j ) φ ik ( j ) j r i ( j )+ r l ( j ) t i ( j ) φ kl ( j ) i r i ( j ) φ lj ( j ) φ il ( j ) l t l ( j ) r l ( j ) Timo Bingmann and Dimitar Yordanov - 20 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.3 Marginal Delay Traffic and Delay First define total traffic f ik on a link ( i , k ) � f ik = t i ( j ) φ ik ( j ) j Timo Bingmann and Dimitar Yordanov - 21 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.3 Marginal Delay Traffic and Delay Then calculate link delay D ik ( f ik ) from the traffic. Only requirements of D ik : convex and increasing. For example f ik D ik ( f ik ) = C ik − f ik 0 0 with link capacity C ik . C ik i k Timo Bingmann and Dimitar Yordanov - 22 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
2 Model 2.3 Marginal Delay Total delay Finally define total delay D T � D T = D ik ( f ik ) i , k Goal: Minimize D T by setting optimal φ ik ( j ) . Use same general method as with maximizing rectangle area function in school. Timo Bingmann and Dimitar Yordanov - 23 Universität Karlsruhe (TH), Winter 2006/07 Net Fundamentals Seminar
Recommend
More recommend