End to end multicast congestion control and avoidance
This presentation is the property of its rightful owner.
Sponsored Links
1 / 76

End-to-End Multicast Congestion Control and Avoidance PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on
  • Presentation posted in: General

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.

Download Presentation

End-to-End Multicast Congestion Control and Avoidance

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


End to end multicast congestion control and avoidance

End-to-End Multicast Congestion Control and Avoidance

Jiang Li

Advisor: Shivkumar Kalyanaraman


Outline

Outline

  • Overview of multicast and multicast congestion management

  • Solution series

    • LE-SBCC

    • ORMCC

    • GMCC

    • MCA+

  • Simulations & Experiments

  • Future work


Multicast

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

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

Research on Multicast

  • Routing

  • Reliable transmission

  • Congestion management

  • Security

  • Address allocation

  • And more


Multicast congestion management

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

Challenges

  • Multiple paths

    • Complex congestion pattern

    • Heterogeneous bandwidth

      • Dynamically changing

Source

Router

Bottlenecks

0.5Mbps

2Mbps

`

1Mbps

Receivers


Potential problems

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

Potential Problems (cont’d)

  • Feedback implosion

Source

Router

Receivers


Potential problems cont d1

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


Solution categories

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 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

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


Outline1

Outline

  • Overview of multicast and multicast congestion management

  • Solution series

    • LE-SBCC

    • ORMCC

    • GMCC

    • MCA+

  • Simulations

  • Future work


Le sbcc

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


Characteristics

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

Problem

  • How to react to congestion?

Source

Router

Rcvr 1

Rcvr 2

Rcvr 3

Rcvr 4

Rcvr 5


End to end multicast congestion control and avoidance

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


Feedback filter cascade

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


Filter 1 li2le

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

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

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


Rate adaptation

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


Outline2

Outline

  • Overview of multicast and multicast congestion management

  • Solution series

    • LE-SBCC

    • ORMCC

    • GMCC

    • MCA+

  • Simulations & Experiments

  • Future work


Ormcc

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

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

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


Outline3

Outline

  • Overview of multicast and multicast congestion management

  • Solution series

    • LE-SBCC

    • ORMCC

    • GMCC

    • MCA+

  • Simulations & Experiments

  • Future work


Gmcc generalized multicast congestion control

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

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

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


End to end multicast congestion control and avoidance

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


Key ideas

=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

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


Receiver operations

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

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


Outline4

Outline

  • Overview of multicast and multicast congestion management

  • Solution series

    • LE-SBCC

    • ORMCC

    • GMCC

    • MCA+

  • Simulations & Experiments

  • Future work


End to end multicast congestion control and avoidance

MCA+

  • Multicast congestion avoidance with feedback suppression

  • MCA+ = ORMCC + incipient congestion detection

    • Using accumulation to detect incipient congestion


Mca accumulation

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


Mca accumulation measurement

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

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


Outline5

Outline

  • Overview of multicast and multicast congestion management

  • Solution series

    • LE-SBCC

    • ORMCC

    • GMCC

    • MCA+

  • Simulations & Experiments

  • Future work


Problems to solve review

Problems to Solve -- Review

  • Drop-to-Zero

  • TCP-friendliness

  • State and computation complexity

  • Feedback implosion


Simulations drop to zero avoidance test

Simulations: Drop-to-Zero Avoidance Test

  • Topology

Source

Router

Bottlenecks

`

Receivers


Drop to zero avoidance test cont d

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

Simulations: Drop-to-Zero Avoidance Test (cont’d)

  • ORMCC, 10000 receivers, using ROSS

Unicast ORMCC

Multicast ORMCC


Simulations drop to zero avoidance test cont d1

Simulations: Drop-to-Zero Avoidance Test (cont’d)

  • ORMCC vs PGMCC & TFMCC, 500 receivers, using ROSS

Unicast PGMCC

ORMCC

PGMCC

TFMCC


Simulations drop to zero avoidance test cont d2

Simulations: Drop-to-Zero Avoidance Test (cont’d)

  • MCA+


Bottleneck utilization improvement of mca

Bottleneck Utilization Improvement of MCA+

  • Average queue length


Bottleneck utilization improvement of mca1

Bottleneck Utilization Improvement of MCA+

  • Bandwidth utilization


Throughput improvement of gmcc

Throughput Improvement of GMCC


Throughput improvement of gmcc cont d

Throughput Improvement of GMCC(cont’d)

  • 6 groups of bottlenecks: 0.2 Mbps ~ 1.2Mbps


