32
ISCC2002 July 4, 2002 1 Adaptive Explicit Adaptive Explicit Congestion Congestion Notification (AECN) Notification (AECN) Zici Zheng and Robert Kinicki Zici Zheng and Robert Kinicki Worcester Polytechnic Worcester Polytechnic Institute Institute Computer Science Department Computer Science Department Worcester, MA 01609 Worcester, MA 01609 USA USA

ISCC2002 July 4, 20021 Adaptive Explicit Congestion Notification (AECN) Zici Zheng and Robert Kinicki Worcester Polytechnic Institute Computer Science

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

ISCC2002 July 4, 2002 1

Adaptive Explicit Congestion Adaptive Explicit Congestion Notification (AECN)Notification (AECN)

Zici Zheng and Robert KinickiZici Zheng and Robert Kinicki

Worcester Polytechnic InstituteWorcester Polytechnic Institute

Computer Science DepartmentComputer Science Department

Worcester, MA 01609Worcester, MA 01609

USAUSA

ISCC2002 July 4, 2002 2

OutlineOutline

• Motivation for AECNMotivation for AECN• Performance MetricsPerformance Metrics• Random Early Detection (RED) and ECN Random Early Detection (RED) and ECN

Routers Routers • Topology and Experimental ProceduresTopology and Experimental Procedures• RED and ECN ResultsRED and ECN Results• AECN ResultsAECN Results• ConclusionsConclusions

ISCC2002 July 4, 2002 3

Motivation for Adaptive ECNMotivation for Adaptive ECN

• Congestion is still an Internet problem.Congestion is still an Internet problem.

• Researchers advocate Active Queue Researchers advocate Active Queue Management (AQM) techniques such as Management (AQM) techniques such as RED and ECN for congestion control.RED and ECN for congestion control.

• RED is difficult to tune and unfair.RED is difficult to tune and unfair.

• ECN is better when it marks.ECN is better when it marks.

ISCC2002 July 4, 2002 4

Motivation for Adaptive ECNMotivation for Adaptive ECN• Is ECN also unfair to heterogeneous flows?Is ECN also unfair to heterogeneous flows?

• What happens when there are many flows?What happens when there are many flows?

• Previously shown that ECN performs better Previously shown that ECN performs better with a higher mark probability when there are with a higher mark probability when there are many flows. many flows.

• Adaptive ECN can improve goodput and Adaptive ECN can improve goodput and fairness. fairness.

ISCC2002 July 4, 2002 5

Performance MetricsPerformance Metrics

• throughput (Mbps) - the aggregate rate of throughput (Mbps) - the aggregate rate of packets generated by all sources.packets generated by all sources.

• goodput (Mbps) - the rate at which packets goodput (Mbps) - the rate at which packets arrive at the receiver. arrive at the receiver. Goodput differs from Goodput differs from throughput in that retransmissions are throughput in that retransmissions are excludedexcluded from goodput. from goodput.

• delay (sec) - the time required to transmit a delay (sec) - the time required to transmit a packet from source node to receiver node.packet from source node to receiver node.

ISCC2002 July 4, 2002 6

Performance MetricsPerformance Metrics

n

iixn

1

2

2

1

n

iix

• Jain’s fairnessJain’s fairness

– For any given set of user throughputs (For any given set of user throughputs (x1, x2, …, xn), the fairness ), the fairness

index to the set is defined:index to the set is defined:

f (xf (x1, 1, xx22, …, x, …, xnn)) = =

• max-min fairnessmax-min fairness– A flow rate A flow rate x x is max-min fair if any rate is max-min fair if any rate xx cannot be increased cannot be increased

without decreasing some without decreasing some y y which is smaller than or equal to which is smaller than or equal to xx. To . To satisfy the min-max fairness criteria, the smallest throughput rate satisfy the min-max fairness criteria, the smallest throughput rate must be as large as possible.must be as large as possible.

• ““visual” max-min fairnessvisual” max-min fairness– the visual gap between the smallest and the largest goodputthe visual gap between the smallest and the largest goodput

ISCC2002 July 4, 2002 7

RED RoutersRED Routers

• Random Early Detection (RED) detects Random Early Detection (RED) detects congestion “early” by maintaining an congestion “early” by maintaining an exponentially-weighted average queue size.exponentially-weighted average queue size.

