stochastic fair blue an algorithm for enforcing fairness

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

Upload: griffin-duffy

Post on 01-Jan-2016

12 views

Category:

Documents


0 download

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

TRANSCRIPT

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