Swarun Kumar With Slides From Prof Katabi Alizadeh et al Congestion A big problem Sources in the Internet are compete for bandwidth and buffer space S 1 S 2 R1 D 10Mbs 2Mbs 100Mbs ID: 642851
Download Presentation The PPT/PDF document "Congestion Control: TCP & DC-TCP" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
Congestion Control: TCP & DC-TCP
Swarun Kumar
With Slides From: Prof. Katabi,
Alizadeh
et al.Slide2
Congestion: A big problem
Sources in the Internet are compete for bandwidth and buffer space
S
1
S
2
R1
D
10Mb/s
2Mb/s
100Mb/s
Why is it a problem?
Sources are unaware of current state of resource
Sources
are unaware of each other
Manifestations:
Lost packets (buffer overflow at routers)Long delays (queuing in router buffers)
S
1
S
2Slide3
Solution: Congestion Control
Ask the senders to slow downBut how much do you slow down?
-
Efficiency
: Maximize Utilization
S
1
S
2
R1
D
10Mb/s
2Mb/s
100Mb/s
-
Fairness
: Each user gets a fair shareS1 + S2 = 2Mb/s S1
= S2
= 1Mb/sSlide4
Max-Min Fairness
Each user gets min(demand, fair share)
S
1
S
2
R1
D
9Mb/s
S
3
1
= 1Mb/s
2= 7Mb/s3=
Demands
1
= 1Mb/s
2
= 4Mb/s
3= 4Mb/s
Max-min Fair RatesSlide5
TCP Congestion Control
Simple idea: Send a few packets.
If a packet is dropped => decrease rate.
If no drops => increase rate.
Control rate via congestion window
cwnd
= Number of packets a sender can send without an acknowledgment (i.e. in one RTT)Increase cwnd to increase rateHow does cwnd relate to actual rate?
Throughput = cwnd/RTTSlide6
How much should TCP increase/decrease cwnd
?
Basic rule:
Additive increase, Multiplicative decrease (AIMD)
For every
RTT
:No loss => cwnd = cwnd +1
A loss => cwnd = cwnd/2Slide7
Additive
Increase
D
A
Src
Dest
cwnd
= 1
cwnd
+= 1
cwnd
= 2
D
D
A
A
cwnd = 3
D
D
A
A
D
A
cwnd = 4
Multiplicative
Decrease
D
cwnd
=
10
D
…
X
D
D
cwnd
=
5
D
… Slide8
AIMD Leads to Efficiency and Fairness
User 1: x
1
User 2: x
2
fairness
Line x
1
=x
2
Efficiency line
(x
1
+x
2
=
C)
(x
1
,x
2
)
(x
1
/2,x
2
/2)
(x
1
/2+
a,x2/2+a)Slide9
TCP Add-ons: Slow Start
Time
Congestion
Window
Slow StartSlide10
TCP Add-ons: Fast retransmit/recovery
Time
Congestion
Window
3 dup
acksSlide11
DC-TCP: TCP for Data Centers
TCP suffers major problems:
Incast
Queue Buildup
11
Data Center traffic is two fold:
Short Flows (50 KB – 1 MB)
Large flows (1MB – 50 MB)
Delay-sensitive
Throughput-sensitiveSlide12
Incast
12
TCP timeout
Worker 1
Worker 2
Worker 3
Worker 4
Master
Time out after
300 ms
Synchronized mice collide
.
(e.g. in map/reduce)Slide13
Queue Buildup
13
Sender 1
Sender 2
Receiver
Elephant flows
buildup queues.
Increased latency for
mice flows
.Slide14
Solution: Leverage “ECN”
14
Sender 1
Sender 2
Receiver
ECN Mark (1 bit)
ECN = Explicit Congestion NotificationSlide15
DC-TCP: Key Idea
React in
proportion to the
extent
of congestion, not
its
presence.
18
ECN Marks
TCP
DCTCP
1 0 1 1 1 1 0 1 1 1
Cut window by
50%
Cut window by 40%
0 0 0 0 0 0 0 0 0 1Cut window by 50%
Cut window by 5%Slide16
DC-TCP
Algorithm
At Router:
Mark packets when
Q
ueue Length > K.
19
At Sender:
Maintain running average of fraction of
packets marked (α
).
In each RTT:
Adaptive window decreases:Note: decrease factor between 1 and 2.
BKMark
Don’t MarkSlide17
Sample Questions (Quiz 2, S’11)
Question 1:
What’s the max-throughput (in
pkts
/s) if the
source uses
cwnd = 5 pkts?(Assume ACKs are delivered instantly)
S
1
D
Capacity:
100
pkt
/s
One-way Delay: 0.1sRouter100 pkt buffer
Capacity:10 pkt/sOne-way Delay: 1sSlide18
Sample Questions (Quiz 2, S’11)
Question 2:
What’s the max-throughput (in
pkts
/s) if the source uses
cwnd
= 20 pkts?(Assume ACKs are delivered instantly)
S
1
D
Capacity:
100
pkt
/s
One-way Delay: 0.1sRouter100 pkt buffer
Capacity:10 pkt/sOne-way Delay: 1sSlide19
Sample Questions (Quiz 2, S’11)
Question 3:
What’s the maximum
cwnd
that TCP’s AIMD can have?
S
1
D
Capacity:
100
pkt
/
s
One-way
Delay: 0.1sRouter100 pkt buffer
Capacity:10 pkt/sOne-way Delay: 1sSlide20
Sample Questions (Quiz 2, S’11)
Question 4:
What’s the maximum
cwnd
that DC-TCP can have, assuming K=40 at the router?
S
1
D
Capacity:
100
pkt
/
s
One-way
Delay: 0.1sRouter100 pkt buffer
Capacity:10 pkt/sOne-way Delay: 1s