Simulating Large Networks using Fluid Flow Model Yong

  • Slides: 44
Download presentation
Simulating Large Networks using Fluid Flow Model Yong Liu Joint work with Francesco Lo.

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

Outline • • Fluid Flow Model ODE solving Methods Account for Topology Computation Savings

Outline • • Fluid Flow Model ODE solving Methods Account for Topology Computation Savings Model Adjustments Integration with Packet Level Simulators Open Issues

Fluid Model of a Network of AQM Routers Supporting TCP Flows TCP runs at

Fluid Model of a Network of AQM Routers Supporting TCP Flows TCP runs at the “edge” network Routers within network drop/mark packets when buffers fill up

TCP Congestion Control: window algorithm Window: can send W packets at a time •

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

TCP Congestion Control: window algorithm Window: can send W packets • increase window by

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 receiver W sender

TCP Congestion Control: window algorithm Window: can send W packets • increase window by

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 receiver W sender

Active Queue Management: RED • RED: Random Early Detect proposed in 1993 • Proactively

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

The RED Mechanism Marking probability p RED: Marking/dropping based on average queue length x

The RED Mechanism Marking probability p RED: Marking/dropping based on average queue length x (t) (EWMA algorithm used for averaging) 1 - q (t) - x (t) pmax tmin tmax 2 tmax Average queue length x x (t): smoothed, time averaged q (t) t ->

Modeling RED: A Single Congested Router TCP flow i, prop. delay Ai • One

Modeling RED: A Single Congested Router TCP flow i, prop. delay Ai • One bottlenecked AQM router – service capacity {C (packets/sec) } – queue length q(t) – drop prob. p(t) • N TCP flows AQM router C, p – window sizes Wi (t) – round trip time Ri (t) = Ai+q (t)/C – throughputs Bi (t) = Wi (t)/Ri (t)

System of Differential Equations All quantities are average values. Timeouts and slow start ignored

System of Differential Equations All quantities are average values. Timeouts and slow start ignored Window Size: Additive increase Mult. decrease Loss arrival rate Queue length: Outgoing traffic Incoming traffic

System of Differential Equations (cont. ) Average queue length: Where a = averaging parameter

System of Differential Equations (cont. ) Average queue length: Where a = averaging parameter of RED(wq) d = sampling interval ~ 1/C Where is obtained from the marking profile p Loss probability: x

Stepping back: Where are we? W=Window size, R = RTT, q = queue length,

Stepping back: Where are we? W=Window size, R = RTT, q = queue length, p = marking probability N+2 coupled equations solved numerically

Fluid Flow Model for a Network with Multiple Bottle-necks Network of M RED queues,

Fluid Flow Model for a Network with Multiple Bottle-necks Network of M RED queues, K TCP classes, flows in class k Scalable with link bandwidth and flow population within each class

ODE Solving Methods • Matlab ODE Solver Suit • Error control, automatically adjusted step-size

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

Computation Cost: Matlab vs. FFM 80 TCP Classes x 20 RED Queues, Random Routing

Computation Cost: Matlab vs. FFM 80 TCP Classes x 20 RED Queues, Random Routing Matrix Matlab: 1572 seconds FFM: 5 seconds

Accuracy: FFM vs. NS Single Bottle Neck Network, 2 TCP Classes, Flows Per Class:

Accuracy: FFM vs. NS Single Bottle Neck Network, 2 TCP Classes, Flows Per Class: 60 40 20

Account for Topology Fact: TCP sending rate will be reshaped in each queue it

Account for Topology Fact: TCP sending rate will be reshaped in each queue it traverses Q 1 Packet Loss Probability (I) C Q 2 C Packet Loss Probability (II)

Account for Topology Keep track of each TCP class’s arrival rate and departure rate

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

Account for Topology FFFM: Finer Fluid Flow Model Packet Loss Probability (I) Packet Loss

Account for Topology FFFM: Finer Fluid Flow Model Packet Loss Probability (I) Packet Loss Probability (II)

Refined Fluid Model Solver

Refined Fluid Model Solver

Model Adjustment 1 In ns, actual packet drop/mark prob. is not equal to loss

Model Adjustment 1 In 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 2 p/3 if “wait” on; 2 p if “wait” off

Model Adjustment 1 With wait: Without wait:

Model Adjustment 1 With wait: Without wait:

Model Adjustment 2 NS won’t drop packet if the queue is empty Adjustment:

Model Adjustment 2 NS won’t drop packet if the queue is empty Adjustment:

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

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.

NS vs. FFFM {1, 2} {1, 2, 3}

NS vs. FFFM {1, 2} {1, 2, 3}