• RED probabilistically drops packets before RED probabilistically drops packets before the queue overflows to signal congestion to the queue overflows to signal congestion to TCP sources.TCP sources.

• RED attempts to avoid global RED attempts to avoid global synchronization and bursty packet drops.synchronization and bursty packet drops.

ISCC2002 July 4, 2002 8

ECN RoutersECN Routers• Explicit Congestion Notification (ECN) , a RED Explicit Congestion Notification (ECN) , a RED

variant, marks packets to signal congestion.variant, marks packets to signal congestion.• ECN must be supported by ECN must be supported by bothboth TCP senders and TCP senders and

receivers.receivers.• ECN-compliant TCP senders initiate their ECN-compliant TCP senders initiate their

congestion avoidance algorithm after receiving congestion avoidance algorithm after receiving marked ACK packets from the TCP receiver. marked ACK packets from the TCP receiver.

• Packets from non-ECN compliant flows are Packets from non-ECN compliant flows are treated by the RED mechanism in the ECN router.treated by the RED mechanism in the ECN router.

ISCC2002 July 4, 2002 9

RED and ECN Router ParametersRED and ECN Router Parametersavgavgqq :: average queue size:: average queue size

avgavgq = (1-w = (1-wq) * avg) * avgq + w + wq* instantaneous queue size* instantaneous queue size

wwqq :::: weighting factor weighting factor 0.001 <= w0.001 <= wqq <= 0.004<= 0.004

minminthth :::: average queue length threshold for triggering average queue length threshold for triggering

probabilistic drops/marks probabilistic drops/marks..

maxmaxth th :::: average queue length threshold for triggering average queue length threshold for triggering

forced drops forced drops

maxmaxpp :: maximum dropping/marking probability:: maximum dropping/marking probability

ppbb = max = maxpp * (avg * (avgq – min – minthth) / (max) / (maxthth – min – minthth))

ppaa= p= pbb / (1 – count * p / (1 – count * pbb))

buffer_size buffer_size :::: the size of the router queue in packetsthe size of the router queue in packets

ISCC2002 July 4, 2002 10

RED/ECN Router MechanismRED/ECN Router Mechanism

1

0Min-threshold Max-threshold

Dropping/Marking Probability

Queue Size

maxp

Average Queue Length (avgq)

ISCC2002 July 4, 2002 11

Simulation TopologySimulation Topology

10mbps, 5ms

20ms45ms

: Source

: Sink

RouterF1

FmA1

Am

R1

Rm

.

.

.

.

.

. ...

95ms

90 Mbps

RTTs: (200ms, 100ms, 50ms)RTTs: (200ms, 100ms, 50ms)

ISCC2002 July 4, 2002 12

Experimental Procedures and Experimental Procedures and Parameter SettingsParameter Settings

• 100 second ns-2 simulations100 second ns-2 simulations

• n flows divided equally among three flow types (fragile, n flows divided equally among three flow types (fragile, average, robust) (n = 3m)average, robust) (n = 3m)

• aggregate flow capacity aggregate flow capacity fixedfixed at 90 Mbps at 90 Mbps

• staggered start of half the flows (0 sec, 2 sec)staggered start of half the flows (0 sec, 2 sec)

• fixed RED/ECN/AECN and TCP parameters for all runsfixed RED/ECN/AECN and TCP parameters for all runs– wq = 0.001

– minth = 10 ; maxth = 30 ;

– buffer_size = 50 packets

– TCP max_send_window_size = 64 packets

ISCC2002 July 4, 2002 13

Figure 2: RED and ECN GoodputFigure 2: RED and ECN Goodput

0

1

2

3

4

5

6

7

8

9

10

0 50 100 150 200 250 300 350 400 450 500

Number of Flows

Goo

dput

(Mbp

s)

ECN (max_p=0.1)RED (max_p=0.1)ECN (max_p=0.5)RED (max_p=0.5)ECN (max_p=0.8)RED (max_p=0.8)

ISCC2002 July 4, 2002 14

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0 50 100 150 200 250 300 350 400 450 500

Number of flows

Jain

's F

airn

ess

Inde

x

ECN (max_p=0.1)

RED (max_p=0.1)ECN (max_p=0.5)

RED (max_p=0.5)ECN (max_p=0.8)

