44
Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Embed Size (px)

Citation preview

Page 1: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Simulating Large Networks using Fluid Flow Model

Yong LiuJoint work with

Francesco LoPresti, Vishal Misra

Don Towsley, Yu Gu

Page 2: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Outline

• Fluid Flow Model

• ODE solving Methods

• Account for Topology

• Computation Savings

• Model Adjustments

• Integration with Packet Level Simulators

• Open Issues

Page 3: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

network

TCP runs at the “edge”

Routers within network drop/markpackets when buffersfill up

Fluid Model of a Network of AQM Routers Supporting TCP Flows

Page 4: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

TCP Congestion Control: window algorithm

Window: can send W packets at a time

• increase window by one per RTT if no loss

• decrease window by half on detection of loss

Page 5: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

TCP Congestion Control: window algorithm

Window: can send W packets

• increase window by one per RTT if no loss

• decrease window by half on detection of loss

sender

receiver

W

Page 6: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

TCP Congestion Control: window algorithm

Window: can send W packets

• increase window by one per RTT if no loss

• decrease window by half on detection of loss

sender

receiver

W

Page 7: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Active Queue Management:RED

• RED: Random Early Detect proposed in 1993

• Proactively mark/drop packets in a router queue probabilistically to– Prevent onset of congestion by reacting early – Remove synchronization between flows

Page 8: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

The RED Mechanism

RED: Marking/dropping based on average queue length x (t) (EWMA algorithm used for averaging)

tmin tmax

pmax

1

2tmax

Mar

king

pro

babi

lity

p

Average queue length x

t ->

- q (t)- x (t)

x (t): smoothed, time averaged q (t)

Page 9: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Modeling RED: A Single Congested Router

TCP flow i, prop. delay Ai

AQM router

C, p

• One bottlenecked AQM router– service capacity {C (packets/sec) }

– queue length q(t)

– drop prob. p(t)

• N TCP flows

– window sizes Wi (t)– round trip time

Ri (t) = Ai+q (t)/C– throughputs

Bi (t) = Wi (t)/Ri (t)

Page 10: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

System of Differential Equations

Window Size:

All quantities are average values. Timeouts and slow start ignored

dtdWi

