a simpler proof for o congestion dilation packet routing
play

A simpler proof for O ( congestion + dilation ) packet routing - PowerPoint PPT Presentation

A simpler proof for O ( congestion + dilation ) packet routing Thomas Rothvo Department of Mathematics, MIT IPCO 2013 Packet Routing Input: directed graph G = ( V, E ) Packet Routing Input: Paths P i in a directed graph G = ( V, E )


  1. Packet Routing (2) Lower bounds: ◮ congestion = max e ∈ E { # i : e ∈ P i } ◮ dilation = max i | P i | Theorem (Leighton, Maggs, Rao ’94) ∃ schedule of length O (congestion + dilation) (even with O (1)-size edge buffers). “ very difficult “ technical “ highly involved” to understand” tour de force” ◮ Polytime algorithm [Leighton, Maggs, Richa ’99] ◮ 39 · ( C + D ) suffices [Scheideler ’98] ◮ 24 · ( C + D ) suffices [Peis, Wiese ’11]

  2. Packet Routing (2) Lower bounds: ◮ congestion = max e ∈ E { # i : e ∈ P i } ◮ dilation = max i | P i | Theorem (Leighton, Maggs, Rao ’94) ∃ schedule of length O (congestion + dilation) (even with O (1)-size edge buffers). “ very difficult “ technical “ highly involved” to understand” tour de force” ◮ Polytime algorithm [Leighton, Maggs, Richa ’99] ◮ 39 · ( C + D ) suffices [Scheideler ’98] ◮ 24 · ( C + D ) suffices [Peis, Wiese ’11] ◮ O (1)-apx for finding paths + schedule [Srinivasan, Teo ’00]

  3. Main result Theorem (R. ’13) Much simpler proof of O (congestion + dilation)-packet routing (also with O (1)-size edge buffers).

  4. Main result Theorem (R. ’13) Much simpler proof of O (congestion + dilation)-packet routing (also with O (1)-size edge buffers). ◮ [Wiese ’12]: Is (1 + o (1)) · (congestion + dilation) possible? ◮ True if congestion ≫ dilation!

  5. Main result Theorem (R. ’13) Much simpler proof of O (congestion + dilation)-packet routing (also with O (1)-size edge buffers). No!! ◮ [Wiese ’12]: Is (1 + o (1)) · (congestion + dilation) possible? ◮ True if congestion ≫ dilation! Theorem (R. ’13) ∃ instance requiring ( 1 + ε ) · (congestion + dilation) time.

  6. Main result Theorem (R. ’13) Much simpler proof of O (congestion + dilation)-packet routing (also with O (1)-size edge buffers). No!! ◮ [Wiese ’12]: Is (1 + o (1)) · (congestion + dilation) possible? ◮ True if congestion ≫ dilation! Theorem (R. ’13) ∃ instance requiring ( 1 + ε ) · (congestion + dilation) time. Assumptions: ◮ D := dilation = congestion = | P i | ∀ i

  7. Main result Theorem (R. ’13) Much simpler proof of O (congestion + dilation)-packet routing (also with O (1)-size edge buffers). No!! ◮ [Wiese ’12]: Is (1 + o (1)) · (congestion + dilation) possible? ◮ True if congestion ≫ dilation! Theorem (R. ’13) ∃ instance requiring ( 1 + ε ) · (congestion + dilation) time. Assumptions: ◮ D := dilation = congestion = | P i | ∀ i ◮ O (1) packets can cross an edge per time unit

  8. Preliminaries Lemma (Lov´ asz Local Lemma) Let A 1 , . . . , A m be events such that (1) Pr[ A i ] ≤ p (2) each A i depends on ≤ d other events (3) 4 · p · d ≤ 1 � � m � i =1 ¯ Then Pr A i > 0 . ◮ Constructive via [Moser, Tardos ’10]

  9. Preliminaries Lemma (Lov´ asz Local Lemma) Let A 1 , . . . , A m be events such that (1) Pr[ A i ] ≤ p (2) each A i depends on ≤ d other events (3) 4 · p · d ≤ 1 � � m � i =1 ¯ Then Pr A i > 0 . ◮ Constructive via [Moser, Tardos ’10] Lemma (Chernov-Hoeffding) Let Z 1 , . . . , Z k ∈ [0 , δ ] be independently RV, sum Z := � k i =1 Z i . Then − ε 2 � 3 · E [ Z ] � Pr[ Z > (1 + ε ) E [ Z ]] ≤ exp . δ

  10. A probabilistic schedule

  11. A probabilistic schedule

  12. b b b b b b b b b b A probabilistic schedule

  13. b b b b b b b b b b A probabilistic schedule D level 0

  14. b b b b b b b b b b A probabilistic schedule √ D 1 := D level 0 level 1

  15. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2

  16. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 Waiting rule: ◮ At source: wait α 0 ∼ [ D ] ◮ When entering k th level ℓ interval: Wait α ℓ,k ∼ [ D 1 / 4 ] ℓ ◮ When leaving k th level ℓ interval: Wait D 1 / 4 − α ℓ,k ℓ

  17. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 Level 2 waiting time Level 0 waiting time time O ( D ) 0 move Level 1 waiting time

  18. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 D 1 / 4 1 time O ( D ) 0 ∼ [ D ] ∼ [ D 1 / 4 ] 1

  19. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 Observations: ◮ total waiting time: D + � D ℓ · D 1 / 4 D = O ( D ) ℓ ≥ 1 ℓ

  20. b b b b b b b b b b b b A probabilistic schedule e D 2 := √ D 1 level 0 level 1 level 2 e Observations: ◮ total waiting time: D + � D ℓ · D 1 / 4 D = O ( D ) ℓ ≥ 1 ℓ ◮ time that i crosses e depends only on waiting times of intervals containing e

  21. b b b b b b b b b b b b A probabilistic schedule e D 2 := √ D 1 level 0 level 1 level 2 e Observations: ◮ total waiting time: D + � D ℓ · D 1 / 4 D = O ( D ) ℓ ≥ 1 ℓ ◮ time that i crosses e depends only on waiting times of intervals containing e ◮ Pr[packet i crosses e at time t ] ≤ 1 D & E [load( e, t )] ≤ 1

  22. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 Claim There exist waiting times s.t. load( e, t ) ≤ O (1) ∀ e, t

  23. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 Claim There exist waiting times s.t. load( e, t ) ≤ O (1) ∀ e, t Idea: ◮ Fix waiting times on level ℓ = 0 , 1 , 2 , . . . iteratively.

  24. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 Claim There exist waiting times s.t. load( e, t ) ≤ O (1) ∀ e, t Idea: ◮ Fix waiting times on level ℓ = 0 , 1 , 2 , . . . iteratively. − 1 ◮ Show max e,t { E [load( e, t )] } increases ≤ D 32 in step ℓ . ℓ

  25. b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2 Claim There exist waiting times s.t. load( e, t ) ≤ O (1) ∀ e, t Idea: ◮ Fix waiting times on level ℓ = 0 , 1 , 2 , . . . iteratively. − 1 ◮ Show max e,t { E [load( e, t )] } increases ≤ D 32 in step ℓ . ℓ − 1 ◮ Eventually load( e, t ) ≤ 1 + � ℓ ≥ 0 D 32 ≤ O (1). ℓ

  26. Proof ◮ Pick level-0 waiting times α ∼ [ D ] n . ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ 1 + D − 1 32 ∀ e, t ] > 0

  27. Proof ◮ Pick level-0 waiting times α ∼ [ D ] n . ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ 1 + D − 1 32 ∀ e, t ] > 0 ◮ E [ Y ( e, t )] ≤ 1

  28. Proof ◮ Pick level-0 waiting times α ∼ [ D ] n . ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ 1 + D − 1 32 ∀ e, t ] > 0 ◮ E [ Y ( e, t )] ≤ 1 ◮ Y ( e, t ) = � n i =1 Pr[ i crosses e at t | α ] � �� � 1 ∈ [0 , D )1 / 4 ] √ (

  29. Proof ◮ Pick level-0 waiting times α ∼ [ D ] n . ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ 1 + D − 1 32 ∀ e, t ] > 0 ◮ E [ Y ( e, t )] ≤ 1 ◮ Y ( e, t ) = � n i =1 Pr[ i crosses e at t | α ] � �� � 1 ∈ [0 , D )1 / 4 ] √ ( ◮ Pr[ Y ( e, t ) > 1 + D − 1 32 ] ≤ e − Ω( D 1 / 16 )

  30. Proof ◮ Pick level-0 waiting times α ∼ [ D ] n . ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ 1 + D − 1 32 ∀ e, t ] > 0 ◮ E [ Y ( e, t )] ≤ 1 packets Rand. var. ◮ Y ( e, t ) = � n i =1 Pr[ i crosses e at t | α ] ≤ D � �� � Y ( e, t ) 1 ∈ [0 , D )1 / 4 ] √ ( ◮ Pr[ Y ( e, t ) > 1 + D − 1 32 ] ≤ e − Ω( D 1 / 16 ) i ≤ O ( D 2 ) Y ( e ′ , t ′ )

  31. Proof ◮ Pick level-0 waiting times α ∼ [ D ] n . ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ 1 + D − 1 32 ∀ e, t ] > 0 ◮ E [ Y ( e, t )] ≤ 1 packets Rand. var. ◮ Y ( e, t ) = � n i =1 Pr[ i crosses e at t | α ] ≤ D � �� � Y ( e, t ) 1 ∈ [0 , D )1 / 4 ] √ ( ◮ Pr[ Y ( e, t ) > 1 + D − 1 32 ] ≤ e − Ω( D 1 / 16 ) i ≤ O ( D 2 ) Y ( e ′ , t ′ ) ◮ Dependence degree ≤ O ( D 3 )

  32. Proof ◮ Suppose waiting times on level 0 , . . . , ℓ − 1 already fixed. ◮ Pick level- ℓ waiting times α ∼ [∆ 1 / 4 ] n × D ∆ . ∆ := D ℓ ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ E [ Y ( e, t )] + ∆ − 1 32 ∀ e, t ] > 0 ◮ E [ Y ( e, t )] ≤ 1+ o (1) packets Rand. var. ◮ Y ( e, t ) = � n i =1 Pr[ i crosses e at t | α ] ≤ O (∆ 2 ) � �� � 1 ∈ [0 , ∆)1 / 4 ] √ ( Y ( e, t ) ◮ Pr[ Y ( e, t ) > E [ Y ( e, t )] + ∆ − 1 32 ] ≤ e − Ω(∆ 1 / 16 ) ◮ If nonzero, i ≤ O (∆ 2 ) Pr[ i crosses e at t ] ≥ � 1 1 ≥ ℓ ′ ≥ ℓ ∆ 2 D 1 / 4 ℓ ′ Y ( e ′ , t ′ ) ◮ Possible positions & time frame ≤ O (∆) ◮ Dependence degree ≤ O (∆ 4 )

  33. Proof ◮ Suppose waiting times on level 0 , . . . , ℓ − 1 already fixed. ◮ Pick level- ℓ waiting times α ∼ [∆ 1 / 4 ] n × D ∆ . ∆ := D ℓ ◮ Y ( e, t ) := E [load( e, t ) | α ] = ave. load on e at t dep. on α Lemma Pr[ Y ( e, t ) ≤ E [ Y ( e, t )] + ∆ − 1 32 ∀ e, t ] > 0 ◮ E [ Y ( e, t )] ≤ 1+ o (1) packets Rand. var. ◮ Y ( e, t ) = � n i =1 Pr[ i crosses e at t | α ] ≤ O (∆ 2 ) � �� � 1 ∈ [0 , ∆)1 / 4 ] √ ( Y ( e, t ) ◮ Pr[ Y ( e, t ) > E [ Y ( e, t )] + ∆ − 1 32 ] ≤ e − Ω(∆ 1 / 16 ) ◮ If nonzero, i ≤ O (∆ 2 ) Pr[ i crosses e at t ] ≥ � 1 1 ≥ ℓ ′ ≥ ℓ ∆ 2 D 1 / 4 ℓ ′ Y ( e ′ , t ′ ) ◮ Possible positions & time frame ≤ O (∆) ◮ Dependence degree ≤ O (∆ 4 )

  34. O (1) -size edge buffers

  35. O (1) -size edge buffers Theorem ∃ O (congestion + dilation)-time, O (1)-load schedule where packets wait { 0 , 1 } time units per node.

  36. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b O (1) -size edge buffers Theorem ∃ O (congestion + dilation)-time, O (1)-load schedule where packets wait { 0 , 1 } time units per node. level 0 level 1 level 2 ◮ Assign path edges to intervals s.t. level ℓ interval gets D 1 / 4 ℓ edges

  37. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b O (1) -size edge buffers Theorem ∃ O (congestion + dilation)-time, O (1)-load schedule where packets wait { 0 , 1 } time units per node. level 0 level 1 level 2 2 2 2 2 2 2 2 2 2 ◮ Assign path edges to intervals s.t. level ℓ interval gets D 1 / 4 ℓ edges

  38. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b O (1) -size edge buffers Theorem ∃ O (congestion + dilation)-time, O (1)-load schedule where packets wait { 0 , 1 } time units per node. level 0 level 1 level 2 2 1 2 2 1 2 2 1 2 2 1 2 2 1 ◮ Assign path edges to intervals s.t. level ℓ interval gets D 1 / 4 ℓ edges

  39. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b O (1) -size edge buffers Theorem ∃ O (congestion + dilation)-time, O (1)-load schedule where packets wait { 0 , 1 } time units per node. level 0 level 1 level 2 2 1 2 0 2 1 2 2 1 2 0 2 1 2 2 1 ◮ Assign path edges to intervals s.t. level ℓ interval gets D 1 / 4 ℓ edges

  40. b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b b O (1) -size edge buffers Theorem ∃ O (congestion + dilation)-time, O (1)-load schedule where packets wait { 0 , 1 } time units per node. level 0 level 1 level 2 2 1 2 0 2 1 2 2 1 2 0 2 1 2 2 1 ◮ Assign path edges to intervals s.t. level ℓ interval gets D 1 / 4 ℓ edges ◮ Wait on first α ∼ [ D 1 / 4 ] assigned edges ℓ

  41. A lower bound construction e 1 n packets e 2 source sink e n

  42. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  43. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  44. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  45. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  46. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  47. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  48. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  49. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  50. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  51. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  52. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  53. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order

  54. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order Observations: ◮ Congestion n

  55. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order Observations: ◮ Congestion n ◮ Dilation 2 n + 3

  56. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order Observations: ◮ makespan ≥ 3 n ◮ Congestion n ◮ Dilation 2 n + 3

  57. A lower bound construction e 1 n packets e 2 source sink e n ◮ Choose P 1 , . . . , P n : go through e 1 , . . . , e n in random order Observations: ◮ makespan ≥ 3 n ◮ Congestion n ◮ Suppose makespan ≤ (3 + ε ) n ◮ Dilation 2 n + 3

Recommend


More recommend