770 likes | 941 Views
End-to-End Multicast Congestion Control and Avoidance. Jiang Li Advisor: Shivkumar Kalyanaraman. Outline. Overview of multicast and multicast congestion management Solution series LE-SBCC ORMCC GMCC MCA+ Simulations & Experiments Future work. Multicast.
E N D
End-to-End Multicast Congestion Control and Avoidance Jiang Li Advisor: Shivkumar Kalyanaraman
Outline • Overview of multicast and multicast congestion management • Solution series • LE-SBCC • ORMCC • GMCC • MCA+ • Simulations & Experiments • Future work
Multicast • Efficient One-to-Many Data Distribution • Unicast: one copy for EACH receiver • Multicast: one copy for ALL receivers Multicast Unicast Source Source Router Router Receiver 1 Receiver 2 Receiver 1 Receiver 2
When / Where to Use Multicast? • Whenever / wherever efficient one-to-many delivery of same data is needed • Applications: • News/sports/stock/weather updates • Distance learning • Configuration, routing updates, service location • Teleconferencing (audio, video, shared whiteboard, text editor) • Distributed interactive gaming or simulations • Email distribution lists • Content distribution; Software distribution • Web-cache updates • Database replication
Research on Multicast • Routing • Reliable transmission • Congestion management • Security • Address allocation • And more
Multicast Congestion Management • Adapt sending rate to available bandwidth • Single-rate • Multi-rate Source Router 2Mbps 1Mbps 1Mbps 1Mbps 2Mbps Receiver 2 Receiver 1
Challenges • Multiple paths • Complex congestion pattern • Heterogeneous bandwidth • Dynamically changing Source Router Bottlenecks … 0.5Mbps 2Mbps ` 1Mbps Receivers
Potential Problems • Drop-to-Zero • React to congestion more than necessary Source Congestion ! Cut rate Router Congestion ! Cut rate btnk3 Congestion ! Cut rate btnk1 Sending rate 4Mbps Congestion ! Cut rate btnk2 3Mbps Congestion ! Cut rate 2Mbps 2Mbps 1Mbps 1Mbps 0 Mbps 0 Mbps Rate increase
Potential Problems (cont’d) • Feedback implosion Source Router … Receivers
Potential Problems (cont’d) • Large number of states and large computation complexity • O(1) number of states wanted • O(1) computation time wanted • Unfriendliness to other existent congestion control protocols (e.g. TCP) • Break others or be broken by others
End-to-end Solution Categories • End-to-end vs. third-party assisted • End: source, receiver • Third-party: router, proxy etc Easy to deploy. Our choice. (End) Receiver (Third party) (End) Router Source (End) Receiver Network (Third party) Proxy (uncontrollable by end users)
Congestion Control vs. Congestion Avoidance • Congestion control • Reactive • Congestion is managed when packets are lost • Congestion avoidance • Proactive • Congestion is managed when queue is being built up at bottlenecks • Low avg. queue length, high b/w utilization Queue length Packet drop begins Buffer size Time t 0 Cong. Ctrl Cong. Avoid.
A Series of Solutions • LE-SBCC (single-rate congestion control) • Purely source-based, compatible with many multicast transport protocols • ORMCC (single-rate congestion control) • O(1)state and computation complexity • Scalable to large groups • GMCC (multi-rate congestion control) • Adaptive to receiver heterogeneity • MCA+ (single-rate congestion avoidance) • Responsive to incipient congestion
Outline • Overview of multicast and multicast congestion management • Solution series • LE-SBCC • ORMCC • GMCC • MCA+ • Simulations • Future work
LE-SBCC • Loss-Event Oriented Source-Based Multicast Congestion Control • Motivations • Compatible with all multicast transport protocols (e.g. RMTP, PGM) • Easiest deployment • Trade-offs • For small to medium sessions • Single-rate
Can be deployed by upgrading source only Characteristics • Based on source • Source does most of the work, e.g. • Filtering feedback packets • Adjusting sending rate • Minimum receiver support • Single-bit feedback • Can be piggybacked by ACK or NAK • Commonly available in transport protocols
Problem • How to react to congestion? Source Router Rcvr 1 Rcvr 2 Rcvr 3 Rcvr 4 Rcvr 5
Source Reacts to 70 feedback packets Router 70 40 50 30 60 Rcvr 1 Rcvr 2 Rcvr 3 Rcvr 4 Rcvr 5 Idea • React to a number of feedback packets approx. equal to those from the most congested receiver. • React to the most congested receiver
Source Router 70 40 50 30 60 Rcvr 1 Rcvr 2 Rcvr 3 Rcvr 4 Rcvr 5 Feedback Filter Cascade Rate adaptation MaxLPRF LI2LE ATF Feedback packets RTT Estimator RTT (Round Trip Time): biased towards the most congested receiver
LI LI LE LE Filter 1: LI2LE • Pass at most one feedback packet per RTTper receiver • Loss indication (LI): an original feedback packet • Loss event (LE): a packet passing the filter Filtering receiver 1’s feedback RTT Filtering receiver 2’s feedback t0 RTT t1 < RTT
Filter 2: Max-LPRF • Passes every LE with the probability: Source Approx. 70 LEs Router X1=70 X5=40 X4=60 X3=30 X2=50 Rcvr 1 Rcvr 2 Rcvr 3 Rcvr 4 Rcvr 5
Filter 3: ATF • Enforce at most one rate cut per RTT. Rate cut Sending rate Accepted for rate cut Ignored Loss events Time RTT t0 t0+RTT
RTT RTT RTT RTT RTT RTT Rate Adaptation • AIMD (additive increase/multiplicative decrease) • Other (e.g. TFRC, binomial) V s: packet size s/RTT V/2 Sending rate Time
Outline • Overview of multicast and multicast congestion management • Solution series • LE-SBCC • ORMCC • GMCC • MCA+ • Simulations & Experiments • Future work
ORMCC • LE-SBCC • O(N) state at the source (N: # receivers) • Subject to feedback implosion • ORMCC • O(1) state and computation complexity • Statistics-based feedback suppression • Proprietary support required from receivers
Source Functions • Dynamically maintains a congestion representative (CR) (the slowest receiver) • Using TRAC (Throughput Rate At Congestion) • Receiving rate during congestion epochs • Slowest receiver has the lowest average TRAC • Only accepts CR’s input for rate adaptation (AIMD) • Detect & recover from loss of CR • Omitted here
Receiver Functions • Measures TRAC • Only during congestion epochs • Average over several packets or a short period to avoid oscillation • Sends feedback with TRAC • Suppresses if its average TRAC < average CR TRAC – σ • σ : std. deviation of CR TRAC • Average CR TRAC andσare multicast by the source
Outline • Overview of multicast and multicast congestion management • Solution series • LE-SBCC • ORMCC • GMCC • MCA+ • Simulations & Experiments • Future work
GMCC (Generalized Multicast Congestion Control) • LE-SBCC & ORMCC • Single-rate • GMCC: A multi-rate scheme • Various receivers receive data at different rates. • Can run in single-rate mode • Leverage ORMCC and greatly simplify the scheme Source Router 2Mbps 1Mbps 1Mbps 1Mbps 2Mbps Receiver 2 Receiver 1
Previous Multi-Rate Schemes • Receiver-based schemes • The source sends data in each layer without regarding to network situation • Receivers increase/decrease their receiving rates by constantly join/leave layers • Coarse control, heavy router burden (Very short) (Very short) Receiver Source Join interval Leave interval 1 layer = 1 multicast group Layer 4 Data ~ Layer 3 Layer 2 Layer 1 Leave Join
Previous Multi-Rate Schemes (cont’d) • SMCC • Source adaptation • Static layering (pre-defined maximum rate for each layer) (Dynamic) (Dynamic) Receiver Source Join interval Leave interval single-rate Layer 4 Data single-rate Layer 3 ~ Layer 2 single-rate single-rate Layer 1 Leave Join
GMCC • Independent single-rate congestion control in each layer • Dynamic layering(no rate limit for each layer) (Dynamic) (Dynamic) Source Receiver Leave interval Join interval Layer 4 Layer 3 Data ~ Layer 2 Layer 1 Leave Join
=2Mbps Key Ideas • “Unsatisfied” receivers join a new layer. Source Router 1Mbps 1Mbps 1Mbps 1Mbps 2Mbps Receiver 2 Receiver 1 Unsatisfied: much less congested than the most congested one (in a layer)
Key Ideas (cont’d) • No receiver is allowed to be the most congested in more than one layer. Source Router 0.33Mbps 0.5Mbps 0.33Mbps 1Mbps 0.33Mbps 0.5Mbps 0.5Mbps 1Mbps 0.33Mbps 1Mbps 2Mbps Receiver 2 Receiver 1
Layer 3 Layer 3 Layer 2 Layer 2 Layer 2 Layer 2 Layer 1 Layer 1 Layer 1 Layer 1 Receiver Operations • Join • A receiver joins a higher layer if it sees much less congestion than CR in its top joined layer. • CR: The most congested receiver • Leave • A receiver leaves its top joined layer if it is the most congested in more than one layers. Join Less congested Leave Most congested
Source Operations • Control on and off of each layer • Only the top layer can be deactivated • A previously unnoticed problem • Do single-rate multicast congestion control in each layer • Very similar to ORMCC Receivers Layer 3 Layer 2 Layer 1
Outline • Overview of multicast and multicast congestion management • Solution series • LE-SBCC • ORMCC • GMCC • MCA+ • Simulations & Experiments • Future work
MCA+ • Multicast congestion avoidance with feedback suppression • MCA+ = ORMCC + incipient congestion detection • Using accumulation to detect incipient congestion
MCA+: Accumulation • A flow’s accumulation is a time-shifted, distributed sum of the queued bits in all nodes along its path. • Can be measured end-to-end • Showed theoretically by colleague’s work Routers Accumulations: Red flow: 5 packets Blue flow: 4 packets Yellow flow: 9 packets Data t2 t3 t1 t4 Packets in queues
N packets sent (λt) M packets received (μt) MCA+: Accumulation Measurement • Use control packets as pivot points • (λ: input rate, μ: output rate) Sender side CP0 CPi CP0 CPi Receiver side Accumulation (N – M packets) Propagation Delay Time
MCA+: Accumulation & Congestion • Accumulation ≥ 2 packets → congestion • By receivers. • Possible one packet accumulation even when underloaded • More noise, higher threshold • Accumulation ≤ 1 packet, synchronize (begin another measurement period). • Feedback and rate adaptation • Very similar to ORMCC
Outline • Overview of multicast and multicast congestion management • Solution series • LE-SBCC • ORMCC • GMCC • MCA+ • Simulations & Experiments • Future work
Problems to Solve -- Review • Drop-to-Zero • TCP-friendliness • State and computation complexity • Feedback implosion
Simulations: Drop-to-Zero Avoidance Test • Topology Source Router Bottlenecks … ` Receivers
Throughput rates of two randomly chosen unicast flows Multicast flow rate Drop-to-Zero Avoidance Test (cont’d) • LE-SBCC, using ns-2 • Multicast rate ≈ Unicast rate
Simulations: Drop-to-Zero Avoidance Test (cont’d) • ORMCC, 10000 receivers, using ROSS Unicast ORMCC Multicast ORMCC
Simulations: Drop-to-Zero Avoidance Test (cont’d) • ORMCC vs PGMCC & TFMCC, 500 receivers, using ROSS Unicast PGMCC ORMCC PGMCC TFMCC
Bottleneck Utilization Improvement of MCA+ • Average queue length
Bottleneck Utilization Improvement of MCA+ • Bandwidth utilization