Outline6

Outline

  • Overview of multicast and multicast congestion management

  • Solution series

    • LE-SBCC

    • ORMCC

    • GMCC

    • MCA+

  • Simulations & Experiments

  • Future work


Future work

Future Work

  • Application of GMCC to multicast video streaming

  • Application of GMCC to bulk data transmission

  • Multi-rate application layer multicast congestion control


Thank you

Thank you&


Estimated of multicast receivers on the internet

Estimated # of Multicast Receivers on the Internet


Ormcc detect recover from cr loss

ORMCCDetect/Recover from CR Loss

  • Recover from CR absence

    • Measure response time (TR) since hypothetical bottleneck queue build-up (tq)

  • If no feedback from CR for TR since tq

    • Claim CR absence

    • Requests feedback from all receivers

Feedback from

CR arrives

Queue

length

Packet loss begins

Buffer size

Time

Rate

TRAC

Time

TR

tq


Gmcc compare degree of congestion

GMCCCompare Degree of Congestion

  • Throughput Attenuation Factor (TAF)

    • A: Individual throughput attenuation factor

      • 1 - (output/input) ( )

      • Severity of congestion

    • B: Congestion occurrence rate

      • Number of packet loss epochs / Total sent packets

      • Frequency of congestion

    • TAF = A• B.Higher TAF, more congested

at congestion

Output

Input

Input - output

Packets sent

Packets arrived

Epoch 1

Epoch 2


Probabilistic inter layer bandwidth switching

Probabilistic Inter-layer Bandwidth Switching

  • Hidden bandwidth problem

Source

2Mbps

1Mbps

10Mbps

10

Mbps

Rcvr 1

Rcvr 2

Rcvr 3

Receivers


Probabilistic inter layer bandwidth switching cont d

Probabilistic Inter-layer Bandwidth Switching (cont’d)

Source

  • No change to total traffic volume

  • Difference in test period

2Mbps

Layer 2

traffic volume

1Mbps

10Mbps

Layer 1

traffic volume

10

Mbps

Rcvr 1

Rcvr 2

Rcvr 3

Test

period

Post

test

period

Receivers


Simulations tcp friendliness test

Simulations: TCP-Friendliness Test

  • Topology

TCP

Multicast


Simulations tcp friendliness test cont d

Simulations: TCP-Friendliness Test (cont’d)

  • LE-SBCC


Simulations tcp friendliness test cont d1

Simulations: TCP-Friendliness Test (cont’d)

  • ORMCC


Effect of feedback packet loss

Effect of Feedback Packet Loss

  • ORMCC, 5% loss


Cr switch test

CR Switch Test

  • ORMCC, every CR stops response after 20 seconds


Linux experiment ormcc

Linux Experiment (ORMCC)

  • Topology


Linux experiment ormcc1

Linux Experiment (ORMCC)

  • Result


Effectiveness of layering

Effectiveness of Layering

GMCC receiver 1

1Mbps

Source

Unicast receivers

5Mbps

GMCC receiver 2


Layering throughput rate 1

Layering & Throughput Rate (1)

Receiver 2 stayed in layer 1

Receiver 2 joined layer 1

Receiver 2 joined layer 0

Throughput rate of receiver 2


Effectiveness of layering cont d

Effectiveness of Layering (cont’d)

GMCC receiver 1

1Mbps

Source

Unicast receivers

10Mbps

GMCC receiver 2


Layering throughput rate 2

Layering & Throughput Rate (2)

Receiver 2 stayed in layer 1

Receiver 2 joined layer 1

Receiver 2 joined layer 0

Throughput rate of receiver 2


Gmcc s response to dynamic traffic

GMCC’s Response to Dynamic Traffic

  • Topology


Gmcc s response to dynamic traffic cont d

GMCC’s Response to Dynamic Traffic (cont’d)

  • Throughput dynamics


Gmcc pibs test

GMCC PIBS Test

  • Topology


Gmcc pibs test result

GMCC PIBS Test Result


Related research

Related Research

  • End-to-end single-rate

    • DeLucia’s scheme, PGMCC, TFMCC, MDP-CC

  • End-to-end multi-rate

    • MLDA, HALM

    • RLM,RLC,PLM,FLID-DL,FGLM,STAIR etc

  • Third-party assisted

    • Single-rate: e.g. Chiu’s work

    • Multi-rate: e.g. Kar’s work


  • Login