Dynamic-CBT and ChIPS - Router Support for Improved Multimedia Performance on the Internet
description
Transcript of Dynamic-CBT and ChIPS - Router Support for Improved Multimedia Performance on the Internet
Dynamic-CBT and ChIPS - Router Support for Improved
Multimedia Performance on the Internet
Jae Chung and Mark Claypool
Department of Computer Science
WPI
In Proceedings of ACM Multimedia
November 2000
The Internet and Multimedia
• Internet routers are best effort– No timing constraints
– Packet loss, which indicates congestion
• TCP– Completely reliable delivery through retransmission
– Respond to loss as congestion
• But … TCP often unsuitable for interactive multimedia– Full reliability not needed
– Window-based rate fluctuations
Multimedia Using TCP
Multimedia Using UDP
Multimedia on the Internet
• Multimedia often uses UDP– Avoid delay and jitter from retransmission
– Rate-based
– Unresponsive!
• Router queue management goals– Congestion Control
– Fairness
– Reduce Jitter
Current Router Queue Management
Drop Tail (FIFO)Drop Tail (FIFO)
Resource ReservationResource Reservation
...... CBQCBQ Floyd, Jacobson
93 Floyd, Jacobson
95 Lin, Morris
97
Bursty loss
Unfairness (tcp, other)
No QoS support
REDRED FREDFRED
Active Queue MgmtActive Queue Mgmt
......
Class-Based Threshold (CBT) AQM Support for Multimedia - Jeffay, 99
Drop Tail (FIFO)Drop Tail (FIFO)
Resource ReservationResource Reservation
...... CBQCBQ REDRED FREDFRED
Class-Based Threshold (CBT)
Class-Based Threshold (CBT)
Active Queue MgmtActive Queue Mgmt
......
Outline
• Introduction • CBT and D-CBT
– Design
– Evaluation
• ChIPS– Design
– Evaluation
• Conclusion
CBT Concepts
• CBQ + RED: Class-based isolation on RED
• Use Class Thresholds and Avg. # of enqueued packets on a single FIFO Queue
• Three classes: TCP, MM UDP (flow controlled) and Unresponsive UDP
TCP
MMUDP
UDP
RED
CBT Design
CBT - Pros and Cons
• Pros: RED + Class-Based Isolation– Early Congestion Notification
– Protect TCP, and protect (distinguish) MM UDP
– Different flows coexist with predefined fairness.
– Dividing bandwidth assigned is up to the class.
• Cons: CBQ function w/o admission control– Might not work well for certain traffic mixes
– Arguable that it’s not fair (as in the case of CBQ)
Dynamic-CBT
Drop Tail (FIFO)Drop Tail (FIFO)
Resource ReservationResource Reservation
...... CBQCBQ REDRED FREDFRED
Class-Based Threshold (CBT)
Class-Based Threshold (CBT) Dynamic-CBTDynamic-CBT
Active Queue MgmtActive Queue Mgmt
......
ChIPSChIPS
Dynamic-CBT and ChIPS
Drop Tail (FIFO)Drop Tail (FIFO)
Resource ReservationResource Reservation
...... CBQCBQ REDRED FREDFRED
Class-Based Threshold (CBT)
Class-Based Threshold (CBT) Dynamic-CBTDynamic-CBT
Active Queue MgmtActive Queue Mgmt
......
D-CBT Design
Responsive MM
EnableThrsh
Flow Counting in D-CBT
• For every incoming packet, insert or update <dest-addr, flow-id, local-time> info and update count– Sorted Linked List - O(n)– Hash Table - O(1)
• Every ms, delete old info and update count– Sorted Linked List - O(n)– Hash Table - O(n)
• (How are flows counted in FRED?)
Evaluation in NS
• Developed responsive multimedia application (for tagged UDP class)– AIMD Media Scaling (5 discrete rates)
– “MPEG-1 like” transmission rates
– [CC00a], MM-Flow
• Implemented and validated CBT
• Implemented D-CBT and measured congestion time fairness– RED vs. CBT vs. D-CBT
Validation of CBT on NS
0 20 60 110 160 180
6 ProShare - Unresponsive MM (210Kbps each)
240 FTP-TCP
1 UDP blast (10Mbps, 1KB)
• RED Settings:qsize = 60 pktsmax-th = 30 pkts min-th = 15 pktsqweight = 0.002max-pro = 0.1
• CBT Settings:mm-th = 10 pkts
udp-th = 2 pkts
(Second)
X axis: Seconds, Y axis: Kbyte/Sec
PJS99 Experimental Results
NS Simulated Results
Aggregate TCP Throughput under RED
(Our setup is ok, so now can check our CBT test)
Aggregate TCP Throughput under CBT
X axis: Seconds, Y axis: Kbyte/Sec
PJS99 Experimental Results
NS Simulated Results
Simulation (RED, CBT, D-CBT)
0 10 20 30
25 FTP-TCP
30 FTP-TCP
2 CBR-UDP(5Mbps each)
10 MM-UDP
s1
n1
s2
s66
s67
n2
r2
r2
r66
r67
25Mbps, 20ms
25Mbps, 5ms25Mbps, 5ms
n1-n2: q_size = 60
RED: max_th = 15 min_th = 5 qweight = 0.002 max_prb = 0.1
CBT: mmu_th = 2.9 udp_th = 0.6Second
Jain’s Fairness Index ( f ) - Jain, 91
• Examples:– 1 flow– 2 flows, 5 Kbps each– 2 flows, 9 Kbps and 1Kbps
f (x0, x1, x2,…, xn) =( xi )2i=0
n
i=0n xi
2n
0 f 1 (Greatest Fairness)
RED: Class Average Per-Flow Throughput
537293 161
851 720 601
45034681
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
0 ~ 10 Sec 10 ~ 20 Sec 20 ~ 30 Sec
Kbp
s
TCP
TAG_UDP
UTAG_UDP
Fairness: RED
Fairness: CBT
CBT: Class Average Per-Flow Throughput
587 613
305
760 739657624
318
0
100
200
300
400
500
600
700
800
900
1000
0 ~ 10 Sec 10 ~ 20 Sec 20 ~ 30 Sec
Kbp
s
TCP
TAG_UDP
UTAG_UDP
Fairness: D-CBT
D-CBT: Class Average Per-Flow Throughput
622659
356
653 660
378
637
313
0
100
200
300
400
500
600
700
800
900
1000
0 ~ 10 Sec 10 ~ 20 Sec 20 ~ 30 Sec
Kbp
s
TCP
TAG_UDP
UTAG_UDP
Outline
• Introduction • CBT and D-CBT
– Design – Evaluation
• ChIPS – Design
– Evaluation
• Conclusion
Cut-In Packet Scheduling (ChIPS) Design
ChIPS Evaluation - Jitter
Frame Sequence Number
MM Frame Delay
Sec
ond
D-CBT-FIFO MM1 DelayD-CBT-ChIPS MM1 Delay
ChIPS Evaluation - Fairness
TCP Packets Delivered
TCP Packet Drop Rate
TCP Throughput
D-CBT 66,648 pkts 4.46 % 17,773 Kbps
D-CBT w/ ChIPS
66,386 pkts 4.44 % 17,703 Kbps
D-CBT: Class Average Per-Flow Throughput
622659
356
653 660
378
637
313
0
100
200
300
400
500
600
700
800
900
1000
0 ~ 10 Sec 10 ~ 20 Sec 20 ~ 30 Sec
Kbp
s
TCP
TAG_UDP
UTAG_UDP
D-CBT with ChIPS: Class Average Per-Flow Throughput
608666
355
673 664
384
563
297
0
100
200
300
400
500
600
700
800
900
1000
0 ~ 10 Sec 10 ~ 20 Sec 20 ~ 30 Sec
Kbp
s
TCP
TAG_UDP
UTAG_UDP
Conclusion
Fair toTCP
Fair toMixed(Fixed)
Fair toMixed
(Variable)
ImproveMM Jitter
D-CBTChIPS X X X X
RED X
CBT X X
D-CBTFIFO X X X
Future Work
• Active Flow Counting (Overhead)
– For every incoming packet, update flow infoHash Table - O(1)
– Every ms, delete old flowsHash Table - O(n)
• Measure Overhead– Processing Time and Memory Usage
Future Work
• How many different classes are needed?– Example
1 class is RED
1 class per flow is FRED
– Overhead per class
• Effects of D-CBT and ChIPS on Perceptual Quality
Evaluation of Science?
• Category of Paper
• Science Evaluation (1-10)?
• Space devoted to Experiments?