NS vs. FFFM (cont. ) 3 TCP Classes, 8 RED Queues Class 1 Class

NS vs. FFFM (cont. ) 3 TCP Classes, 8 RED Queues Class 1 Class 3 Class 2 Scale bandwidth and flow population with k=1, 10, 50. Link Bandwidth: (black) 100 M*k, (red) 10 M*k Flows within each class: 40*k

TCP Average Sending Rate, K=1 Class 3 Class 2 Class NS Mean NS Std.

TCP Average Sending Rate, K=1 Class 3 Class 2 Class NS Mean NS Std. FFF M Abs. Err. 1 42. 0 1. 72 41. 6 1. 41 2 41. 84 41. 2 1. 54 3 17. 2 1. 47 18. 2 1. 42

Queue Length, K=1 Bottle-neck 2 Bottle-neck 1 Queue NS Mean NS Std. FFFM Abs.

Queue Length, K=1 Bottle-neck 2 Bottle-neck 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

TCP Average Sending Rate, K=10 Class 2 Class 1 Class 3 Class NS Mean

TCP Average Sending Rate, K=10 Class 2 Class 1 Class 3 Class NS Mean NS Std. FFF M 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

Queue Length, K=10 Bottle-neck 1 Bottle-neck 2 Queue NS Mean NS Std. FFFM Abs.

Queue Length, K=10 Bottle-neck 1 Bottle-neck 2 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

TCP Average Sending Rate, K=50 Class 1 Class 3 Class 2 Class NS Mean

TCP Average Sending Rate, K=50 Class 1 Class 3 Class 2 Class NS Mean NS Std. FFF M 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

Queue Length, K=50 Bottle-neck 1 Bottle-neck 2 Queue NS Mean NS Std. FFFM Abs.

Queue Length, K=50 Bottle-neck 1 Bottle-neck 2 Queue NS Mean NS Std. FFFM Abs. Err. 1 4875 100 4953 91. 8 2 3849 290 3729 250

TCP Average Sending Rate, K=100 Class 1 Class 2 Class 3 Class NS Mean

TCP Average Sending Rate, K=100 Class 1 Class 2 Class 3 Class NS Mean NS Std. FFF M 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

Queue Length, K=100 Bottle-neck 1 Bottle-neck 2 Queue NS Mean NS Std. FFFM Abs.

Queue Length, K=100 Bottle-neck 1 Bottle-neck 2 Queue NS Mean NS Std. FFFM Abs. Err. 1 9942 162 9905 134 2 7790 248 7457 351

Computation Savings

Computation Savings

Topology of a Large IP Network 1. 2 0. 2 1. 0 1. 3

Topology of a Large IP Network 1. 2 0. 2 1. 0 1. 3 Net 1 Net 0 0. 0 1. 4 0. 1 1. 5 4 2. 0 5 2. 1 3. 1 Net 3 Net 2 2. 2 3. 0 2. 3 3. 2 3. 3

Computation Cost

Computation Cost

Integration with Packet Level Simulators Simulated by FFFM Packet Level Fluid flow model can

Integration with Packet Level Simulators Simulated by FFFM Packet Level 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.

Integration into NS FFFM has been integrated into NS by constructing Fluid Link and

Integration into NS FFFM has been integrated into NS by constructing Fluid Link and Fluid Network objects. Fluid Network Segment Access Ns node Packet Network Segment Ns node Topology of Hybrid NS Simulation

Hybrid NS Simulation Link Bandwidth: (black) 100 M, (red) 15 M 3 Background TCP

Hybrid NS Simulation Link Bandwidth: (black) 100 M, (red) 15 M 3 Background TCP Classes, 40 Flows per Class 3 Foreground TCP Sessions Fluid Network Segment Class 1 Class 3 Class 2 Session 3 Session 1 Session 2 Packet Level Nodes

Background TCP Average Window Size Class 1 hybrid packet Class 2 Class 3

Background TCP Average Window Size Class 1 hybrid packet Class 2 Class 3

Foreground TCP Sample Path Session 1 Session 2 Session 3

Foreground TCP Sample Path Session 1 Session 2 Session 3

Bottle-neck Queue Evolution Bottle-neck 1 Bottle-neck 2 Simulation time: Hybrid: 8. 4 s, Packet:

Bottle-neck Queue Evolution Bottle-neck 1 Bottle-neck 2 Simulation time: Hybrid: 8. 4 s, Packet: 29. 7 s CPU: 800 MHz, Memory: 256 M

Open Issues • Time-out, Slow Start • Finite duration flows, unresponsive flows • High

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