250 likes | 399 Views
NADA: A Unified Congestion Control Scheme for Real-Time Media. Xiaoqing Zhu and Rong Pan Advanced Architecture & Research Cisco Systems August 2012. Agenda. Design goals System model Network node operations Sender / Receiver behavior Evaluation results Open issues. Packet loss.
E N D
NADA: A Unified Congestion Control Scheme for Real-Time Media Xiaoqing Zhu and Rong Pan Advanced Architecture & Research Cisco Systems August 2012
Agenda Design goals System model Network node operations Sender/Receiver behavior Evaluation results Open issues
Packet loss Design Goal #1:Limit Self-Inflicted Delay Congestion window Size Rate React early Time Time network queue network queue
Design Goal #2:Leverage A Suite of Feedback Mechanisms PCN-based Performance Delay-based ECN-based Existing loss-based schemes none existing feature new feature Network Support
Design Goal #3:Weighted Bandwidth Sharing Application-level priority Relative bandwidth Bandwidth sharing among flows:
System Overview measure delay/marking optimal rate calculation RTCP report video playout target rate encoder rate control buffer level update network congestion notification rate shaping buffer video packets sender network node receiver
Network Node Behavior • Queuing discipline: FIFO • Congestion notification via: • Delay: no special operation at the queue • ECN: queue-based random marking • PCN: token-bucket-based random marking
Queue-based ECN Marking Marking Probability Avg. Queue Occupancy if : no marking else if : else: mark all packets update:
Token-bucket-based PCN Marking Marking Probability Remaining Token Bucket upon packet arrival: meter packet against token bucket ; update token level if : no marking else if : else: mark all packets
Sender Structure RTCP report (loss/delay/ECN/PCN) target rate calculation sending rate calculation rate shaping buffer target rate buffer level video rate encoder rate control video packets
Target Rate Calculation • Reacting to delay: session priority scaling parameter scaling parameter queuing delay marking ratio • Reacting to ECN/PCN marking:
Sending Rate Calculation encoder reaction time • Accommodate lag in encoder reaction • Trade-off between between network queuing and rate shaping delay scaling parameter
Slow-Start Rate Rate Time start time time horizon
Receiver Behavior • Observe instantaneous end-to-end per packet statistics: • Queuing delay: • ECN/PCN marking: • Obtain time-smoothed estimations: • Periodic RTCP reports (e.g., at 3% of received packets)
Test Scenario • Bottleneck bandwidth: 30Mbps • Random delay measurement error for stream 6, at time t=30s
Delay-Based Adaptation: Per-flow Rate Stream 6 delay measurement error Weighted BW sharing
Delay-Based Adaptation: Total Rate Fast convergence
Delay-Based Adaptation: Bottleneck Queue Low standing queue
Delay-Based Adaptation: Packet Loss Ratio No persistent losses
Delay vs. ECN: Per-Flow Rate Delay-Based ECN-Based
Delay vs. ECN: Bottleneck Queue Delay ECN
ECN vs. PCN: Per-Flow Rate ECN PCN Smoother streaming rates
ECN vs. PCN: Total Rate ECN PCN Slight under-utilization No losses
ECNvs. PCN: Bottleneck Queue ECN PCN Zero standing queue
Conclusions and Next Steps • Key benefits of NADA: • Fast rate adaptation • Weighted bandwidth sharing • Can work with a range of congestion signals • In case of PCN: zero standing queue and smoother streaming rates • Next steps: • Future evaluations in linux-based implementations • Graceful transition between different congestion signals • Compete robustly against loss-based schemes