Upload
amelia-park
View
218
Download
0
Embed Size (px)
DESCRIPTION
Motivation Internet relies on TCP congestion control Proliferation of non-responsive applications Network mechanisms –Packet scheduling –Buffer management
Citation preview
Stochastic Fair BlueAn 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
A BSources SinksL Mbs
Rate = L Mbs
Queue drops and/or ECN marks at steady rateRate = Exactly what will keep sources at L Mbs
Sinks generateDupACKs/ECN
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 + deltalast_update = now
Upon link idle:if ((now - last_update) > freeze_time) then
Pmark = Pmark - deltalast_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
SFBhL-1h1
P=1.0
P=1.0
P=1.0
Non-responsiveFlow
Pmin=1.0
TCP FlowP=0.2
P=0.3
Pmin=0.2
h0
0
1
2
N-1
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 Mbs45 Mbs 45 Mbs
100 Mbs
SFB EvaluationRED SFQ+RED
Loss rates
Non-responsive = 10.32 MbsTCP Flows = 3.07 Mbs
Loss rates
Non-responsive = 43.94 MbsTCP Flows = 2.53 Mbs
SFB Evaluation
Loss rates
Non-responsive = 44.84 MbsTCP Flows = 0.01 Mbs
SFB
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
8 non-responsive flows4 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