A Measurement-Based Algorithm to Maximize the Utility of Wireless - - PowerPoint PPT Presentation

a measurement based algorithm to maximize the utility of
SMART_READER_LITE
LIVE PREVIEW

A Measurement-Based Algorithm to Maximize the Utility of Wireless - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

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

slide-2
SLIDE 2

Context

Inefficient situations in wireless LANs

  • Example, performance anomaly:

GW 1 Mb/s 11 Mb/s UDP

1000 2000 3000 200 400 600 800 Time [s] Throughput [Kb/s] Flow at 1Mb/s Flow at 11Mb/s

TCP

1000 2000 3000 200 400 600 800 Time [s] Throughput [Kb/s] Flow at 1Mb/s Flow at 11Mb/s

  • Intuition: Send slightly fewer packets at 1 Mb/s, so that the flow at

11 Mb/s can send many more

2 / 20

slide-3
SLIDE 3

Approach

GW 1 Mb/s 11 Mb/s

  • Formalization: Capture the efficiency and the fairness of the network

using a utility function U =

  • i

ui(xi), xi: throughput of flow i Examples Umax =

  • i

xi Uprop =

  • i

log xi

3 / 20

slide-4
SLIDE 4

Network Stack

  • Backward compatibility → runs on top of IEEE 802.11
  • Congestion control → throttle each flow
  • One limiter per IP source in the network

GW i j k MAC Round Robin ρi

1

ρi

2

ρi

3

... ρi

F

queue 1 queue 2 queue 3 ... queue F IP

4 / 20

slide-5
SLIDE 5

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

rate of flow 1 rate of flow 2 U = µ1 U∗ U = µ2

  • ptimum

?

U = log xi

5 / 20

slide-6
SLIDE 6

Decide at the gateway

The gateway knows

  • The throughput achieved by the flows: x
  • The current utility of the network: U(x) = ui(xi)
  • If x = ρ, then ρ belongs to the rate region

Measure and Decide loop

  • Measure each flow

GW i j k xi xj xk

  • Decide

?

  • Broadcast decision

GW i j k ρi ρj ρk

6 / 20

slide-7
SLIDE 7

Model

At time slot n:

  • Measured throughput: x[n] ∈ RF

+

  • Rate allocation vector: ρ[n] ∈ RF

+

  • Last stable rate allocation: r[n] ∈ RF

+

  • Utility function: U(x) =

i ui(xi)

rate of flow 1 rate of flow 2

L(µ)

  • Level set: L(µ[n]) = {x[n] : U(x[n]) = µ[n], x[n] ∈ RF

+}

7 / 20

slide-8
SLIDE 8

Step 1 - Start from IEEE 802.11 allocation

  • ρ[0] ← x[0]
  • Current level set: L(U(x[0]))
  • Remember allocation r[0] ← x[0]

rate of flow 1 rate of flow 2

L(µ[0])

  • ptimum

x[0] = ρ[0] U = log xi

8 / 20

slide-9
SLIDE 9

Step 2 - Enhance phase

Time step n:

  • If x[n − 1] = ρ[n − 1]:

◮ Obtain a new target utility µ[n] by

a full size gradient ascent

  • Else:

◮ Obtain a new target utility µ[n] by

halving the size of the gradient ascent

  • Go to Explore phase (next slide)

rate of flow 1 rate of flow 2

L(µ[n − 1]) L(µ[n])

  • ptimum

attempt U = log xi

9 / 20

slide-10
SLIDE 10

Step 3 - Explore phase

  • If x[n − 1] = ρ[n − 1]:

◮ Remember r[n] = ρ[n − 1] ◮ Go to Enhance phase

  • Else:

◮ Keep target utility:

µ[n] = µ[n − 1]

◮ Pick ρ[n] randomly in L(µ[n]) ◮ Repeat explore phase at most N

times, then move to Enhance phase (and reduce the size of the gradient ascent)

rate of flow 1 rate of flow 2

L(µ[n])

  • ptimum

attempt U = log xi

10 / 20

slide-11
SLIDE 11

Step 3 - Explore phase

  • If x[n − 1] = ρ[n − 1]:

◮ Remember r[n] = ρ[n − 1] ◮ Go to Enhance phase

  • Else:

◮ Keep target utility:

µ[n] = µ[n − 1]

◮ Pick ρ[n] randomly in L(µ[n]) ◮ Repeat explore phase at most N

times, then move to Enhance phase (and reduce the size of the gradient ascent)

rate of flow 1 rate of flow 2

L(µ[n]) L(µ[n − 1])

  • ptimum

attempt U = log xi

11 / 20

slide-12
SLIDE 12

Step 3 - Explore phase

  • If x[n − 1] = ρ[n − 1]:

◮ Remember r[n] = ρ[n − 1] ◮ Go to Enhance phase

  • Else:

◮ Keep target utility:

µ[n] = µ[n − 1]

◮ Pick ρ[n] randomly in L(µ[n]) ◮ Repeat explore phase at most N

times, then move to Enhance phase (and reduce the size of the gradient ascent)

rate of flow 1 rate of flow 2

L(µ[n])

  • ptimum

attempt U = log xi

12 / 20

slide-13
SLIDE 13

Step 3 - Explore phase

  • If x[n − 1] = ρ[n − 1]:

◮ Remember r[n] = ρ[n − 1] ◮ Go to Enhance phase

  • Else:

◮ Keep target utility:

µ[n] = µ[n − 1]

◮ Pick ρ[n] randomly in L(µ[n]) ◮ Repeat explore phase at most N

times, then move to Enhance phase (and reduce the size of the gradient ascent)

rate of flow 1 rate of flow 2

L(µ[n])

  • ptimum

attempt

truncated Gaussian PDF for picking ρ1: u−1

1

(µ[n]) attempt

13 / 20

slide-14
SLIDE 14

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

slide-15
SLIDE 15

Practical implementation

  • Based on Click[1] with MultiflowDispatcher[2]
  • Creation of 4 new Click

elements

◮ MFQueue ◮ MFLeakyBucket ◮ EEadapter ◮ EEscheduler

  • Evaluation with

◮ Asus routers ◮ ns-3

MAC Round Robin ρi

1

ρi

2

ρi

3

...

ρi

F

queue 1 queue 2 queue 3

...

queue F IP

GW

[1] Kohler et al., Transactions on Computer Systems, 2000 [2] Schi¨

  • berg et al., SyClick, 2009

15 / 20

slide-16
SLIDE 16

Experimental results

  • Deployment map:
  • Without E&E:

UDP traffic

1000 2000 3000 200 400 600 800 Time [s] Throughput [Kb/s] Flow at 1Mb/s Flow at 11Mb/s

TCP traffic

1000 2000 3000 200 400 600 800 Time [s] Throughput [Kb/s] Flow at 1Mb/s Flow at 11Mb/s

  • With E&E (Uprop):

1000 2000 3000 1 2 3 4 Time [s] Throughput [Mb/s] Flow at 1Mb/s Flow at 11Mb/s 1000 2000 3000 1 2 3 4 Time [s] Throughput [Mb/s] Flow at 1Mb/s Flow at 11Mb/s

16 / 20

slide-17
SLIDE 17

Experimental results

  • Deployment map:
  • Without E&E:

1000 2000 3000 0.5 1 1.5 2 Time [s] Throughput [Mb/s] Flow at 2Mb/s Flow at 5.5Mb/s Flow at 11Mb/s

  • With E&E (Uprop):

1000 2000 3000 0.5 1 1.5 2 Time [s] Throughput [Mb/s] Flow at 2Mb/s Flow at 5.5Mb/s Flow at 11Mb/s

17 / 20

slide-18
SLIDE 18

Simulation results

ns-3 simulator

  • Re-use of the same Click elements
  • More controlled environment
  • Possible estimation of the rate region
  • Computation of optima

GW 1 Mb/s 11 Mb/s

18 / 20

slide-19
SLIDE 19

Simulation results

  • Adaptivity to time-varying traffic
  • Cyclic validation of last stable allocation r[n]

19 / 20

slide-20
SLIDE 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