RED (max_p=0.8)

Figure 3: RED and ECN FairnessFigure 3: RED and ECN Fairness

ISCC2002 July 4, 2002 15

Figure 4: RED and ECN GoodputFigure 4: RED and ECN Goodput 60 flows, max60 flows, maxpp = 0.5 = 0.5

0

1

2

3

4

5

6

7

8

9

10

20 30 40 50 60 70 80 90 100

Time (Seconds)

Goo

dput

(M

bps)

Aggregate Goodput (ECN) Fragile (ECN) Avreage (ECN) Robust (ECN)Aggregate Goodput (RED) Fragile (RED) Average (RED) Robust (RED)

ISCC2002 July 4, 2002 16

60 Flows, max60 Flows, maxpp = 0.5 = 0.5

ECN MarksECN Marks

ECN DropsECN Drops

RED DropsRED Drops

ECN has almost no drops !!

ISCC2002 July 4, 2002 17

120 Flows, max120 Flows, maxpp = 0.5 = 0.5

ECN MarksECN Marks

ECN DropsECN Drops

RED DropsRED Drops

ECN drops are now significant!

ISCC2002 July 4, 2002 18

RED/ECN ConclusionsRED/ECN Conclusions

• ECN better than RED especially if ECN ECN better than RED especially if ECN maxmaxpp set higher. set higher.

• RED/ECN unfair to fragile and average RED/ECN unfair to fragile and average flows => adaptive maxflows => adaptive maxpp needed. needed.

• ECN needs to avoid drops when there are ECN needs to avoid drops when there are many flows.many flows.

ISCC2002 July 4, 2002 19

Adaptive ECN flow queuesAdaptive ECN flow queues

              

Packet de-queue

Packet en-queue

RouterQueueRouterQueue

Robust flow

Queue

Robust flow

Queue

Average flow

Queue

Average flow

Queue

Fragile flow

Queue

Fragile flow

Queue

Robust packet Average packet Fragile packet

ISCC2002 July 4, 2002 20

AECN AlgorithmAECN AlgorithmIf avgIf avgqq >= >= maxmaxth ,th , drop incoming packet ; drop incoming packet ; {same as ECN}{same as ECN}

If avgIf avgqq is below is below maxmaxth th ,,

Add incoming packet to the router queue ;Add incoming packet to the router queue ;

Determine whether flow is robust, fragile or averageDetermine whether flow is robust, fragile or average

and add to the appropriate flow queue ;and add to the appropriate flow queue ;

If avgIf avgqq is between is between minminthth and and maxmaxth th ,,

Determine mark probability (maxDetermine mark probability (maxpp))

and and probabilisticallyprobabilistically mark the first unmarked packet mark the first unmarked packet

at the front of the appropriate flow queue ;at the front of the appropriate flow queue ;

ISCC2002 July 4, 2002 21

Determine Mark Probability (maxDetermine Mark Probability (maxpp))

Robust Flow:Robust Flow: maxmaxpp = min{ ( = min{ (base-maxbase-maxpp* * ) , ) , 1}1};;

Average Flow:Average Flow: maxmaxpp = = base-maxbase-maxp p ;;

Fragile Flow: Fragile Flow: maxmaxpp = = base-maxbase-maxpp / / ;;

ISCC2002 July 4, 2002 22

How to choose How to choose and and ??

• For this research, assume For this research, assume = =

• Goal: achieve fairness for fragile and Goal: achieve fairness for fragile and average flowsaverage flows

• Pay attention to number of flowsPay attention to number of flows

ISCC2002 July 4, 2002 23

Figure 5: AECN GoodputFigure 5: AECN Goodput60 flows, base_max60 flows, base_maxpp = 0.5 = 0.5

0

1

2

3

4

5

6

7

8

9

10

0.5 1 1.5 2 2.5 3 3.5alpha

Goo

dput

(M

bps) Aggregate Goodput Fragile Average Robust

AlphaAlpha = 2.5 is fairest !! = 2.5 is fairest !!

ISCC2002 July 4, 2002 24

Figure 6: AECN Jain’s FairnessFigure 6: AECN Jain’s Fairness60 flows, base_max60 flows, base_maxpp = 0.5 = 0.5

0.6

0.65

0.7

0.75

0.8

0.85

