Michael Markovitch Joint work with Gabriel Scalosub Department of Communications Systems Engineering Ben-Gurion University Bounded Delay Scheduling with Packet Dependencies
Real Time Video Streaming 2 Sandvine, “Global Internet phenomena report – 1H 2013”
Real Time Video Streaming Video streams are comprised of frames – Bursty traffic Video frames can be large (>>1500B) – Fragmentation Interdependency between different packets – Dropping some packets -> drop frame Packets MUST arrive in a timely manner 3
Current situation & Related work Best practices: – DiffServ AF queue for video streams – Admission control (average throughput) Number of streams can be large – Average throughput < channel access rate – Overlapping bursts >> momentary channel rate Related work – FIFO queuing with dependencies – Deadline scheduling without dependencies [MPR, 2011] [MPR, 2012] [EHMPRR, 2012] [KPS, 2013] [SML, 2013] [EW, 2012] [AMS, 2002] 4
Deadline scheduling Every packet has a deadline Focus on scheduling Queue size assumed unbounded More information (than FIFO) 5
Buffer and Traffic Model Single non-FIFO queue of infinite size (one hop) Discrete time: Every packet : – One of multiple packets in a frame – Has arrival time, deadline, size and value Goal: Maximize value of completed frames Arrival substep Delivery substep Cleanup substep Packets arriveOne packet deliveredPackets may be dropped 6
Buffer and Traffic Model 7 k = 12
Buffer and Traffic Model Uniform slack – d Packets can be scheduled on arrival 8 Arrival sequence schedule t t Arrival(p) Deadline(p) d d
Buffer and Traffic Model Finite burst size – b 9 Arrival sequence t b
Buffer and Traffic Model 10
Competitive analysis 11
A proactive greedy algorithm Ensures completion of at least one frame – Holds packets of only one frame 12 Arrival substep Delivery substep Cleanup substep Packets arriveOne packet deliveredPackets may be dropped
Proactive greedy - example Arrival sequence Proactive greedy schedule 13
Proactive greedy – competitiveness Competitive ratio – Details in the paper Not far off from the lower bound 14
A better greedy algorithm 15 Why?
Greedy algorithm - analysis Competitive ratio – Details in the paper We have a matching lower bound Reminder: For proactive greedy – 16
What about the deadlines? Deadlines not used explicitly Bad news? – Worst case performance matches lower bound Good news – There is space for more interesting algorithms – Improve general performance How can deadlines be utilized? – Several approaches presented in the paper 17
Simulation Three online algorithms: – “Vanilla” greedy algorithm – Greedy algorithm with slack tie breaker – Opportunistic algorithm And the best current offline approximation 18
Simulation Simulation details: – Average throughput = channel access rate – 50 streams at 30FPS – Each stream starts at a random time Between 0 and 33ms – Random (short) time between successive packets “jitter” between packets of a single frame 19
Simulation results 20
To sum up First work considering both deadline scheduling and packet dependencies Very simplified model – Yet hard Improvements to the model – Non uniform slack – Randomization – Redundancy 21
Questions? 22
Video Streaming There are two main approaches for streaming video: – Large buffer – Small buffer Real time video streaming – small buffer – Can not send data before it is created 23
Example - Telesurgery 24 M. Anvari, C. McKinley, and H. Stein. Establishment of the World's First Telerobotic Remote Surgical Service, Ann Surg. Mar 2005; 241(3): 460–464.
Real time video streaming A single frame can require many IP packets (>>1500B) Real time video blues: – Dropping a single packet can result in an entire frame being dropped (no EC) – Too much delay → frame unusable – Best practice does not provide any guarantees 25
Proactive greedy - analysis Arrival sequence Proactive greedy schedule Direct mapping Indirect mapping 26
Tie breaking with deadlines The real world performance can be greatly affected by the choice of a tie breaking rule: – EDF (Earliest Deadline First) tie breaking This is a refinement of the greedy algorithm – Allows to keep as much frames alive as possible – Retains the scheduling preference 27
Non obstructive EDF Can we further refine the greedy algorithm? – How to keep even more frame alive? – Alter the scheduling preference so we can schedule a packet belonging to a frame of lower preference if according to current information a it will not cause a higher preference frame to expire An attempt to imitate the offline approximation by keeping as many frames alive as possible 28
Opportunistic provisional schedule 29 Slack
Lower bound for deterministic algorithms We assume that the maximal burst size b is finite, and that b≥2d We use competitive analysis to bound the performance of deterministic online algorithms For general traffic with bounded burst size, any deterministic online algorithm has a competitive ratio 30
Lower bound for deterministic (algorithms (cont Arrival sequence Online algorithm’s schedule Adversary’s schedule d=1, b=4 31
Proactive greedy - analysis Arrival sequence Proactive greedy schedule Direct mapping Indirect mapping 32
Proactive greedy – competitiveness 33
Greedy algorithm - analysis 34