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]
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]
Main result Theorem (R. ’13) Much simpler proof of O (congestion + dilation)-packet routing (also with O (1)-size edge buffers).
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!
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.
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
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
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]
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 . δ
A probabilistic schedule
A probabilistic schedule
b b b b b b b b b b A probabilistic schedule
b b b b b b b b b b A probabilistic schedule D level 0
b b b b b b b b b b A probabilistic schedule √ D 1 := D level 0 level 1
b b b b b b b b b b A probabilistic schedule D 2 := √ D 1 level 0 level 1 level 2
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 ℓ
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
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
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 ℓ
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
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
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
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.
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 ℓ . ℓ
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). ℓ
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
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
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 ] √ (
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 )
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 ′ )
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 )
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 )
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 )
O (1) -size edge buffers
O (1) -size edge buffers Theorem ∃ O (congestion + dilation)-time, O (1)-load schedule where packets wait { 0 , 1 } time units per node.
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
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
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
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
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 ℓ
A lower bound construction e 1 n packets e 2 source sink e n
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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