Lesson 6 Congestion Control Mike Flashcards

1
Q

What is the goal of Congestion Control?

A

The goal of Congestion Control is to “fill the internet’s pipes” without overflowing them

  • Efficient throughput, fairness amongst resources & avoiding Congestion Collapse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Congestion Collapse?

A
  • It is where an “increase in load causes a decrease in useful work”
  • Happens when two streams merge together inefficiently
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What causes Congestion Collapse and what are the solutions?

A
  • Retransmissions of packets -> solved by better timers and to use TCP Congestion Control
  • Undelivered packets -> solved by Congestion Control
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What are the two different approaches to Congestion Control?

A
  • End-To-End (TCP Congestion Control)

* Network Assisted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is End-To-End (TCP) Congestion Control?

A
  • all rates are inferred by packets loss & delays
  • just keeps increasing rates until packets are lost then TCP interprets packet loss as congestion and backs off the rate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the two ways to adjust sending rates in End To End Congestion Control?

A
  • Window-Based

* Rate-Based

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is Additive Increase?

A

It’s the part of the window based algorithm that increases the packet size by one every time the sender receives a successful ACK from the receiver

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Multiplicative Decrease?

A

It’s the part of the window based algorithm that reduces the window size by half because we didn’t receive a successful ACK

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does AIMD stand for?

A

Additive Increase, Multiplicative Decrease

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the Window-Based way to adjust sending rates?

A

AIMD - only allowed a certain number of packets “in flight” until it receives an Acknowledgement from the receiver

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the Rate-Based way to adjust sending rates?

A

It monitors loss rates and uses timers to modulate rates

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Network-Assisted congestion control?

A

It’s where routers provide feedback on sending rates and update sender if there is congestion and even give specific rates that the sender should be sending at

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Given the below variables, what is the sending rate?

  • RTT = 100 milliseconds
  • Packet = 1 kB (1 Byte = 8 bits)
  • Window Size = 10 packets
A
  • 1 kB = 8 * 1000 = 8000 bits per packet
  • 10 packets –> 8000 * 10 = 80,000 bits per window size
  • So rate is 80,000 bits per 100 milliseconds or 80000/100 = 800 kB per second OR 800,000 bits per second
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What increases when Additive Increase is applied?

A

EFFICIENCY

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What increases when Multiplicative Decrease is applied?

A

FAIRNESS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Servers are ____ bandwidth and ____ latency

A

high bandwidth (can send a lot at one time)

low latency (have a short RTT to the sender and back)

17
Q

What is Throughput Collapse occur?

A

It occurs because switches get overloaded due to small switch buffer lines

18
Q

What is Barrier Synchronization and what problem does it fix?

A

It fixes Throughput Collapse by adjusting the granularity of retransmission timers to microseconds and ACK’ing every other packet

19
Q

What are the challenges of multi-media streaming?

A
  • Large volumes of data
  • No constant rate due to variable volume of data
  • low tolerance for delay variation or delay in general )but can tolerate some loss)
20
Q

In video compression what are the main 2 types of compression called?

A
  • Spatial Redundancy

* Temporal Redundancy

21
Q

What is Spatial Redundancy?

A

It’s the video compression of a SINGLE image

22
Q

What is Temporal Redundancy?

A

It’s the video compression across MULTIPLE images

23
Q

What are Reference/Anchor frames?

A

They are the base frames that are used

24
Q

What are Derived Frames (aka P Frames)?

A

a small variation on the base Anchor frame plus a few motion vectors

25
Q

What can streaming video/audio tolerate?

A
  • Some loss is fine
  • Some delay at the beginning is fine
  • VARIATION IN DELAY IS NOT TOLERATED
26
Q

Why can UDP be a better choice than TCP for Audio/Video streaming?

A

TCP has protocol overhead, is reliable and is slower

UDP doesn’t care about retransmissions or reliability an just needs to be fast

27
Q

What is the Incast problem and when does it occur?

A
  • when collective communication (i.e., many-to-one or many-to-many patterns) occurs on high fan-in switches
  • This results in many small packets arriving at the switch at the same time, thus causing some of the packets to be lost.
  • In addition, low latency network leads to the timeout delay being more than the round-trip time of the network. This causes large delays to occur in which the system is simply waiting for timeouts

*Solutions:
Reducing the retransmission timeout for TCP improves system throughput

Client acknowledges every other packet rather than every packet to reduce network load