EE689 Lecture 4
description
Transcript of EE689 Lecture 4
![Page 1: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/1.jpg)
1
EE689 Lecture 4
• Review of Last Lecture• UDP-based delivery• TCP-modifications
![Page 2: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/2.jpg)
2
End-to-End Congestion
• UDP-based applications should do end-to-end congestion control
• Otherwise -- BW divided unfairly• -- Loss of Goodput• TCP-friendly -- enforce TCP-like control• Hard to enforce TCP-friendly mechanism• Multiple connections/IP-spoofing get around
those mechanisms.
![Page 3: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/3.jpg)
3
UDP-based delivery
• “Nice” Applications will follow end-to-end congestion
• All of the flow control/congestion control reliability to be built into application.
• ALF - Application Level Framing - design principle - advocates application level of transport mechanisms.
![Page 4: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/4.jpg)
4
UDP-based delivery
• Packet-pair: One mechanism for BW estimation
• Send two packets back-to-back, measure the delay between acks
• ACK Compression - Receiving timestamps• Round robin scheduling /FIFO • Minimum ack spacing indicates link BW
![Page 5: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/5.jpg)
5
Cyclic UDP
• Developed at UC Berkeley• Notion of rounds -- data sent in a fixed size
time units• Retransmit data within the round• Move on to next round if data not received
within round• Apply flow control within the round.
![Page 6: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/6.jpg)
6
Cyclic UDP
• Prioritize packets within round• Order higher priority packets in front• CUDP improves chances of delivery of
higher priority packets -- retransmissions have higher priority
• NACK - indicate not received packets so far on each packet reception
![Page 7: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/7.jpg)
7
Random vs. Prioritized Loss
Set PerfectChannel
FeedbackControl
PriorityLoss
RandomLoss
A 38.63 34.99 30.46 24.86
B 38.63 34.08 30.29 24.69
C 38.63 36.10 27.64 24.94
![Page 8: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/8.jpg)
8
Cyclic UDP
• Rounds allow timely delivery• Rounds allow prioritization of current
packets• Application prioritizes within the round• Uses delay and packet losses for
determining available BW
![Page 9: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/9.jpg)
9
Estimating BW
• Loss rate = 1 - bytes recvd/ bytes sent• Expected loss rate = X• Expected delay = D1• If (L > X) EstBW = (1-L)*LtBW/(1+X) else
if (meanDelay > D1) EstBW = (1+X)*LtBW*D1/meanDelay else EstBW = (1+X)*LtBW
![Page 10: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/10.jpg)
10
![Page 11: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/11.jpg)
11
Cyclic UDP
• Adapts to Congestion• Assumes all available BW can be used• Not clear what happens to competing TCP
applications• Results indicate multiple CUDP flows share
available BW• Loss rate -- scalability ??
![Page 12: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/12.jpg)
12
Stored Media/Live Media
• Stored Media allows buffering of data, can tolerate startup delays
• More buffering -- more chances of overcoming congestion/smoother playout
• Buffering => Longer latencies, not acceptable for interactive applications
• Vxtreme etc. exploit buffering
![Page 13: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/13.jpg)
13
CUDP Summary
• Possible to design adaptive flow control into UDP application
• Allows Timely Delivery and discard of expired packets, prioritization
• Shown to scale against CUDP apps.• Not clear if more aggressive than TCP• Not a multiplicative decrease response
![Page 14: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/14.jpg)
14
TCP Modifications
• If TCP congestion/flow control is so good, why not retain it?
• Easy to show that “TCP-friendly”• Get rid of reliable/in-order delivery
mechanisms that get in the way.• HPF = Heterogeneous Packet Flows
![Page 15: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/15.jpg)
15
HPF
• Allows marking packets high/low priority• Provides In-order reliable delivery of high
priority packets• Allows low priority packets to be delivered
when enough BW available• If routers support priority, can drop low
priority packets ahead of high priority packets
![Page 16: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/16.jpg)
16
HPF Layers
• Application Framing (AF) -- convert frames into packets, packets into frames
• Windowing, Reliability, Timing and Flow-control (WRTF) -- window management, flow control, reliability, deadlines
• Congestion Control (CC) -- congestion response, estimation of RTTs
![Page 17: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/17.jpg)
17
HPF Architecture
![Page 18: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/18.jpg)
18
HPF
![Page 19: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/19.jpg)
19
Another Example
![Page 20: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/20.jpg)
20
HPF Sender Interface
![Page 21: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/21.jpg)
21
HPF Receiver Interface
![Page 22: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/22.jpg)
22
HPF
• Separate the reliable delivery from windowing mechanisms.
• Advance rcv_next pointer based on Reliable packets
• Compute fraction of packets lost as opposed to based on sequence numbers -- a burst of losses doesn’t lead to cwnd being set to 1.
• Multiplicative Decrease/Additive Increase
![Page 23: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/23.jpg)
23
HPF Congestion Control
• If ack_fraction > , cwnd = fi(cwnd), fi = TCP slow start
• If ack_fraction < , cwnd = fd(cwnd), fd = 1/(1/cwnd + 1 - ack_fraction)
= 1 - random loss probability
![Page 24: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/24.jpg)
24
HPF Performance
Protocol High:LowRatio
PacketsDropped
Improve.Vs. TCP
TCP --- 0% ----HPF 1:0 0% -4.0%
7:3 1.2% 2.2%5:5 5.1% 16.7%3:7 5.5% 21.3%
![Page 25: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/25.jpg)
25
HPF Priorities
Protocol High:LowRatio
PacketsDropped
ImproveVs. TCP
TCP ---- 0% ----HPF 1:0 0% -4.3%
7:3 1.1% 8.0%5:5 5.3% 29.7%3:7 5.7% 32.5%
![Page 26: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/26.jpg)
26
HPF - App. Adaptation
AdaptiveVCR
Non-ada.VCR/HPF
AdaptiveVCR/HPF
B Drops 93.0% 6.1% 61.5%
P Drops 24.8% 8.2% 9.3%
I Drops 11.1% 9.2% 12.2%
![Page 27: EE689 Lecture 4](https://reader036.fdocuments.us/reader036/viewer/2022062520/56815e81550346895dcd11c2/html5/thumbnails/27.jpg)
27
Summary
• UDP-based delivery puts application in charge to do flow control, congestion response etc. -- ALF plus more
• Tedious for every application to implement all the basic mechanisms
• Separate ALF policies and implementation -HPF does this and follows TCP based congestion response