0.9

0.5 1 1.5 2 2.5 3 3.5alpha

Jain

's F

airn

ess

Inde

x

AECN

AlphaAlpha = 2.5 is fairest !! = 2.5 is fairest !!

ISCC2002 July 4, 2002 25

Figure 7: AECN Goodput Figure 7: AECN Goodput 120 flows, base_max120 flows, base_maxpp = 0.8 = 0.8

0

1

2

3

4

5

6

7

8

9

10

0.5 1 1.5 2 2.5 3 3.5alpha

Goo

dput

(M

bps)

Aggregate Goodput Fragile Average Robust

ISCC2002 July 4, 2002 26

Figure 8: AECN Jain’s FairnessFigure 8: AECN Jain’s Fairness120 flows, base_max120 flows, base_maxpp = 0.8 = 0.8

0.5

0.52

0.54

0.56

0.58

0.6

0.62

0.64

0.66

0.68

0.5 1 1.5 2 2.5 3 3.5alpha

Jain

's F

airn

ess

Inde

x

AECN

AlphaAlpha = 2.5 is fairest !! = 2.5 is fairest !!

ISCC2002 July 4, 2002 27

Figure 9: AECN GoodputFigure 9: AECN Goodputbase_maxbase_maxpp = 0.5, = 0.5, = = = 2.5= 2.5

0

1

2

3

4

5

6

7

8

9

10

0 50 100 150 200 250 300 350 400 450 500

Number of Flows

Goo

dput

(M

bps)

AECN Fragile (AECN) Average (AECN) Robust (AECN) ECN

ISCC2002 July 4, 2002 28

Figure 10: AECN GoodputFigure 10: AECN Goodputbase_maxbase_maxpp = 0.8, = 0.8, = = = 2.5= 2.5

0

1

2

3

4

5

6

7

8

9

10

0 50 100 150 200 250 300 350 400 450 500

Number of Flows

Goo

dput

(M

bps)

AECN Fragile (AECN) Average (AECN) Robust (AECN) ECN

ISCC2002 July 4, 2002 29

Figure 11: Jain’s FairnessFigure 11: Jain’s Fairnessbase_maxbase_maxpp = 0.5, = 0.5, = = = 2.5= 2.5

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 100 200 300 400 500

Number of Flow s

Jain

's F

airn

ess

Inde

x

AECNECN

ISCC2002 July 4, 2002 30

Figure 12: Jain’s FairnessFigure 12: Jain’s Fairnessbase_maxbase_maxpp = 0.8, = 0.8, = = = 2.5= 2.5

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 100 200 300 400 500

Number of Flow s

Jain

's F

airness Index

AECN

ECN

ISCC2002 July 4, 2002 31

AECN ConclusionsAECN Conclusions

• AECN provides higher goodput when there are AECN provides higher goodput when there are a larger number of flows.a larger number of flows.

• Both “visual max-min fairness” and Jain’s Both “visual max-min fairness” and Jain’s fairness are better for AECN.fairness are better for AECN.

• Adapting to both RTT and number of flows is Adapting to both RTT and number of flows is shown to be important.shown to be important.

= = = 2.5 = 2.5 good settings for these good settings for these experiments.experiments.

ISCC2002 July 4, 2002 32

Future WorkFuture Work• Find method to adjust maxFind method to adjust maxpp as function of RTT as function of RTT

“source hint” to eliminate flow classes “source hint” to eliminate flow classes => see => see Chablis paper Chablis paper (Choong-Soo Lee, Mark Claypool, and Robert (Choong-Soo Lee, Mark Claypool, and Robert Kinicki. Chablis - Achieving Fair Bandwidth Allocation with Priority Kinicki. Chablis - Achieving Fair Bandwidth Allocation with Priority Dropping Based on Round Trip Time, WPI-CS-TR-02-19, May 2002, Dropping Based on Round Trip Time, WPI-CS-TR-02-19, May 2002, ftp://ftp.cs.wpi.edu/pub/techreports/02-19.ps.gz )ftp://ftp.cs.wpi.edu/pub/techreports/02-19.ps.gz )

• Include flow count at router in determining drop Include flow count at router in determining drop probability.probability.

• Avoid ECN drops when avgAvoid ECN drops when avgq q gets close to maxgets close to maxthth . .