Algorithms for Wireless Network Design Cell Breathing Heuristic :

advertisement
Algorithms for
Wireless Network Design:
A Cell Breathing Heuristic
MohammadTaghi HajiAghayi
U. of Maryland, College Park
Joint work with Bahl, Jain, Mirrokni, Qui, Saberi
Application of Market Equilibrium in
Distributed Load Balancing

Wireless devices



Cell-phones, laptops with WiFi cards
Referred as clients or users interchangeably
Demand connections to access points


Uniform for cell-phones (voice connection)
Non-uniform for laptops (application
dependent)
Application of Market Equilibrium in
Distributed Load Balancing

Access points


Capacities



Cell-towers, Base stations, Wireless routers
Total traffic they can serve
Integer for cell-towers
Variable transmission power


Capable of operating at various power levels
Assume levels are continuous real numbers
Clients to APs assignment

Assign clients to APs in an efficient way


No over-loading of APs
Assigning the maximum number of clients and
thus satisfying maximum demand
One Heuristic Solution

A client connects to the AP with reasonable
signal and then the lightest load




Requires support both from AP and Clients
APs have to communicate their current load
Clients have WiFi cards from various vendors
running legacy software
Overall it has limited benefit in practice
Ideal Case

We would like a client connects to the AP with
the best received signal strength
If an AP j transmitting at power level Pj then a
client i at distance dij receives signal with
strength
Pij = a.Pj.dij-c
where a and c are constants capturing various
models of power attenuation

Cell Breathing Heuristic



An overloaded AP decreases its communication
radius by decreasing power
A lightly loaded AP increases its communication
radius by increasing power
Hopefully an equilibrium would be reached




Will show that an equilibrium exist
Can be computed in polynomial time
Can be reached by a tatonnement process
Let’s start with economics and game theory
Market Equilibrium – A distributed
load balancing mechanism.

Fisher setting with linear Utilities:



m buyers (each with budget Bi) and n goods for sale
(each with quantity qj)
Each buyer has linear utility ui, i.e. utility of i is
sumj uij xij where uij>= 0 is the utility of buyer i for good j
and xij is the amount of good j bought by i.
A market equilibrium or market clearance is a price
vector p that


maximizes utility sumj uij xij of buyer i subject to his
budget sumj pj xij <= Bi
The demand and supply for each good j are equal
sumj xij = qj (and thus the budgets are totally spent).
Fisher Setting with Linear Utilities
Goods
Buyers
M 1 , u1   u1 j x1 j
q1
j
xij
M i , ui   uij xij
j
M n , un   unj xnj
j
uij xij
qj
qm
Market Equilibrium – A distributed
load balancing mechanism.

Static supply


Prices


Analogous to received signal strength function
Either all clients are served or all APs are saturated


corresponding to powers at APs
Utilities


corresponding to capacities of APs
Analogous to the market clearance(equiblirum) condition
Thus our situation is analogous to Fisher setting
with linear utilities
Clients assignment to APs
APs
Clients
D1 , u1  max P1 j x1 j
C1
j
xij
Pij xij
Di , ui  max Pij xij
j
Dn , un  max Pnj xnj
j
Cj
Cm
Analogousness Is Only Inspirational


Get inspiration from various algorithms for
the Fisher setting and develop algorithms
for our setting
Though we do not know any reduction –
in fact there are some key differences
Differences from the Market
Equilibrium setting



Demand
 Price dependent in Market equilibrium setting
 Power independent in our setting
Is demand splittable?
 Yes for the Market equilibrium setting
 No for our setting
Market equilibrium clears both sides but our solution
requires clearance on either client side or AP side
 This also means two separate linear programs for
these two separate cases
Three Approaches for
Market Equilibrium

Convex Programming Based


Primal-Dual Based


Eisenberg, Gale 1957
Devanur, Papadimitriou, Saberi, Vazirani 2004
Auction Based

Garg, Kapoor 2003
Three Approaches for
Load Balancing

