a competitive algorithm for scheduling packets with
play

A -Competitive Algorithm for Scheduling Packets with Deadlines - PowerPoint PPT Presentation

A -Competitive Algorithm for Scheduling Packets with Deadlines Pavel Vesel y University of Warwick Joint work with Marek Chrobak (UC Riverside), Lukasz Je z (Wroc law), and Ji r Sgall (Charles University, Prague)


  1. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time 1 2 3 Each has a deadline and a weight w p = 2 Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  2. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time 1 2 3 Each has a deadline and a weight w p = 2 Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step Goal: maximize total weight of scheduled packets Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  3. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 Each has a deadline and a weight (reward) w p = 2 Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  4. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 1 . 7 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  5. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 1 . 7 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  6. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 OP T ALG = 1 . 7+1 ≈ 1 . 59 1 . 7 1 . 7 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  7. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 1 . 7 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  8. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 1 . 7 1 . 7 2 . 7 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  9. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 1 . 7 1 . 7 2 . 7 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  10. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 1 . 7 OP T ALG = 2 · 1 . 7+2 . 7 1 . 7 1 . 7+2 . 7 ≈ 1 . 39 2 . 7 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  11. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets 1 2 3 4 1 1 . 7 1 . 7 2 . 7 2 . 7 4 . 3 Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  12. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets Scheduling problem 1 | online , r j , p j = 1 | � w j (1 − U j ) Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  13. Online Packet Scheduling with Deadlines Buffer Input port Output port Network switch: Packets arrive over time (orders) 1 2 3 ALG Each has a deadline and a weight (reward) w p = 2 OPT Time discrete, consisting of slots or steps r p = 1 d p = 3 One packet transmitted in each step (weeks) Goal: maximize total weight of scheduled packets Scheduling problem 1 | online , r j , p j = 1 | � w j (1 − U j ) A.k.a. Buffer Management in Quality of Service Switches Online Packet Scheduling 8 / 26 Pavel Vesel´ y

  14. Previous work We focus on deterministic algorithms Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  15. Previous work We focus on deterministic algorithms Greedy algorithm 2-competitive ◮ Schedules always the heaviest pending packet Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  16. Previous work We focus on deterministic algorithms 1 Greedy algorithm 2-competitive φ ◮ Schedules always the heaviest pending packet φ Lower bound of the golden ratio φ 2 √ φ = 1 2 ( 5 + 1) ≈ 1 . 618 [H´ ajek ’01, Andelman et al. ’03, φ 2 Chin & Fung ’03] φ 3 1 + 1 φ = φ . . . Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  17. 5 2 34 21 13 8 3 Previous work We focus on deterministic algorithms 1 Greedy algorithm 2-competitive φ ◮ Schedules always the heaviest pending packet φ Lower bound of the golden ratio φ 2 √ φ = 1 2 ( 5 + 1) ≈ 1 . 618 [H´ ajek ’01, Andelman et al. ’03, φ 2 Chin & Fung ’03] φ 3 1 + 1 φ = φ . . . Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  18. Previous work We focus on deterministic algorithms 1 Greedy algorithm 2-competitive φ ◮ Schedules always the heaviest pending packet φ Lower bound of the golden ratio φ 2 √ φ = 1 2 ( 5 + 1) ≈ 1 . 618 [H´ ajek ’01, Andelman et al. ’03, φ 2 Chin & Fung ’03] φ 3 1 + 1 φ = φ . . . √ 2 2 − 1 ≈ 1 . 828-competitive algorithm [Englert & Westermann ’07] Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  19. Previous work We focus on deterministic algorithms 1 Greedy algorithm 2-competitive φ ◮ Schedules always the heaviest pending packet φ Lower bound of the golden ratio φ 2 √ φ = 1 2 ( 5 + 1) ≈ 1 . 618 [H´ ajek ’01, Andelman et al. ’03, φ 2 Chin & Fung ’03] φ 3 1 + 1 φ = φ . . . √ 2 2 − 1 ≈ 1 . 828-competitive algorithm [Englert & Westermann ’07] φ -competitive algorithms for some special instances [Kesselman et al. ’01, Chin et al. ’04, Li et al. ’05, Bienkowski et al. ’13, B¨ ohm et al. ’16] Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  20. Previous work We focus on deterministic algorithms 1 Greedy algorithm 2-competitive φ ◮ Schedules always the heaviest pending packet φ Lower bound of the golden ratio φ 2 √ φ = 1 2 ( 5 + 1) ≈ 1 . 618 [H´ ajek ’01, Andelman et al. ’03, φ 2 Chin & Fung ’03] φ 3 1 + 1 φ = φ . . . √ 2 2 − 1 ≈ 1 . 828-competitive algorithm [Englert & Westermann ’07] φ -competitive algorithms for some special instances [Kesselman et al. ’01, Chin et al. ’04, Li et al. ’05, Bienkowski et al. ’13, B¨ ohm et al. ’16] Is there a φ -competitive algorithm? Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  21. Previous work We focus on deterministic algorithms 1 Greedy algorithm 2-competitive φ ◮ Schedules always the heaviest pending packet φ Lower bound of the golden ratio φ 2 √ φ = 1 2 ( 5 + 1) ≈ 1 . 618 [H´ ajek ’01, Andelman et al. ’03, φ 2 Chin & Fung ’03] φ 3 1 + 1 φ = φ . . . √ 2 2 − 1 ≈ 1 . 828-competitive algorithm [Englert & Westermann ’07] φ -competitive algorithms for some special instances [Kesselman et al. ’01, Chin et al. ’04, Li et al. ’05, Bienkowski et al. ’13, B¨ ohm et al. ’16] Is there a φ -competitive algorithm? Yes! Online Packet Scheduling 9 / 26 Pavel Vesel´ y

  22. New result Theorem There is a φ -competitive deterministic algorithm. Online Packet Scheduling 10 / 26 Pavel Vesel´ y

  23. New result Theorem There is a φ -competitive deterministic algorithm. Key technique: Plan Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Online Packet Scheduling 10 / 26 Pavel Vesel´ y

  24. New result Theorem There is a φ -competitive deterministic algorithm. Key technique: Plan Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Optimal future profit unless new packets arrive Online Packet Scheduling 10 / 26 Pavel Vesel´ y

  25. New result Theorem There is a φ -competitive deterministic algorithm. Key technique: Plan Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Optimal future profit unless new packets arrive Scheduled plans (a.k.a. provisional schedules) used already by [Li et al. ’05, Li et al. ’07, Englert & Westermann ’07] Online Packet Scheduling 10 / 26 Pavel Vesel´ y

  26. Algorithm Online Packet Scheduling 11 / 26 Pavel Vesel´ y

  27. Algorithm Plan ( φ ) Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Online Packet Scheduling 12 / 26 Pavel Vesel´ y

  28. Algorithm Plan ( φ ) Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Algorithm Plan ( φ ) Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) Online Packet Scheduling 12 / 26 Pavel Vesel´ y

  29. Algorithm Plan ( φ ) Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Algorithm Plan ( φ ) Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) t P p t + 1 Q p Online Packet Scheduling 12 / 26 Pavel Vesel´ y

  30. Algorithm Plan ( φ ) Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Algorithm Plan ( φ ) Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) t P p t + 1 Q p ◮ w p is the gain in this step ◮ w ( Q p ) is the optimal future profit unless new packets arrive Online Packet Scheduling 12 / 26 Pavel Vesel´ y

  31. Algorithm Plan ( φ ) Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Algorithm Plan ( φ ) Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) t P p t + 1 Q p ◮ w p is the gain in this step ◮ w ( Q p ) is the optimal future profit unless new packets arrive Very elegant algorithm . . . Online Packet Scheduling 12 / 26 Pavel Vesel´ y

  32. Algorithm Plan ( φ ) Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Algorithm Plan ( φ ) Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) t P p t + 1 Q p ◮ w p is the gain in this step ◮ w ( Q p ) is the optimal future profit unless new packets arrive Very elegant algorithm . . . . . . but not φ -competitive Online Packet Scheduling 12 / 26 Pavel Vesel´ y

  33. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  34. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . 1 2 3 4 5 0 . 5 1 . 6 1 0 . 6 0 . 4 0 . 1 Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  35. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . 1 2 3 4 5 0 . 5 1 . 6 1 0 . 6 0 . 4 �∈ plan 0 . 1 Plan: 1 1 . 6 0 . 6 0 . 1 0 . 5 Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  36. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . 1 2 3 4 5 0 . 5 1 . 6 1 0 . 6 0 . 4 �∈ plan 0 . 1 Plan: Plan: 1 0 . 5 1 . 6 0 . 6 0 . 1 Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  37. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . 1 2 3 4 5 0 . 5 1 . 6 1 0 . 6 0 . 4 �∈ plan 0 . 1 Plan: Plan: 1 . 6 0 . 6 0 . 1 0 . 5 1 Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  38. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . 1 2 3 4 5 Definition 0 . 5 1 . 6 Slot τ is tight w.r.t. plan P iff 1 # of slots till τ = # of packets j ∈ P : d j ≤ τ 0 . 6 0 . 4 �∈ plan 0 . 1 Plan: Plan: 1 . 6 0 . 6 0 . 1 0 . 5 1 tight Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  39. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . 1 2 3 4 5 Definition 0 . 5 1 . 6 Slot τ is tight w.r.t. plan P iff 1 # of slots till τ = # of packets j ∈ P : d j ≤ τ 0 . 6 0 . 4 �∈ plan 0 . 1 Plan: Plan: 1 . 6 0 . 6 0 . 1 0 . 5 1 Segments: Definition Segment = interval between tight slots Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  40. Plan and its Structure Plan P Max-weight feasible subset of pending packets in step t ◮ feasible = can be scheduled in slots t , t + 1 , . . . 1 2 3 4 5 Definition 0 . 5 1 . 6 Slot τ is tight w.r.t. plan P iff 1 # of slots till τ = # of packets j ∈ P : d j ≤ τ 0 . 6 0 . 4 �∈ plan 0 . 1 Plan: Plan: 1 . 6 0 . 6 0 . 1 0 . 5 1 Segments: Definition Segment = interval between tight slots P Online Packet Scheduling 13 / 26 Pavel Vesel´ y

  41. Plan Updates After Packet p is Scheduled p in the 1st segment (“greedy step”) d p P p d p Q p Online Packet Scheduling 14 / 26 Pavel Vesel´ y

  42. Plan Updates After Packet p is Scheduled p in the 1st segment (“greedy step”) d p P p d p Q p p in a later segment (“leap step”) d p P p Online Packet Scheduling 14 / 26 Pavel Vesel´ y

  43. Plan Updates After Packet p is Scheduled p in the 1st segment (“greedy step”) d p P p d p Q p p in a later segment (“leap step”) d p P ℓ p d p Q p ℓ = lightest in the 1st segment Online Packet Scheduling 14 / 26 Pavel Vesel´ y

  44. Plan Updates After Packet p is Scheduled p in the 1st segment (“greedy step”) d p P p d p Q p p in a later segment (“leap step”) d p d ̺ P ℓ p d p d ̺ Q p ̺ ℓ = lightest in the 1st segment ̺ = heaviest not in P which can replace p ◮ replacement packet for p Online Packet Scheduling 14 / 26 Pavel Vesel´ y

  45. Problem of Plan ( φ ): Weight Decreases in the Plan Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  46. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  47. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ ◮ In a schedule of P , any packet can be in the 1st slot of a segment τ Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  48. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ ◮ In a schedule of P , any packet can be in the 1st slot of a segment d ℓ τ ℓ Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  49. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ ◮ In a schedule of P , any packet can be in the 1st slot of a segment τ d ℓ ℓ Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  50. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ ◮ In a schedule of P , any packet can be in the 1st slot of a segment minwt ( τ ) τ t Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  51. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ ◮ In a schedule of P , any packet can be in the 1st slot of a segment minwt ( τ ) τ t minwt after plan updates minwt( τ ) does not decrease for any τ : ◮ after arrival of a new packet ◮ after scheduling a packet from the 1st segment (greedy step) Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  52. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ ◮ In a schedule of P , any packet can be in the 1st slot of a segment minwt ( τ ) τ t minwt after plan updates minwt( τ ) does not decrease for any τ : ◮ after arrival of a new packet ◮ after scheduling a packet from the 1st segment (greedy step) minwt( τ ) decreases for some τ after sch. a packet from later segment Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  53. Problem of Plan ( φ ): Weight Decreases in the Plan minwt( τ ) = min-weight in P till the next tight slot after τ ◮ In a schedule of P , any packet can be in the 1st slot of a segment minwt ( τ ) τ t minwt after plan updates minwt( τ ) does not decrease for any τ : ◮ after arrival of a new packet ◮ after scheduling a packet from the 1st segment (greedy step) minwt( τ ) decreases for some τ after sch. a packet from later segment The problem: d p d ̺ ̺ �∈ P ⇒ w ̺ < minwt( d ̺ ) P ℓ p d p d ̺ Q p ̺ Online Packet Scheduling 15 / 26 Pavel Vesel´ y

  54. Solution: Maintaining Slot-Monotonicity of minwt Idea: modify Plan ( φ ) so that minwt( τ ) never decreases for any τ Online Packet Scheduling 16 / 26 Pavel Vesel´ y

  55. Solution: Maintaining Slot-Monotonicity of minwt Idea: modify Plan ( φ ) so that minwt( τ ) never decreases for any τ The problem: d p d ̺ ̺ �∈ P ⇒ w ̺ < minwt( d ̺ ) P ℓ p d p d ̺ Q p ̺ Online Packet Scheduling 16 / 26 Pavel Vesel´ y

  56. Solution: Maintaining Slot-Monotonicity of minwt Idea: modify Plan ( φ ) so that minwt( τ ) never decreases for any τ The problem: d p d ̺ ̺ �∈ P ⇒ w ̺ < minwt( d ̺ ) P ℓ p d p d ̺ Q p ̺ ⇒ increase the weight of ̺ to minwt( d ̺ ) Online Packet Scheduling 16 / 26 Pavel Vesel´ y

  57. Solution: Maintaining Slot-Monotonicity of minwt Idea: modify Plan ( φ ) so that minwt( τ ) never decreases for any τ The problem: d p d ̺ ̺ �∈ P ⇒ w ̺ < minwt( d ̺ ) P ℓ p d p d ̺ Q p ̺ ⇒ increase the weight of ̺ to minwt( d ̺ ) Not enough if segments merge: Online Packet Scheduling 16 / 26 Pavel Vesel´ y

  58. Solution: Maintaining Slot-Monotonicity of minwt Idea: modify Plan ( φ ) so that minwt( τ ) never decreases for any τ The problem: d p d ̺ ̺ �∈ P ⇒ w ̺ < minwt( d ̺ ) P ℓ p d p d ̺ Q p ̺ ⇒ increase the weight of ̺ to minwt( d ̺ ) Not enough if segments merge: d p d ̺ minwt ( τ ) τ t d p d ̺ τ t + 1 Online Packet Scheduling 16 / 26 Pavel Vesel´ y

  59. Solution: Maintaining Slot-Monotonicity of minwt Idea: modify Plan ( φ ) so that minwt( τ ) never decreases for any τ The problem: d p d ̺ ̺ �∈ P ⇒ w ̺ < minwt( d ̺ ) P ℓ p d p d ̺ Q p ̺ ⇒ increase the weight of ̺ to minwt( d ̺ ) Not enough if segments merge: d p d ̺ minwt ( τ ) τ t d p d ̺ τ t + 1 ⇒ avoid merging segments Online Packet Scheduling 16 / 26 Pavel Vesel´ y

  60. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  61. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  62. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: d p d ̺ . . . . . . P p . . . . . . Q p ̺ Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  63. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: d p τ 0 d ̺ γ . . . . . . P p h 1 . . . . . . Q p ̺ ◮ h 1 = heaviest packet in ( τ 0 , γ ], Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  64. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: d p τ 0 τ 1 d ̺ γ . . . . . . P p h 1 . . . . . . Q p h 1 ̺ ◮ h 1 = heaviest packet in ( τ 0 , γ ], ◮ decrease deadline of h 1 to τ 0 Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  65. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: d p τ 0 τ 1 τ 2 d ̺ γ . . . . . . P p h 1 h 1 h 2 . . . . . . Q p h 1 h 1 h 2 ̺ ◮ h 2 = heaviest packet in ( τ 1 , γ ], ◮ decrease deadline of h 2 to τ 1 Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  66. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: d p τ 0 τ 1 τ 2 τ 3 d ̺ γ . . . . . . P p h 1 h 1 h 2 h 2 h 3 . . . . . . Q p h 1 h 1 h 2 h 2 h 3 ̺ ◮ h 3 = heaviest packet in ( τ 2 , γ ], ◮ decrease deadline of h 3 to τ 2 Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  67. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: d p τ 0 τ 1 τ 2 τ 3 τ k − 1 d ̺ γ = τ k . . . . . . . . . P p h 1 h 1 h 2 h 2 h 3 h 3 h k − 1 h k . . . . . . . . . Q p h 1 h 1 h 2 h 2 h 3 h 3 h 4 h k ̺ ◮ for i = 1 , 2 , . . . : h i = heaviest packet in ( τ i − 1 , γ ], ◮ decrease deadline of h i to τ i − 1 ◮ stop when τ i = γ Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  68. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: d p τ 0 τ 1 τ 2 τ 3 τ k − 1 d ̺ γ = τ k . . . . . . . . . P p h 1 h 1 h 2 h 2 h 3 h 3 h k − 1 h k . . . . . . . . . Q p h 1 h 1 h 2 h 2 h 3 h 3 h 4 h k ̺ ◮ for i = 1 , 2 , . . . : h i = heaviest packet in ( τ i − 1 , γ ], ◮ decrease deadline of h i to τ i − 1 ◮ stop when τ i = γ ◮ ensure: w h i ≥ minwt( τ i − 1 ) ⋆ if w h i < minwt( τ i − 1 ), then set new weight of h i to minwt( τ i − 1 ) Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  69. Algorithm PlanM ( φ ) Maintaining Slot-Monotonicity Schedule packet p ∈ P maximizing φ · w p + w ( Q p ) ◮ Q p is the plan after p is scheduled and time is incremented ( p �∈ Q p ) If p is not in the 1st segment of P (leap step): ◮ Increase the weight of ̺ to minwt( d ̺ ) ◮ Avoid merging segments: In a nutshell Avoid merging segments and minwt decreases in a right way d p τ 0 τ 1 τ 2 τ 3 τ k − 1 d ̺ γ = τ k . . . . . . . . . ⋆ Done by decreasing deadlines and increasing weights of certain packets P p h 1 h 1 h 2 h 2 h 3 h 3 h k − 1 h k . . . . . . . . . Q p h 1 h 1 h 2 h 2 h 3 h 3 h 4 h k ̺ ◮ for i = 1 , 2 , . . . : h i = heaviest packet in ( τ i − 1 , γ ], ◮ decrease deadline of h i to τ i − 1 ◮ stop when τ i = γ ◮ ensure: w h i ≥ minwt( τ i − 1 ) ⋆ if w h i < minwt( τ i − 1 ), then set new weight of h i to minwt( τ i − 1 ) Online Packet Scheduling 17 / 26 Pavel Vesel´ y

  70. Analysis Online Packet Scheduling 18 / 26 Pavel Vesel´ y

  71. Analysis Overview Competitive analysis ◮ Goal: w (OPT) ≤ φ · w (ALG) for any instance Online Packet Scheduling 19 / 26 Pavel Vesel´ y

Recommend


More recommend