Rate-Based Active Queue Management with Priority Classes for Better Video Transmission Jae Chung and Mark Claypool Computer Science Department Worcester Polytechnic Institute Worcester, Massachusetts, USA
ISCC02 WPI Rb-RIO #2 Streaming Media Applications Can use TCP –Hides network information –Difficult to use media scaling upon –Hard to control transmission timing –Higher jitter due to traffic burst Often use UDP –Control the flow as desired Responsiveness, Fairness –Can tolerate some frame losses Trickier for Video Streaming
ISCC02 WPI Rb-RIO #3 Difficulty of Video Streaming Inter-frame dependencies (Compression) Large frames: fragmented in IP layer IBPBBBI A Sample MPEG Stream I BPBBB
ISCC02 WPI Rb-RIO #4 Outline Introduction Approaches Rb-RIO Experiments Results Summary
ISCC02 WPI Rb-RIO #5 Approaches to The Problem Application Support –Redundancy and Error Correction –Media Scaling Network Architectural Support –Integrated Services (IntServ) –Differentiated Services (DiffServ) Router Support –Resource Reservation (WFQ, …) –Priority Class-Based Queue Management
ISCC02 WPI Rb-RIO #6 Basic Idea: Avoid Domino Frame Loss Using Priority Queuing Queue supports 3 priority class –Drop all the lowest class packets before starting to drop the next class packets MPEG Video Frame Mapping –Map I-, P- and B-frame packets to High, Mid and Low priority classes TCP Mapping –Randomly map TCP packets to the 3 classes (standalone better-than-best-effort Queue)
ISCC02 WPI Rb-RIO #7 AQM Support for Priority-Classes … … RED RIO Average Queue Size Based … … Rb-RED Rb-RIO Rate Based - Detect Congestion - Determine Degree - Notify Sources Active Queue Management
ISCC02 WPI Rb-RIO #8 Rb-RED Components –Limit:Queue Limit –Q:Queue Size –EAR:Estimated Arrival Rate –SR:Service Rate Drop Logic (for incoming packets) if (Q > Limit) Drop else if (EAR > SR) Drop with P = (EAR – SR) / EAR SR EAR
ISCC02 WPI Rb-RIO #9 Rb-RIO Drop Logic if (Q > Limit) Drop else if (EAR high > SR) if (L-class or M-class) Drop if (H-class) Drop with P = (EAR high – SR) / EAR high else if (EAR high + EAR mid > SR) if (L-class) Drop if (M-class) Drop with P = (EAR high + EAR mid – SR) / EAR mid else if (EAR > SR) if (L-class) Drop with P = (EAR – SR) / EAR low SR EAR EAR low EAR mid EAR high SR EAR EAR low EAR mid EAR high EAR EAR low EAR mid EAR high SR
ISCC02 WPI Rb-RIO #10 Rb-RIO Mappings MPEG Video –I-frame packets= H-class –P-frame packets= M-class –B-frame packets = L-class TCP –Randomly map incoming TCP packets –H-class : M-class : L-class = x : y : z
ISCC02 WPI Rb-RIO #11 Outline Introduction Approaches Rb-RIO Experiments Results Summary
ISCC02 WPI Rb-RIO #12 Experiments Implement Rb-RIO in NS General Settings –Network Packet Size = 1 KB –MPEG Frame Size (from a news clip) I, P, B = 11, 8, 2 (KB) –Rb-RIO Priority Class Mapping for TCP H : M : L = 7 : 3 : 0 Compare Rb-RIO with RED, Drop-Tail –Using TCP, MPEG and MIX (TCP + MPEG)
ISCC02 WPI Rb-RIO #13 n1-n2:q_size= 100 qweight= RED:max_th= 60 min_th= 20 max_p= 0.1 Rb-RIO: interval= 1ms ear_k= 0.5 aggr_p= Flows 20 Flows Simulation Time (Seconds) s59 s60 s1 s2 n1 r59 r60 r1 r2 n2 25Mbps, 20ms 25Mbps, 5ms packet_size = 1kb FTP-TCP EXP TCP: Setup
ISCC02 WPI Rb-RIO #14 EXP TCP: Summary Comparing Rb-RIO with Drop-Tail and RED (well-configured) –Throughput:All compatible –Drop Rate:All compatible –Fairness:RED and Rb-RIO are compatible and fairer than Drop-Tail
ISCC02 WPI Rb-RIO #15 EXP MPEG: Setup n1-n2:q_size= 100 qweight= RED:max_th= 60 min_th= 20 max_p= 0.1 Rb-RIO: interval= 1ms ear_k= 0.5 aggr_p= Flows 20 Flows Simulation Time (Seconds) s59 s60 s1 s2 n1 r59 r60 r1 r2 n2 25Mbps, 20ms 25Mbps, 5ms packet_size = 1kb Responsive MPEG Unresponsive MPEG
ISCC02 WPI Rb-RIO #16 EXP MPEG: Pkt & Frm Statistics ThroughputPkt Loss %Frm Loss % Deco Loss % Drop-Tail19.82 Mbps RED18.65 Mbps Rb-RIO20.81 Mbps Responsive MPEG Unresponsive MPEG ThroughputPkt Loss %Frm Loss % Deco Loss % Drop-Tail14.27 Mbps RED15.18 Mbps Rb-RIO 9.70 Mbps
ISCC02 WPI Rb-RIO #17 EXP MPEG: Decodable Frames (Responsive MPEG)
ISCC02 WPI Rb-RIO #18 EXP MPEG: Decodable Frames (Unresponsive MPEG)
ISCC02 WPI Rb-RIO #19 EXP MPEG: Fairness
ISCC02 WPI Rb-RIO #20 EXP MPEG: Summary Rb-RIO improves video transmission over Drop-Tail and RED –Effective use of network bandwidth –Smoother video streams (less jitter) Improves fairness among video streams –Same kind of streams –Different kind of streams
ISCC02 WPI Rb-RIO #21 EXP MIX: Setup n1-n2:q_size= 100 qweight= RED:max_th= 60 min_th= 20 max_p= 0.1 Rb-RIO: interval= 1ms ear_k= 0.5 aggr_p= Flows Simulation Time (Seconds) s59 s60 s1 s2 n1 r59 r60 r1 r2 n2 25Mbps, 20ms 25Mbps, 5ms packet_size = 1kb Responsive MPEG Unresponsive MPEG 20 Flows FTP-TCP
ISCC02 WPI Rb-RIO #22 EXP MIX: Fairness
ISCC02 WPI Rb-RIO #23 EXP MIX: Summary Rb-RIO improves video transmission over Drop-Tail and RED as in EXP MPEG Protects TCP from other flows that are unresponsive or response differently to network congestion
ISCC02 WPI Rb-RIO #24 Summary Rb-RIO behaves compatibly with well- configured RED on TCP flows Offers efficient and smoother video transmission Improves fairness among video streams Protects TCP using configurable TCP mapping ratio
ISCC02 WPI Rb-RIO #25 Future Work Thorough evaluation of Rate-Based AQM mechanism (with TCP) Try and evaluate Rb-RIO with other video streams (H.263+, RealVideo) Design an AQM mechanism that can control delay for interactive multimedia streaming