20
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

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 2: Stochastic Fair Blue An Algorithm For Enforcing Fairness

Outline

• Motivation• Background

– Packet scheduling

– Buffer management

• Bloom Filters and Blue• Stochastic Fair Blue• Conclusion

Page 3: Stochastic Fair Blue An Algorithm For Enforcing Fairness

Motivation

• Internet relies on TCP congestion control• Proliferation of non-responsive applications• Network mechanisms

– Packet scheduling

– Buffer management

Page 4: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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)

Page 5: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 6: Stochastic Fair Blue An Algorithm For Enforcing Fairness

Stochastic Fair Blue

• Buffer management algorithm• Single FIFO queue• Combines

– Bloom filters

– Blue queue management

Page 7: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 8: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 9: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 10: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 11: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 12: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 13: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

45 Mbs 45 Mbs

100 Mbs

Page 14: Stochastic Fair Blue An Algorithm For Enforcing Fairness

SFB Evaluation

RED SFQ+RED

Loss rates

Non-responsive = 10.32 MbsTCP Flows = 3.07 Mbs

Loss rates

Non-responsive = 43.94 MbsTCP Flows = 2.53 Mbs

Page 15: Stochastic Fair Blue An Algorithm For Enforcing Fairness

SFB Evaluation

Loss rates

Non-responsive = 44.84 MbsTCP Flows = 0.01 Mbs

SFB

Page 16: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 17: Stochastic Fair Blue An Algorithm For Enforcing Fairness

SFB and Misclassification

8 non-responsive flows4 non-responsive flows

Page 18: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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

Page 19: Stochastic Fair Blue An Algorithm For Enforcing Fairness

SFB with Moving Hash Functions

Page 20: Stochastic Fair Blue An Algorithm For Enforcing Fairness

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