Additiveincrease

))(( tqR1

i

Loss arrivalrate

)())(()(

tptqRtW

i

i

Mult.decrease

2Wi

Queue length: dtdq

Outgoingtraffic

C1 0tq ])([

Incomingtraffic

))(()(

tqRtW

i

i

Page 11: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

System of Differential Equations (cont.)

Average queue length:

Where = averaging parameter of RED(wq)= sampling interval ~ 1/C

Loss probability:

Where is obtained from the marking profile

p

x

)()ln(

)()ln(

tq1

tx1

dtdx

dtdx

dxdp

dtdp

dxdp

Page 12: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Stepping back: Where are we?

N+2 coupled equations solved numerically

W=Window size, R = RTT, q = queue length, p = marking probability

N1iRpfdtdW

i1i ),(

)( i2 Wfdtdq

)(qfdtdp

3

Page 13: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Fluid Flow Model for a Network with Multiple Bottle-necks

Scalable with link bandwidth and flow population within each class

Network of M RED queues, K TCP classes, flows in class kkn

Page 14: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

ODE Solving Methods• Matlab ODE Solver Suit

• Error control, automatically adjusted step-size• Cannot handle delayed differential equations• Lack of flexibility of programming• Computational Inefficiency

• Fixed Stepsize Runge-Kutta Method

• FFM: Time stepped numerical fluid model solver in C

Page 15: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Computation Cost: Matlab vs. FFM

80 TCP Classes x 20 RED Queues, Random Routing Matrix

Matlab: 1572 seconds FFM: 5 seconds

0

2

4

6

8

10

12

window1 window2 window3

0

2

4

6

8

10

12

window1 window2 window3

Page 16: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Accuracy: FFM vs. NS

Single Bottle Neck Network, 2 TCP Classes, Flows Per Class: 60 40 20

Page 17: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Account for Topology

Fact: TCP sending rate will be reshaped in each queue it traverses

C C

0

0.01

0.02

0.03

0.04

0.05

FFMNS

Q1 Q2

Packet Loss Probability (I)

0

0.01

0.02

0.03

0.04

0.05

FFMNS

Packet Loss Probability (II)

Page 18: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Account for Topology

Keep track of each TCP class’s arrival rate and departure rate at each queue:

Page 19: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Account for Topology

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

FFFMFFMNS

0

0.005

0.01

0.015

0.02

0.025

FFFMFFMNS

FFFM: Finer Fluid Flow Model

Packet Loss Probability (I) Packet Loss Probability (II)

Page 20: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Refined Fluid Model Solver

Initialiazation

End ofSimulation?

Update Windowsof All TCP Classes

Update QueueLength & Loss

Probability at allCongested Link

Update Each TCP’sState Variables at AllQueues on its Route

Dumping Data

YES

NO

Start

END

Page 21: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Model Adjustment 1In ns, actual packet drop/mark prob. is not equal to loss probability calculated from RED formula.Given a RED calculation value p, RED tries to make the interval between two drops/marks uniformly distributed in [1/p, 2/p] when“wait” option is on and [1, 1/p] when “wait” is off. Actual loss prob. is 2p/3 if “wait” on; 2p if “wait” off

Page 22: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Model Adjustment 1With wait:

Without wait:

Page 23: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Model Adjustment 2

NS won’t drop packet if the queue is empty

Adjustment:

Page 24: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Other Adjustments • TCP Newreno and SACK only backoff once for multiple losses within one window.

• Adjustment 1:

•Adjustment 2:

• At a given time, only TCP flows without packet loss will increase their congestion window.

Page 25: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

{1,2} {1}{1,2,3}

NS vs. FFFM

Page 26: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

NS vs. FFFM (cont.)

3 TCP Classes, 8 RED Queues

Scale bandwidth and flow population with k=1, 10, 50.Link Bandwidth: (black) 100M*k, (red) 10M*kFlows within each class: 40*k

Class1

Class2

Class3

Page 27: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

TCP Average Sending Rate, K=1

Class NS Mean

NS Std.

FFFM

Abs. Err.

1 42.0 1.72 41.6 1.41

2 41.8 1.84 41.2 1.54

3 17.2 1.47 18.2 1.42

Class1 Class2

Class3

Page 28: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Queue Length, K=1

Queue NS Mean NS Std. FFFM Abs. Err.

1 100.4 18.7 99.1 14.5

2 79.6 26.1 74.6 20.2

Bottle-neck1 Bottle-neck2

Page 29: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

TCP Average Sending Rate, K=10

Class NS Mean

NS Std.

FFFM

Abs. Err.

1 41.6 0.59 41.6 0.47

2 41.4 0.60 41.2 0.50

3 17.6 0.47 18.2 0.64

Class1 Class2

Class3

Page 30: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Queue Length, K=10

Queue NS Mean NS Std. FFFM Abs. Err.

1 995.4 59.5 990.5 46.4

2 779.2 116.7 745.7 96.0

Bottle-neck1 Bottle-neck2

Page 31: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

TCP Average Sending Rate, K=50

Class NS Mean

NS Std.

FFFM

Abs. Err.

1 42.5 0.28 41.6 0.90

2 42.3 0.31 41.2 1.09

3 16.7 0.25 18.2 1.48

Class1 Class2

Class3

Page 32: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Queue Length, K=50

Queue NS Mean NS Std. FFFM Abs. Err.

1 4875 100 4953 91.8

2 3849 290 3729 250

Bottle-neck1 Bottle-neck2

Page 33: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

TCP Average Sending Rate, K=100

Class NS Mean

NS Std.

FFFM

Abs. Err.

1 41.8 0.21 41.6 0.22

2 41.6 0.19 41.2 0.38

3 17.4 0.17 18.2 0.83

Class1 Class2

Class3

Page 34: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Queue Length, K=100

Queue NS Mean NS Std. FFFM Abs. Err.

1 9942 162 9905 134

2 7790 248 7457 351

Bottle-neck1 Bottle-neck2

Page 35: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Computation Savings

2 7 m in .5 6 se c1 6 m in .2 3 se c2 m in .2 se c1 2 .5 se cN S

2 ,1 8 81 ,2 8 31 5 9 .31 6 .3 2S p e e d -u p

F F M

S c a le

0 .7 6 6 se c

1

0 .7 6 6 se c

1 0

0 .7 6 6 s e c

5 0

0 .7 6 6 se c

1 0 0

Page 36: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

0.0 0.1

1.0

1.1

1.3

1.2

1.4

1.5

4

2.0 2.1

2.2 2.3

0.2

Net 0 Net 1

Net 2

5

3.13.0

3.2 3.3

Net 3

Topology of a Large IP Network

Page 37: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Computation Cost

0500

100015002000250030003500400045005000

5 10 15 20 25 30 35 40 45 50 55

SimulationTime

Page 38: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Integration with Packet Level Simulators

Fluid flow model can provide delay and loss information for packets passing fluid network segments. If traffic from packet segments is negligible to fluid segment, fluid model can be solved independently.

Simulated by FFFM

Packet LevelPacket Level

Page 39: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Integration into NS

FFFM has been integrated into NS by constructing Fluid Link and Fluid Network objects.

Access

Ns node

Ns node

Access

Access

Ns node

Fluid Network Segment

FluidNetwork

Topology of Hybrid NS Simulation

Packet Network Segment

Page 40: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Hybrid NS SimulationLink Bandwidth: (black) 100M, (red) 15M3 Background TCP Classes, 40 Flows per Class 3 Foreground TCP Sessions

Class1

Session3

Session1

Class3Class2

Session2

Fluid Network Segment

Packet Level Nodes

Page 41: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Background TCP Average Window Size

Class1

Class2 Class3

hybrid packet

Page 42: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Foreground TCP Sample Path

Session1

Session3

Session2

Page 43: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Bottle-neck Queue Evolution

Bottle-neck1 Bottle-neck2

Simulation time: Hybrid: 8.4s, Packet: 29.7sCPU: 800MHz, Memory: 256M

Page 44: Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco LoPresti, Vishal Misra Don Towsley, Yu Gu

Open Issues

• Time-out, Slow Start

• Finite duration flows, unresponsive flows

• High interaction between packet network segments and fluid network segments

• Limitations of mean value fluid model

• Verify results for large networks