Dynamic-CBT Better Performing Active Queue Management for Multimedia Networking Jae Chung and Mark Claypool Computer Science Department Worcester Polytechnic Institute Worcester, Massachusetts, USA
Outline Introduction CBT D-CBT Evaluation Issues
Internet Routers Today n Volume of traffic increasing n More simultaneous active flows n Increase in multimedia flows –Tight timing constraints –Different flow-control mechanism than TCP n Emphasis on Congestion Control and Fairness among active flows
Current Router Queue Mgmt Drop Tail (FIFO) Resource Reservation... (Lin, Morris ‘97) Congestion handling? Fairness (tcp, other)? Support QoS? FRED Active Queue Mgmt... Class-Based Threshold (CBT) Class-Based Threshold (CBT) ( Floyd, Jacobson ‘95) CBQ ( Floyd, Jacobson ‘93) RED (Parris, Jeffay, Smith ‘99)
CBT Design
CBT - Pros and Cons n Pros: RED + Class-Based Isolation –Early congestion notification –Protect TCP and protect Tagged UDP (MM) –Different classes of flows coexist with predefined fairness n Cons: CBQ function w/o admission control – Fairness for changing traffic mixes – Utilization on outgoing link – Changes “Best-Effort” nature of Internet
Dynamic-CBT (D-CBT) Drop Tail (FIFO) Resource Reservation... CBQ RED FRED Active Queue Mgmt... Class-Based Threshold (CBT) Class-Based Threshold (CBT) Dynamic-CBT
D-CBT Design RED TCP Untagged UDP Tagged UDP (MM) Calc Thrsh Thrsh * Test Calc Thrsh Thrsh * Test Early Drop Test Queue Manager * Threshold Test is activated when red_avg > red_min Classify Count Active Flows In Each Class Update Class Avgs & RED Avg
Evaluation using NS n Developed a flow-controlled Multimedia Application (for tagged UDP class) –AIMD Media Scaling (5 discrete rates) –“MPEG-1 like” transmission rates n Implemented and validated CBT n Implemented D-CBT and measured congestion time fairness –RED vs. CBT vs. D-CBT
Simulation (RED, CBT, D-CBT) FTP-TCP 30 FTP-TCP 2 CBR-UDP (5Mbps each) 10 MM-UDP s1 n1 s2 s66 s67 n2 r2 r66 r67 25Mbps, 20ms 25Mbps, 5ms n1-n2: q_size = 60 RED: max_th = 15 min_th = 5 qweight = max_prb = 0.1 CBT: mmu_th = 2.9 udp_th = 0.6 Second
Fairness: RED
Fairness: CBT
Fairness: D-CBT
D-CBT Issues n Tagging UDP packets –Who tags packets? (End Host? ISP?) –Which field of IP header to use? IPv4: Unused Bit in Type-Of-Service Field IPv4: Another Protocol in Protocol Field IPv6: Use Priority Field n Define a flow –IPv4: Source-Destination Address –IPv6: Plus Flow-ID
D-CBT Issues n Active Flow Counting (Overhead) –For every incoming packet, insert or update info and update count Hash Table - O(1) –Every ms, delete old flows and update count Hash Table - O(n) –Measure Active Flow Counting overheads: Linux implementation Processing Time and Memory Usage
D-CBT Issues n Test D-CBT with other (available) flow- controlled MM Applications –Effect of the thresholds on MM quality n Sensitivity of D-CBT to RED parameters n How many different classes are needed? –Example 1 class is RED 1 class per flow is FRED –Overhead per class