max min fairness
DESCRIPTION
Max Min Fairness. How define fairness? “ Any session is entitled to as much network use as is any other ” … .unless some sessions can use more without hurting others Other definitions Network usage depends on the resource consumption by the session Pay/bid for what you use. A Simple Example. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/1.jpg)
Max Min Fairness
• How define fairness?• “Any session is entitled to as much network use as
is any other”• ….unless some sessions can use more without
hurting others• Other definitions
– Network usage depends on the resource consumption by the session
– Pay/bid for what you use
![Page 2: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/2.jpg)
A Simple Example
• Max-min allocation: 1/3, 1/3, 1/3, 2/3
![Page 3: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/3.jpg)
How to Calculate Max Min Flow Share
Fluid model:
1. Increase the flow until some pipe fills-up.
2. Fix the bandwidth of the bottleneck flows
3. Continue with the unfixed flows
Can be done efficiently by calculating the bottleneck link at step 1
![Page 4: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/4.jpg)
Buffer management and admission control
Simplest admission policy:
• Accept packets until buffer is full (tail drop)
However:
• Tail drop is not kind to TCP flows
• RED can be used to avoid tail drop
![Page 5: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/5.jpg)
Reminder: Hallelujah for RED• Random early detection (RED) makes three improvements• Metric is moving average of queue lengths
– small bursts pass through unharmed– only affects sustained overloads
• Packet drop probability is a function of mean queue length– prevents severe reaction to mild overload
• Can mark packets instead of dropping them– allows sources to detect network state without losses
• RED improves performance of a network of cooperating TCP sources• No bias against bursty sources• Controls queue length regardless of endpoint cooperation
ECN
![Page 6: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/6.jpg)
How does it work?
gentle RED
RED
Average Q size
Drop probability
Max-thresh 2*Max-thresh
max-p
M in - thresh
1
![Page 7: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/7.jpg)
So problem is solved?
• Fairly easy to implement in hardware!• Can work in wire-speed!• All we need to do is set the
parameters…..right • Turns out there is no universal good set of
parameters• Some studies show RED has NO advantage
over tail drop. WHY?
![Page 8: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/8.jpg)
parameters
avgQ= (1-wq)avgQ+wqq
Floyd-Jacobson:
• Wq: 0.002, not less than 0.001
• max_p: 1/50, • max_th: at least twice min_th• max_th-min_th larger than the q increase in RTT• Future work …..
![Page 9: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/9.jpg)
So does it help us to surf?
Tuning RED for Web Traffic, Christiansen et al., SIGCOMM 2000
(1)compared to a (properly configured) FIFO queue, RED has a minimal effect on HTTP response times for offered loads up to 90% of link capacity,
(2)response times at loads in this range are not substantially effected by RED control parameters,
(3)between 90% and 100% load, RED can be carefully tuned to yield performance somewhat superior to FIFO, however, response times are quite sensitive to the actual RED parameter values selected, and
(4)in such congested networks, RED parameters that provide the best link utilization produce poorer response times.
![Page 10: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/10.jpg)
SPRINT study (Diot et al.)
• A parallel study, presented at NANOG 2000
• Testbed – with CISCO routers (7500)– with Dummynet
• used “recommended” RED and GRED parameters
• Heterogeneous delays (120 to 180 ms)
![Page 11: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/11.jpg)
Traffic characteristics
• 16 to 256 TCP connections sharing the bottleneck.
• Experimental traffic generated by Chariot– long-lived TCP connections.– more “realistic” traffic mix:
• 90% short lived TCP connections (up to 20 packets)• 10 % long lived TCP connections
– 1Mbps UDP in both cases
![Page 12: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/12.jpg)
Testbed (CISCO routers)
10 Megs 75007500
![Page 13: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/13.jpg)
Testbed (Dummynet)
750010 Megs
100 MegsDummynet
7500
![Page 14: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/14.jpg)
What is Dummynet?application
network
dummynet
![Page 15: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/15.jpg)
Metrics observed
• Aggregate goodput through a router
• TCP and UDP loss rate
• Consecutive losses
• Queuing behavior
![Page 16: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/16.jpg)
Aggregate goodput (long-lived TCP)
![Page 17: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/17.jpg)
256 short and long lived TCP connections
![Page 18: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/18.jpg)
Consecutive packet losses (long lived)
![Page 19: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/19.jpg)
…if we use “optimal” RED parameters
![Page 20: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/20.jpg)
Consecutive packet losses (realistic traffic mix)
![Page 21: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/21.jpg)
Queuing behavior (256 long lived connections)
![Page 22: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/22.jpg)
Queuing behavior (256 connections, realistic mix)
![Page 23: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/23.jpg)
Diot’s summary• No significant difference on goodput, TCP
losses and UDP losses.
• On consecutive losses, clear advantage to GRED and GRED-I.
• “gentle” modification solves many RED problems.
• Oscillations: no clear winner. Traffic seems to be the determining factor.
![Page 24: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/24.jpg)
From the ISP standpoint...
• Not clear there is an advantage in deploying RED, GRED, or GRED-I.
• Maybe GRED-I is an option if one can find a “universal” exponential dropping function.
• ECN will work with any scheme.
• Not clear the solution is in the AQM space.
![Page 25: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/25.jpg)
GRED-I with exponential dropping function
buffer size
1
![Page 26: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/26.jpg)
Deficit Round Robin (DRR)
• A modification to WRR to overcome different packet sizes.
• No need to know the average packet size.
• Each Q is associated with a deficit counter.– Initiated to 0.– Holds the Q’s deficit in service
![Page 27: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/27.jpg)
DRR
Algorithm:
• If size(HOL packet) ≤ quota + deficit– Send packet– deficitdeficit+quota-(packet size)
• Else– Don’t send packet– deficitdeficit+quota
![Page 28: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/28.jpg)
About Fair Queuing...
• Not only feasible … easy at the edges!– www.agere.com (an example)– vendors support from 64k to 200k flows
• Really fair– everybody gets what he/she paid for
• local signaling (end host to CPE)
![Page 29: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/29.jpg)
fair queueing at the edge
Core-stateless fair queueing• WFQ is hard to do at the core• Edge routers estimate rate and
label packets• Core routers maintain FIFO
queues and drop based on label
![Page 30: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/30.jpg)
![Page 31: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/31.jpg)
CSFQ summary
• Better than FIFO and RED
• Similar to FRED
• Not as good as DRR
![Page 32: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/32.jpg)
Rainbow fair queueing
• Similar to CSFQ
• Have similar performance as CSFQ
• Enable applications to mark packets and achieve better goodput
![Page 33: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/33.jpg)
Rainbow Fair Queueing (RFQ)
• Example– A: 10 Kbps B: 6 Kbps
C: 8 Kbps
– Each layer: 2 Kbps
![Page 34: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/34.jpg)
RFQ: basic mechanism
(1) the estimation of the flow arrival rate at the edge routers
(2) the selection of the rates for each color
(3) the assignment of colors to packets
(4) the core router algorithm
![Page 35: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/35.jpg)
Rainbow Fair Queueing (RFQ)(1) the estimation of the flow arrival rate at the
edge routers
oldi
KTk
i
kiKTnew
i reT
ler
ki
ki 1
• rinew: arrival rate
• tik: arrival time of flow I
• lik: length of the kth packet of flow I
• K: a constant
• Tik = ti
k – tik-1
![Page 36: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/36.jpg)
Rainbow Fair Queueing (RFQ)
(2) the selection of the rates for the rates for each color
biPb
a
NibPb
a
cbN
bNbi
i
0
1
INT
• ci: i color average rate of packets
• N: total number of colors and multiple of b• a,b: determine the block structure• P: the maximum flow rate in the network
![Page 37: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/37.jpg)
Rainbow Fair Queueing (RFQ): Example
• N=8 a=b=2
c0 c1 c2 c3 c4 c5 c6 c7
P/16 P/16 P/16 P/16 P/8 P/8 P/4 P/4
![Page 38: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/38.jpg)
Rainbow Fair Queueing (RFQ)
(3) the assignment of colors to packets– Suppose the current estimate of the flow arrival rate is
r, and j is the smallest value satisfying .
– Then the current packet is assigned color with probability .
j
ii rc
0
ji 0
j
iii cc
0
![Page 39: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/39.jpg)
(4) the core router algo.
• Conditions to decrease color:– q threshold
– Flow bw
– Positive gradient
– Hold you horses
• Conditions to increase color– Time
– Flow below service rate
![Page 40: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/40.jpg)
Rainbow Fair Queueing (RFQ)
• Weighted RFQ– wi: weight for flow i
– cj = wicj
![Page 41: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/41.jpg)
Simulations: A single congested link
![Page 42: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/42.jpg)
Fairness: flow i sends at 0.313i
![Page 43: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/43.jpg)
Throughput: TCP flow
![Page 44: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/44.jpg)
Throughput: UDP flows
![Page 45: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/45.jpg)
Control Responsiveness10Mbps: 8x1M7x1M+8M
![Page 46: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/46.jpg)
Simulations: Performance Effects of Buffer Size
![Page 47: Max Min Fairness](https://reader036.vdocument.in/reader036/viewer/2022081420/56815854550346895dc5ada5/html5/thumbnails/47.jpg)
Simulations: TCP Performance Under Various round Trip Delay