Linear Programming


Primal-Dual


Minimum weight complete matching
Uses properties of bipartite graph matching
Auction

Useful in dynamically changing situation
Linear Programming Based Solution





Create a complete bipartite graph
One side is the set of all clients
The other side is the set of all APs,
conceptually each AP is repeated as many
times as its capacity (unit demand)
The weight between client i and AP j is
wij = c.ln(dij) – ln(a)= -ln(Pij/Pj )
Find the minimum weight complete
matching
Theorem



Minimum weight matching is supported by
a power assignment to APs
Power assignment are the dual variables
Two cases for the primal program which is
known at the beginning


Solution can satisfy all clients
Solution can saturate all APs
Case 1 – Complete matching
covers all clients
minimize

iC , jA
wij xij
subject to
i  C
x
ij
1
x
ij
 Cj
jA
j  A
iC
i  C , j  A
xij  0
Case 1 – Pick Dual Variables
minimize

iC , jA
wij xij
subject to
i  C
x
ij
1
 i
x
ij
 Cj
 j
jA
j  A
iC
i  C , j  A
xij  0
Write Dual Program
maximize
  C 
iC
i
jA
j
j
subject to
i  C , j  A
j  A
i   j  wij
j 0
xij
Optimize the dual program


Choose Pj = e π
Using the complementary slackness
condition we will show that the minimum
weight complete matching is supported by
these power levels
j
Proof
Dual feasibility gives:
-λi ≥ πj – wij= ln(Pj) – c.ln(dij) + ln(a) =
ln(a.Pj.dij-c)
 Complementary slackness gives:
xij=1 implies -λi = ln(a.Pj.dij-c)

(Remember if an AP j transmitting at power level Pj
then a client i at distance dij receives signal with strength
Pij = a.Pj.dij-c)

Together they imply that i is connected to the
AP with the strongest received signal strength
Case 2 – Complete matching
saturates all APs
minimize

iC , jA
wij xij
subject to
i  C
x
ij
1
x
ij
 Cj
jA
j  A
iC
i  C , j  A
xij  0
Case 2 – The rest of the proof is
similar
Unsplittable Demand
minimize

iC , jA
wij xij
subject to
i  C
x
jA
j  A
1
D x
iC
i  C , j  A
ij
i ij
 Cj
xij  0
Unsplittable Demand



The integer program is APX-hard in
general (because of knapsack)
Assuming that the number of clients is
much larger than the number of APs, a
realistic assumption, we can obtain a nice
approximation heuristic.
First we compute a basic feasible solution
Analysis of Basic Feasible
Solution
minimize

iC , jA
wij xij
subject to
i  C
x
jA
j  A
1
D x
iC
i  C , j  A
ij
i ij
 Cj
xij  0
Approximate Solution





All xij’s but a small number of xij’s are integral
Theorem: Number of xij which are integral is at
least the number of clients – the number APs
Most clients are served unsplittably
Clients which are served splittably – do not
serve them
The algorithm is almost optimal
Discrete Power Levels


Over the shelf APs have only fixed number
of discrete power levels
Equilibrium may not exist


In fact it is NP-hard to test whether it exists
or not
If every client has a deterministic tie
breaking rule then we can compute the
equilibrium in which every client is served
– if exists under the tie breaking rule
Discrete Power Levels




Start with the maximum power levels for
each AP
Take any overloaded AP and decrease its
power level by one notch
If an equilibrium exist then it will be
computed in time mk, where m is the
number of APs and k is the number of
power levels
This is a distributed tatonnement process!
Proof


Suppose Pj is an equilibrium power level for the
jth AP.
Inductively prove that when j reaches the
power level Pj then it will not be overloaded
again.

Here we use the deterministic tie breaking rule.
Conclusion


Theory of market equilibrium is a good
way of synchronizing independent entity’s
to do distributed load balancing.
We simulated these algorithm and
observed meaningful results.
‫تشکر‬
Thanks forObrigado
your attention…
Download