presentation by joe szymanski for upper layer protocols may 18, 2015
TRANSCRIPT
![Page 1: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/1.jpg)
Presentation by Joe SzymanskiFor Upper Layer Protocols
April 18, 2023
![Page 2: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/2.jpg)
7654321
What is a big fat pipe?High bandwidth-delay product
What is the unit of measure? Bits per seconds times seconds results in bits?
Bandwidth-delay product is max bits “in flight”
Data1 bps
Delay = 6 seconds
![Page 3: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/3.jpg)
Why are big fat pipes special?Two parts to bandwidth-delay
Bandwidth high speedDelay
Each requires special considerations with regards to congestion control
![Page 4: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/4.jpg)
The effects of high speedDuring steady data transfer:
What error rate is needed to reach a given throughput?
For packet size = 1500 bytes and RTT = 100 ms:
To reach a throughput of 10 Gbps:
pprrateerrorpacket
ThroughputMax__
5.1_
bpss
byteperbitsbytesppr 5102.1
1.0
__815001
10
510
102
102.15.1
10
p
p
![Page 5: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/5.jpg)
Other difficulties for high speedPacket loss rate creates a limit to max window
sizeHow long to reach max throughput in slow
start?For a 10Gbps link, it takes a windows size of
83,333 packets and 17 RTTsRecovery from consecutive timeouts
Two consecutive timeouts ? First timeout Second timeout
To reach 10Gbps again, it takes 83,332 RTTs
ssthresh = cwnd/2, cwnd = 1 MSS
ssthresh = 2 MSS, cwnd = 1 MSS
![Page 6: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/6.jpg)
What about high delay?High delay means lots of bits are in flight at
onceA single loss takes just over 1 RTT to be
detected2 × bandwidth-delay product bits are sent
between loss and detection of lossAll of these bits potentially need to be
retransmittedWhat can fix this?
SACK with selective repeat
![Page 7: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/7.jpg)
Proposed SolutionsHigh Speed TCP
Proposed by Sally Floyd The ICSI Center for Internet Research
Once the congestion window reaches a threshold, a new function is used for window increases and decreases
H-TCPProposed by D. Leith and R. Shorten
Hamilton Institute, NUI MaynoothChanges the values for additive increase and
multiplicative decrease based on congestion
![Page 8: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/8.jpg)
High Speed TCP (Floyd)While packet drop rate p < 0.0015 (or while
congestion window < 31), use standard TCP rules
Otherwise, increase/decrease the congestion window by a function of the current congestion windowIf Wi is the current congestion window, let Wi+1
f(Wi)Different functions are used for increase and
decrease of the congestion window
![Page 9: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/9.jpg)
High Speed TCP (Floyd) (cont’d)
Through a lot of math based on the chosen packet drop rate and the required throughput, the following are given for a (the function for increasing the cwnd) and b (the function for decreasing the cwnd) w is the current congestion window (in packets)W is the threshold to use the new equationsW1 is the required final throughput
B = b(W1)
)(0.2
)()(0.2)(
2
wb
wpwbwwa
5.0)log()log(
)log()log()5.0()(
1
WW
WwBwb
![Page 10: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/10.jpg)
HTCP (Leith, Shorten)Using an analysis of drop-tail networks, it is
shown that a TCP friendly congestion control scheme must have the following:Let α be the additive increase factorLet β be the multiplicative decrease factorα = 2(1 - β)
Highest throughput can be achieved by settingα must be calculated
as in the above equationmax
min
RTT
RTT
![Page 11: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/11.jpg)
HTCP (Leith, Shorten) (cont’d)
For each ACK, set α as a factor of the time since the last congestion eventIf the last event was recently, set δ = 1
This corresponds to standard TCP congestion controlOtherwise, set δ = f(t), where f is a function of t,
the time since the last congestion eventSet α = 2(1 – β)δ to maintain TCP friendliness
For each congestion event, set β = RTTmin / RTTmax
There are functions that can be used that avoid direct calculations on RTTmin and RTTmax
![Page 12: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/12.jpg)
ImplementationChange SCTP stack to allow for congestion
control modulesImplement and test an HTCP moduleStandard test cases:
Loss rates of 0%, 5%, and 10%For more details, contact me later
![Page 13: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/13.jpg)
Results, 0% loss
Standard
HTCP
![Page 14: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/14.jpg)
Results, 5% loss
Standard
HTCP
![Page 15: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/15.jpg)
Results, 10% loss
Standard
HTCP
![Page 16: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/16.jpg)
What happened?HTCP performed worse than standard
congestion control in high loss casesWhy?
HTCP only performed slightly better than standard congestion control otherwise
What changes can be made to increase performance?Remove some of the multiplicative decrease
![Page 17: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/17.jpg)
Results, 0% loss
Standard
HTCP
HTCP (Modified)
![Page 18: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/18.jpg)
Results, 5% loss
Standard
HTCP
HTCP (Modified)
![Page 19: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/19.jpg)
Results, all cases
Don’t panic!I’ll show you what each line means.
![Page 20: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/20.jpg)
What’s wrong with the modification?Is the modified HTCP algorithm TCP friendly?Will the modified HTCP algorithm work well
on a link that is used by multiple TCP streams?
![Page 21: Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015](https://reader036.vdocuments.us/reader036/viewer/2022062313/56649d005503460f949d3137/html5/thumbnails/21.jpg)