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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend