150 likes | 278 Vues
Packet Scheduling with Bounded Buffers. A router can send one packet at a time Arriving packets must be queued in a finite buffer B (though we often ignore this issue) Packets are ordered pairs: (value, deadline) Packets arrive in an online fashion Goal: maximize value of packets sent.
E N D
Packet Scheduling with Bounded Buffers • A router can send one packet at a time • Arriving packets must be queued in a finite buffer B (though we often ignore this issue) • Packets are ordered pairs: (value, deadline) • Packets arrive in an online fashion • Goal: maximize value of packets sent
0: (1,1), (3,2), (3,3), (2,3), (4,4), (1,5) arrive (1,1) dropped because of deadline, other packets more valuable (1,5) dropped because of buffer size 1: (7,2), (1,3), and (6,5) arrive (1,3) and (2,3) dropped because of deadlines, other packets more valuable (3,2) (3,3) (2,3) (4,4) Time: 1, packet (3,2) sent Example (7,2) (3,3) (4,4) (6,5) Time: 2, packet (7,2) sent
(3,2) (3,3) (2,3) (4,4) Time: 1, packet (4,4) sent Greedy algorithm • Greedy: • Always send feasible packet with maximum value • Greedy is 2-competitive • Come up with a 2 packet instance which gives lower bound of 2
Lower Bound: φ = (√5 + 1)/2 Figures from “Online Scheduling with Partial Job Values: Does Timesharing or Randomization Help?” by Chin and Fung, Algorithmica, 37, 149-164, 2003.
(3,2) (3,3) (2,3) (4,4) Packets that arrive must have dj ≥ 4 Agreeable Deadlines • If ri < rj then di ≤ dj • Key property • All packets that arrive at time t have deadlines at least as large as largest deadline in buffer • Lower bound example obeys this property, so the lower bound holds for this restricted version of the problem
Some Notes • Canonical order of packets in buffer: • Order feasible packets by deadline first, then value within equal deadline packets • There exists an optimal solution (OPT) that sends packets in non-decreasing order of deadline
Modified Greedy (MG) Algorithm • Given buffer in canonical order • Define e to be packet with earliest deadline (max value) • Define h to be packet with max value (earliest deadline) • If ve ≥ vh/φ, then send packet e • Else send first packet f such that • vf ≥ φ ve • vf ≥ vh/φ
Proof Structure • In each time step t, we will adjust OPT in a way so that • MG and OPT always have the same buffer • The value gained by OPT in t only increases • The buffer for OPT is only improved • MG(t) ≥ OPT(t) / φ
OPT MG MG OPT e e f f j h h Case Analysis • Case 1: MG and OPT send same packet • Case 2: • In paper, they make 2 cases for this case • Case 3: • Case 4: OPT MG e j f h
MG e j h OPT e f h MG OPT e f j h Case 2: OPT never sends packet f. Why? Observations: vj ≥ vf. Why? Manipulation: make OPT’s new buffer identical to MG’s vf ≥ vh / φ and vh ≥ vj implies vf ≥ vj / φ
MG e h OPT f h OPT MG e f h Case 3: OPT must eventually send f. Why? Manipulation: let OPT send both e and f this turn make OPT’s new buffer identical to MG’s ve ≤ vf /φ implies vf + ve ≤ (1 + 1 / φ)vf = φvf
MG e f h OPT e j h OPT MG e j f h Case 4: OPT never sends packet e. Why? OPT must eventually send f. Why? Identify packets between j-1 and f+1 that OPT eventually sends All of these packets can be sent assuming e is sent this round Thus, all of these packets can be sent if f is sent this round This is where we leverage the agreeable deadline constraint Manipulation: Have OPT send f instead of j this round.
Future Work • MG only needs agreeable deadlines for case 4 (case 5 in paper) • How does MG do without agreeable deadline constraint? • Authors believe answer is 3/ φ ≈ 1.854 • They have a lower bound instance • Authors believe they have a φ-competitive algorithm for general case • Question: Can we tune MG to be better than 3/ φ for general case? Change parameters sacrificing performance in other cases to improve case 4.
Lower Bound Example • Time 0: (φ0,1), (φ-,2), (φ+,n+1) • Time 1: (φ1,2), (φ2-,3), (φ2+,n+2) • … • Time i: (φi,i+1), (φi+1-,i+2), (φi+1+,n+i+1) • … • Time n-2: (φn-2,n-1), (φn-1-,n), (φn-1+,2n-1) • Time n-1: (φn-1,n), (φn+,2n)
Tune MG • Original MG • If ve ≥ vh/φ, then send packet e • Else send first packet f such that • vf ≥ φ ve • vf ≥ vh/φ • How could we alter MG?