CongestionControlLesson6 Flashcards
What is congestion Control
Fill the pipes without overflowing them
What is congestion collapse
Increase in load -> decrease in useful work
Cause of congestion collapse
Spurious re-transmission, Undelivered packets
Solution to Congestion Collapse
Congestion Control
Goals of congestion control
Use network efficiently, Preserve fair allocation of resource, Avoid congestion collapse
Two Approaches to congestion control
end-to-end, Network Assited
End-to-End Congestion Control
No feedback from network, congesting inferred by loss and delay
Network Assisted Congestion Control
Routers provide feedback, single bit, explicit rates
What kind of congestion control does TCP use
end-to-end
How does TCP handle congestion control
Send keeps increasing their rate until getting a packet drop. Decrease rate when this happends
Why do packet drops occure
Packets are coming in at a rate that is faster than the rate that a router on the network can drain its buffer
What is a dropped packet?
The buffer on the router is full so no new incoming packets can be added.
What are the two parts of congestion control
Increase, Decrease
Purpose of the Increase part of Congestion control
test the network to determine rate
Purpose of the decrease part of congestion control
Slow rate to avoid packet drops
Two approaches to adjusting Rates
Window-Based, Rate-Based
Window-based rate control
sender can only have n packets in flight. Send uses ACKs to clock rate
In window-based rate how does the sender increase the rate?
Increase the windows size
When can a new packet be sent when using Window-based
When an acknowledgement is received
Another name for window-based rate limiting
AIMD
What should happen to the sending window size on successful round trip?
increase window size by one “additive increase”
What should happen to sending window size on roundtrip failure?
Decrease the window size by half “multiplicative decrease”
Rate-Based
Send monitors loss rate an uses a timer to adjust modulation
What is fairness in congestion control
everyone gets a fair-share
What is efficency in congestion control
network resources are used well
Phase Plot
Taking two users x1 and x2 the line x1 + x2 = c where C is the capacity of the netowrk. Anything to the left of the line is under utilization anytning to the right is overload
Key features of AIMD
Distributed, fair, efficent
What is the variable Wm in the AIMD saw tooth
Saturation point
What is Wm/2
multiplicative decrease from the saturation point
What does 3/4 * Wm represent in the sawtooth
the rate of the TCP sender. The midpoint between Wm and Wm/2
Throughput formula
lambda(x) = (k/RTT) * (sqrt(p))
Loss Rate
Wm ~ (k * sqrt(p)) ^ -1
What is high fan-in
High amount of connection from the leafs of the tree to the root. From the racks up to the switches
What are some of the realities of data centers
- High “fan-in” - High bandwidth, low latency
request in parallel with relatively small amount of data per request
switch constraint in data center
relatively small buffer size
TCP Incast happens
All servers make request. This overfills the switch buffers. Switches start burst retransmission which causes TCP timeouts. Senders will have to wait since RTT is significantly less than the timeout.
One solution to incast problem
Uses fine grain TCP retransmission timers on the order of microseconds. Timers need to be close to or equivalent to the RTT
Barrier Synchronization
A barrier for a group of threads or processes in the source code means any thread/process must stop at this point and cannot proceed until all other threads/processes reach this barrier.
Challenges of Multimedia and streaming
- large volumes, - Data volume varies overtime, - low volume for delay variation, - low volume for delay period
Digitizing Audio and video
We sample the analog signal at a fixed interval and Quantize the amplitude
Video Compression
- Image Compression spatial redundancy - Compression across images -> temporal redundancy
Explain use of anchor frames
Take a reference frame (anchor) and a derived frame (p) the derived frame is the anchor frame with motion vectors related to some blocks (the ones moving)
How does the streaming client achieve seamless playback
The server will send back start times for each frame so the client will know when to play the data.
What requirement from the server does the streaming client have
Frames must arrive quickly
How does the streaming client handle variations in transmission times.
Client should have a playout buffer that is a few frames ahead of the one currently playing. The initial frame is delay while the buffer is initialized
Which pathologies can streaming audio and video tolerate
Start Delay and Packet loss
Is TCP a good fit for streaming? Why?
NO. Reliable delivery, slowing down upon loss, Protocol overhead
Is UDP a good fit for streaming? Why?
YES. no retransmission, no sending rate adaptation
Youtube flow
Request are routed to a CDN close to the receiver. Streaming is over TCP/HTTP to keep things simple.
Skype flow
A to D (P2P) Voice traffic is routed through one another. Uses 67 bytes/pkt 140pps ~ 40kbps
QoS Marking
For example if you had a outgoing voip and ftp traffic, we set the audio packets in with a higher priority then the ftp packets. Perhaps using a priority queue.
Weighted fair queuing
The queue with the higher priority packets is processes more often
Admission control
An application declares its needs in advance and the network will block traffic if the application cannot satisfy the needs (think of a busy signal)
Commonly used QoS for streaming audio and Video
Marking Packets and Scheduling
QoS
Quality of Service
AIMD
Additive increase Multiplicative Decrease
Buffer Bloat
Buffer bloat occurs when large packets cause high latency and jitter due to excess packet buffering