Stochastic Fair Blue An Algorithm For Enforcing Fairness Wu-chang Feng (OGI/OHSU) Dilip Kandlur (IBM) Debanjan Saha (Tellium) Kang Shin (University of Michigan) April 26, 2001

Download Report

Transcript Stochastic Fair Blue An Algorithm For Enforcing Fairness Wu-chang Feng (OGI/OHSU) Dilip Kandlur (IBM) Debanjan Saha (Tellium) Kang Shin (University of Michigan) April 26, 2001

Stochastic Fair Blue
An Algorithm For Enforcing
Fairness
Wu-chang Feng (OGI/OHSU)
Dilip Kandlur (IBM)
Debanjan Saha (Tellium)
Kang Shin (University of Michigan)
April 26, 2001
Outline
• Motivation
• Background
– Packet scheduling
– Buffer management
• Bloom Filters and Blue
• Stochastic Fair Blue
• Conclusion
Motivation
• Internet relies on TCP congestion control
• Proliferation of non-responsive applications
• Network mechanisms
– Packet scheduling
– Buffer management
Packet scheduling approaches
• WFQ, W2FQ [Bennett96], Virtual Clock[Zhang90],
SCFQ [Golestani94], STFQ [Goyal96]
– per-flow packet scheduling and queue management
+ accuracy, correctness
- overhead, partitioned buffers
• SFQ [McKenney90], CBQ [Floyd94]
– approximate fairness using hashes or flow classification
+ low overhead
- misclassification
• RED with per-active flow queuing [Suter98]
+ lower overhead than WFQ
- overhead still O(N)
Buffer management approaches
• RED with penalty box [Floyd97]
– Analyze drop history
+ no per-flow state
- accuracy, complexity, large #s of bad flows
• Flow RED [Lin97]
– Examine per-flow queue occupancy
+ no per-flow state
- accuracy vs. queue size, large #s of bad flows
• Core-Stateless FQ [Stoica98]
– Rate labeling at edge with priority dropping in core
+ core router overhead, correctness
- packet overhead, coordination required, deployment
Stochastic Fair Blue
• Buffer management algorithm
• Single FIFO queue
• Combines
– Bloom filters
– Blue queue management
Bloom Filters
• Used in
– Spell checkers (by dictionary word)
– Browser caches (by URL)
– Web caches (by URL)
• Apply multiple independent hash functions on input
dictionary
• Lookup or locate objects based on their hashing
signature
Blue
• De-couple congestion management from queue length
• Rely only on longer-term queue and link history
• Salient features
– Low packet loss
– High link utilization
– Low queuing delay
• http://www.thefengs.com/wuchang/blue
Blue
Sources
A
L Mbs
B
Sinks
Sinks generate
DupACKs/ECN
Rate = L Mbs
Queue drops and/or ECN marks at steady rate
Rate = Exactly what will keep sources at L Mbs
Example Blue Algorithm
• Single dropping/marking probability
– Increase upon packet loss
– Decrease when link underutilized
– Freeze value upon changing
Upon packet loss:
if ((now - last_update) > freeze_time) then
Pmark = Pmark + delta
last_update = now
Upon link idle:
if ((now - last_update) > freeze_time) then
Pmark = Pmark - delta
last_update = now
Stochastic Fair Blue (SFB)
• Single FIFO queue
• Multiple independent hash functions applied to each
packet
• Packets update multiple accounting bins
• Blue performed on accounting bins
• Observation
–
–
–
–
Non-responsive flows drive P to 1.0 in all bins
TCP flows have some bins with normal P
Pmin = 1.0 , rate-limit
Pmin < 1.0 , mark with probability Pmin
SFB
h0
Pmin=1.0
0
Non-responsive
Flow
1
h1
P=1.0
2 P=1.0
TCP Flow
hL-1
P=0.3
P=0.2
Pmin=0.2
N-1
P=1.0
NL virtual bins out of L*N actual bins
SFB Evaluation
• 400 TCP flows
• 1 non-responsive flow sending at 45 Mbs
• Evaluation
– 200KB, 2-level SFB with 23 bins per level (529 virtual bins)
– 200KB RED queue
– 400KB SFQ with 46 RED queues
100 Mbs
100 Mbs
45 Mbs
45 Mbs
SFB Evaluation
RED
Loss rates
TCP Flows = 3.07 Mbs
Non-responsive = 10.32 Mbs
SFQ+RED
Loss rates
TCP Flows = 2.53 Mbs
Non-responsive = 43.94 Mbs
SFB Evaluation
SFB
Loss rates
TCP Flows = 0.01 Mbs
Non-responsive = 44.84 Mbs
SFB and Misclassification
• SFB deteriorates with increasing non-responsive flows
• Non-responsive flows pollute bins in each level
• Probability of misclassification
– p = [1 - (1 - 1/N)M]L
– Given M, optimize L and N subject to L*N=C
SFB and Misclassification
4 non-responsive flows
8 non-responsive flows
SFB with Moving Hash Functions
• SFB
– Virtual buckets from spatial replication of bins
• Moving hash functions
– Virtual buckets temporally
• Advantages
– Handles misclassification
– Handles reformed flows
SFB with Moving Hash Functions
Conclusion
• Stochastic Fair Blue
– Combine Blue queue management with Bloom filters
+ no per-flow state, small amount of buffers, tunable to # of bad
flows, amenable to hardware implementations
- short-term accuracy
• Current status
– 2 known vendor implementations
– Linux implementation
• Future work
– Hardware implementation using COTS programmable network
processor