A Measurement-Based Algorithm to Maximize the Utility of Wireless Networks Julien Herzen joint work with Adel Aziz, Ruben Merz, Seva Shneer and Patrick Thiran September 19th, 2011 1 / 20
Context Inefficient situations in wireless LANs • Example , performance anomaly: 1 Mb/s 11 Mb/s GW UDP TCP 800 800 Throughput [Kb/s] Throughput [Kb/s] 600 600 400 400 200 200 Flow at 1Mb/s Flow at 1Mb/s Flow at 11Mb/s Flow at 11Mb/s 0 0 0 1000 2000 3000 0 1000 2000 3000 Time [s] Time [s] • Intuition: Send slightly fewer packets at 1 Mb/s, so that the flow at 11 Mb/s can send many more 2 / 20
Approach 1 Mb/s 11 Mb/s GW • Formalization: Capture the efficiency and the fairness of the network using a utility function � U = u i ( x i ) , i x i : throughput of flow i Examples � U max = x i i � U prop = log x i i 3 / 20
Network Stack • Backward compatibility → runs on top of IEEE 802.11 • Congestion control → throttle each flow • One limiter per IP source in the network queue 1 ρ i 1 ρ i queue 2 2 Round MAC IP ρ i queue 3 Robin 3 j ... ... i k ρ i queue F F GW 4 / 20
How to throttle the flows? • Find the rate allocation ρ that maximizes the utility U • Problem: We do not know the feasible rate region! ◮ hard to predict or measure optimum ? U = � log x i rate of flow 2 U = µ 2 U ∗ U = µ 1 rate of flow 1 5 / 20
Decide at the gateway The gateway knows • The throughput achieved by the flows: x • The current utility of the network: U ( x ) = � u i ( x i ) • If x = ρ , then ρ belongs to the rate region Measure and Decide loop • Measure each flow • Decide • Broadcast decision j j ? i k i k x j x i ρ j ρ i x k ρ k GW GW 6 / 20
Model At time slot n : • Measured throughput: x [ n ] ∈ R F + rate of flow 2 • Rate allocation vector: ρ [ n ] ∈ R F + • Last stable rate allocation: r [ n ] ∈ R F + L ( µ ) • Utility function: U ( x ) = � i u i ( x i ) rate of flow 1 • Level set: L ( µ [ n ]) = { x [ n ] : U ( x [ n ]) = µ [ n ] , x [ n ] ∈ R F + } 7 / 20
Step 1 - Start from IEEE 802.11 allocation U = � log x i • ρ [0] ← x [0] optimum • Current level set: L ( U ( x [0])) rate of flow 2 x [0] = ρ [0] • Remember allocation r [0] ← x [0] L ( µ [0]) rate of flow 1 8 / 20
Step 2 - Enhance phase Time step n : U = � log x i • If x [ n − 1] = ρ [ n − 1]: ◮ Obtain a new target utility µ [ n ] by optimum a full size gradient ascent rate of flow 2 • Else: attempt ◮ Obtain a new target utility µ [ n ] by halving the size of the gradient L ( µ [ n ]) ascent L ( µ [ n − 1]) • Go to Explore phase (next slide) rate of flow 1 9 / 20
Step 3 - Explore phase • If x [ n − 1] = ρ [ n − 1]: U = � log x i ◮ Remember r [ n ] = ρ [ n − 1] ◮ Go to Enhance phase optimum • Else: attempt rate of flow 2 ◮ Keep target utility: µ [ n ] = µ [ n − 1] ◮ Pick ρ [ n ] randomly in L ( µ [ n ]) ◮ Repeat explore phase at most N L ( µ [ n ]) times, then move to Enhance phase (and reduce the size of rate of flow 1 the gradient ascent ) 10 / 20
Step 3 - Explore phase • If x [ n − 1] = ρ [ n − 1]: U = � log x i ◮ Remember r [ n ] = ρ [ n − 1] ◮ Go to Enhance phase optimum • Else: rate of flow 2 ◮ Keep target utility: µ [ n ] = µ [ n − 1] attempt ◮ Pick ρ [ n ] randomly in L ( µ [ n ]) ◮ Repeat explore phase at most N L ( µ [ n − 1]) L ( µ [ n ]) times, then move to Enhance phase (and reduce the size of rate of flow 1 the gradient ascent ) 11 / 20
Step 3 - Explore phase • If x [ n − 1] = ρ [ n − 1]: U = � log x i ◮ Remember r [ n ] = ρ [ n − 1] ◮ Go to Enhance phase optimum • Else: rate of flow 2 ◮ Keep target utility: µ [ n ] = µ [ n − 1] attempt ◮ Pick ρ [ n ] randomly in L ( µ [ n ]) ◮ Repeat explore phase at most N L ( µ [ n ]) times, then move to Enhance phase (and reduce the size of rate of flow 1 the gradient ascent ) 12 / 20
Step 3 - Explore phase optimum • If x [ n − 1] = ρ [ n − 1]: rate of flow 2 ◮ Remember r [ n ] = ρ [ n − 1] attempt ◮ Go to Enhance phase L ( µ [ n ]) • Else: ◮ Keep target utility: rate of flow 1 µ [ n ] = µ [ n − 1] truncated Gaussian PDF for picking ρ 1 : ◮ Pick ρ [ n ] randomly in L ( µ [ n ]) ◮ Repeat explore phase at most N times, then move to Enhance phase (and reduce the size of attempt the gradient ascent ) u − 1 0 ( µ [ n ]) 1 13 / 20
Optimality result Assumptions • Fixed rate region Λ[ n ] = Λ • Coordinate-convex rate region ◮ Much weaker than convexity! Theorem The Enhance & Explore algorithm guarantees that, for any initial rate allocation r [0] , the utility of the last stable rate allocation r [ n ] converges to the maximal utility for n → ∞ . 14 / 20
Practical implementation • Based on Click [1] with MultiflowDispatcher [2] queue 1 ρ i 1 • Creation of 4 new Click ρ i queue 2 elements 2 Round MAC IP ρ i ◮ MFQueue queue 3 Robin 3 ... ... ◮ MFLeakyBucket ◮ EEadapter ρ i queue F F ◮ EEscheduler • Evaluation with ◮ Asus routers ◮ ns-3 GW [1] Kohler et al., Transactions on Computer Systems, 2000 [2] Schi¨ oberg et al., SyClick, 2009 15 / 20
Experimental results • Deployment map: UDP traffic TCP traffic 800 800 Throughput [Kb/s] Throughput [Kb/s] 600 600 • Without E&E: 400 400 200 200 Flow at 1Mb/s Flow at 1Mb/s Flow at 11Mb/s Flow at 11Mb/s 0 0 0 1000 2000 3000 0 1000 2000 3000 Time [s] Time [s] 4 4 Flow at 1Mb/s Flow at 1Mb/s Throughput [Mb/s] Throughput [Mb/s] Flow at 11Mb/s Flow at 11Mb/s 3 3 2 2 • With E&E ( U prop ): 1 1 0 0 0 1000 2000 3000 0 1000 2000 3000 Time [s] Time [s] 16 / 20
Experimental results • Deployment map: 2 Throughput [Mb/s] 1.5 Flow at 2Mb/s 1 • Without E&E: Flow at 5.5Mb/s Flow at 11Mb/s 0.5 0 0 1000 2000 3000 Time [s] 2 Flow at 2Mb/s Throughput [Mb/s] Flow at 5.5Mb/s 1.5 Flow at 11Mb/s • With E&E ( U prop ): 1 0.5 0 0 1000 2000 3000 Time [s] 17 / 20
Simulation results ns-3 simulator • Re-use of the same Click elements • More controlled environment • Possible estimation of the rate region • Computation of optima 1 Mb/s 11 Mb/s GW 18 / 20
Simulation results • Adaptivity to time-varying traffic • Cyclic validation of last stable allocation r [ n ] 19 / 20
Conclusion Problem • Inefficient and/or unfair situations in WLANs • Capture efficiency and fairness using a utilility function ◮ The feasible rate region is unknown! Solution • Successive decisions and measurements by the GW • Optimal for a fixed rate region • When rate region changes, keeps adapting • More details in [1], with an extension to multi-hop networks Future work: • Downlink traffic • Rate adaptation [1] Aziz et al., Mobicom 2011 20 / 20
Recommend
More recommend