Algorithms for Algorithms for Wireless Network DesignWireless Network Design:: A A Cell Breathing HeuristicCell Breathing Heuristic
MohammadTaghi HajiAghayiMohammadTaghi HajiAghayi U. of Maryland, College ParkU. of Maryland, College Park
Joint work with Bahl, Jain, Mirrokni, Qui, SaberiJoint work with Bahl, Jain, Mirrokni, Qui, Saberi
Application of Market Equilibrium in Distributed Load Balancing
Wireless devicesWireless devices Cell-phones, laptops with WiFi cardsCell-phones, laptops with WiFi cards Referred as clients or users interchangeablyReferred as clients or users interchangeably
Demand connections to access pointsDemand connections to access points Uniform for cell-phones (voice connection)Uniform for cell-phones (voice connection) Non-uniform for laptops (application Non-uniform for laptops (application
dependent)dependent)
Application of Market Equilibrium in Distributed Load Balancing
Access pointsAccess points Cell-towers, Base stations, Wireless routersCell-towers, Base stations, Wireless routers
CapacitiesCapacities Total traffic they can serveTotal traffic they can serve Integer for cell-towersInteger for cell-towers
Variable transmission powerVariable transmission power Capable of operating at various power Capable of operating at various power
levelslevels Assume levels are continuous real numbersAssume levels are continuous real numbers
Clients to APs assignmentClients to APs assignment
Assign clients to APs in an efficient Assign clients to APs in an efficient wayway No over-loading of APsNo over-loading of APs Assigning the maximum number of Assigning the maximum number of
clients and thus satisfying maximum clients and thus satisfying maximum demanddemand
One Heuristic SolutionOne Heuristic Solution
A client connects to the AP with A client connects to the AP with reasonable signal and then the lightest reasonable signal and then the lightest loadload Requires support both from AP and ClientsRequires support both from AP and Clients APs have to communicate their current loadAPs have to communicate their current load Clients have WiFi cards from various Clients have WiFi cards from various
vendors running legacy softwarevendors running legacy software Overall it has limited benefit in practiceOverall it has limited benefit in practice
Ideal CaseIdeal Case
We would like a client connects to the AP We would like a client connects to the AP with the best received signal strengthwith the best received signal strength
If an AP If an AP jj transmitting at power level transmitting at power level PPjj then a client then a client ii at distance d at distance dijij receives receives signal with strengthsignal with strength
PPijij = = a.Pa.Pjj.d.dijij-c-c
where where aa and and cc are constants capturing are constants capturing various models of power attenuation various models of power attenuation
Cell Breathing HeuristicCell Breathing Heuristic
An overloaded AP decreases its An overloaded AP decreases its communication radius by decreasing powercommunication radius by decreasing power
A lightly loaded AP increases its A lightly loaded AP increases its communication radius by increasing powercommunication radius by increasing power
Hopefully an equilibrium would be reached Hopefully an equilibrium would be reached Will show that an equilibrium exist Will show that an equilibrium exist Can be computed in polynomial timeCan be computed in polynomial time Can be reached by a tatonnement processCan be reached by a tatonnement process
Let’s start withLet’s start with economics and game theory economics and game theory
Market Equilibrium – A Market Equilibrium – A distributed load balancing distributed load balancing
mechanism.mechanism. Fisher setting with linear Utilities:Fisher setting with linear Utilities: m buyers (each with budget Bm buyers (each with budget Bii) and n goods for sale ) and n goods for sale
(each with quantity q(each with quantity qjj)) Each buyer has linear utility Each buyer has linear utility uuii, i.e. utility of i is , i.e. utility of i is
sumsumjj u uij ij xxijij where u where uijij>= 0 is the utility of buyer i for >= 0 is the utility of buyer i for good j and xgood j and xijij is the amount of good j bought by i. is the amount of good j bought by i.
A A market equilibriummarket equilibrium or or market clearancemarket clearance is a is a price vector price vector p p that that maximizes utility maximizes utility sumsumjj u uij ij xxijij of buyer i subject to his of buyer i subject to his
budgetbudget sum sumjj p pj j xxijij <= B <= Bii
The demand and supply for each good j are equalThe demand and supply for each good j are equal
sumsumjj x xij ij = q= qj j (and thus the budgets are totally spent).(and thus the budgets are totally spent).
Fisher Setting with Linear Fisher Setting with Linear UtilitiesUtilitiesBuyers Goods
1 1 1 1, j jj
M u u x
, i i ij ijj
M u u x
, n n nj njj
M u u x
1q
jq
mq
ijx
ij iju x
Market Equilibrium – A Market Equilibrium – A distributed load balancing distributed load balancing
mechanism.mechanism. Static supplyStatic supply
corresponding to capacities of APscorresponding to capacities of APs PricesPrices
corresponding to powers at APscorresponding to powers at APs Utilities Utilities
Analogous to received signal strength functionAnalogous to received signal strength function Either all clients are served or all APs are Either all clients are served or all APs are
saturatedsaturated Analogous to the market clearance(equiblirum) Analogous to the market clearance(equiblirum)
conditioncondition Thus our situation is analogous to Fisher setting Thus our situation is analogous to Fisher setting
with linear utilitieswith linear utilities
Clients assignment to APsClients assignment to APsClients APs
1 1 1 1, max j jj
D u P x
, maxi i ij ijj
D u P x
, maxn n nj njj
D u P x
1C
jC
mC
ijx
ij ijP x
Analogousness Is Only Analogousness Is Only InspirationalInspirational
Get inspiration from various Get inspiration from various algorithms for the Fisher setting and algorithms for the Fisher setting and develop algorithms for our settingdevelop algorithms for our setting
Though we do not know any Though we do not know any reduction – in fact there are some reduction – in fact there are some key differenceskey differences
Differences from the Market Differences from the Market Equilibrium settingEquilibrium setting
DemandDemand Price dependent in Market equilibrium settingPrice dependent in Market equilibrium setting Power independent in our settingPower independent in our setting
Is demand splittable?Is demand splittable? Yes for the Market equilibrium settingYes for the Market equilibrium setting No for our settingNo for our setting
Market equilibrium clears both sides but our Market equilibrium clears both sides but our solution requires clearance on either client side solution requires clearance on either client side or AP sideor AP side This also means two separate linear This also means two separate linear
programs for these two separate casesprograms for these two separate cases
Three Approaches for Three Approaches for Market EquilibriumMarket Equilibrium
Convex Programming BasedConvex Programming Based Eisenberg, Gale 1957Eisenberg, Gale 1957
Primal-Dual BasedPrimal-Dual Based Devanur, Papadimitriou, Saberi, Vazirani Devanur, Papadimitriou, Saberi, Vazirani
20042004 Auction BasedAuction Based
Garg, Kapoor 2003Garg, Kapoor 2003
Three Approaches for Three Approaches for Load BalancingLoad Balancing
Linear ProgrammingLinear Programming Minimum weight complete matchingMinimum weight complete matching
Primal-DualPrimal-Dual Uses properties of bipartite graph Uses properties of bipartite graph
matchingmatching AuctionAuction
Useful in dynamically changing situationUseful in dynamically changing situation
Linear Programming Based Linear Programming Based Solution Solution
Create a complete bipartite graphCreate a complete bipartite graph One side is the set of all clientsOne side is the set of all clients The other side is the set of all APs, The other side is the set of all APs,
conceptually each AP is repeated as conceptually each AP is repeated as many times as its capacity (unit many times as its capacity (unit demand)demand)
The weight between client The weight between client i i and AP and AP jj is is
wwijij = = c.c.ln(ln(ddijij) – ln() – ln(aa)= -ln()= -ln(PPijij/P/Pjj )) Find the minimum weight complete Find the minimum weight complete
matchingmatching
TheoremTheorem
Minimum weight matching is supported Minimum weight matching is supported by a power assignment to APsby a power assignment to APs
Power assignment are the dual Power assignment are the dual variablesvariables
Two cases for the primal program Two cases for the primal program which is known at the beginningwhich is known at the beginning Solution can satisfy all clientsSolution can satisfy all clients Solution can saturate all APsSolution can saturate all APs
Case 1 – Complete Case 1 – Complete matching covers all clientsmatching covers all clients
,
ijj A
minimize
subject to
i C 1
, 0
ij iji C j A
ij ji C
ij
w x
x
j A x C
i C j A x
Case 1 – Pick Dual VariablesCase 1 – Pick Dual Variables
,
ijj A
minimize
subject to
i C 1
, 0
ij iji C j A
i
ij j ji C
ij
w x
x
j A x C
i C j A x
Write Dual ProgramWrite Dual Program
maximize
subject to
,
0
i j ji C j A
i j ij
j
C
i C j A w
j A
xxijij
Optimize the dual programOptimize the dual program
Choose Choose PPjj = e = e ππjj
Using the complementary slackness Using the complementary slackness condition we will show that the condition we will show that the minimum weight complete matching minimum weight complete matching is supported by these power levelsis supported by these power levels
ProofProof
Dual feasibility gives:Dual feasibility gives:
--λλi i ≥ ≥ ππjj – w – wijij= = ln(ln(PPjj) – ) – c.c.ln(ln(ddijij) + ln() + ln(aa) = ln() = ln(a.Pa.Pjj.d.dijij--
cc)) Complementary slackness gives:Complementary slackness gives:
xxijij=1=1 implies implies --λλi i = ln(= ln(a.Pa.Pjj.d.dijij-c-c))
(Remember if an AP (Remember if an AP jj transmitting at power level transmitting at power level PPjj then then a client a client ii at distance d at distance dijij receives signal with strength receives signal with strength PPijij = = a.Pa.Pjj.d.dijij
-c)-c)
Together they imply that Together they imply that ii is connected to the is connected to the AP with the strongest received signal strengthAP with the strongest received signal strength
Case 2 – Complete Case 2 – Complete matching saturates all APsmatching saturates all APs
,
ijj A
minimize
subject to
i C 1
, 0
ij iji C j A
ij ji C
ij
w x
x
j A x C
i C j A x
Case 2 – The rest of the proof Case 2 – The rest of the proof is similaris similar
Unsplittable DemandUnsplittable Demand
,
ijj A
minimize
subject to
i C 1
, 0
ij iji C j A
i ij ji C
ij
w x
x
j A D x C
i C j A x
Unsplittable DemandUnsplittable Demand
The integer program is APX-hard in The integer program is APX-hard in general (because of knapsack)general (because of knapsack)
Assuming that the number of clients is Assuming that the number of clients is much larger than the number of APs, a much larger than the number of APs, a realistic assumption, we can obtain a realistic assumption, we can obtain a nice approximation heuristic.nice approximation heuristic.
First we compute a basic feasible First we compute a basic feasible solutionsolution
Analysis of Basic Feasible Analysis of Basic Feasible SolutionSolution
,
ijj A
minimize
subject to
i C 1
, 0
ij iji C j A
i ij ji C
ij
w x
x
j A D x C
i C j A x
Approximate SolutionApproximate Solution
All All xxijij’s but a small number of ’s but a small number of xxijij’s are integral’s are integral Theorem: Number of Theorem: Number of xxijij which are integral is which are integral is
at least the number of clients – the number at least the number of clients – the number APsAPs
Most clients are served unsplittablyMost clients are served unsplittably Clients which are served splittably – do not Clients which are served splittably – do not
serve themserve them The algorithm is almost optimalThe algorithm is almost optimal
Discrete Power LevelsDiscrete Power Levels
Over the shelf APs have only fixed number Over the shelf APs have only fixed number of discrete power levelsof discrete power levels
Equilibrium may not existEquilibrium may not exist In fact it is NP-hard to test whether it exists or In fact it is NP-hard to test whether it exists or
notnot If every client has a deterministic tie If every client has a deterministic tie
breaking rule then we can compute the breaking rule then we can compute the equilibrium in which every client is served – equilibrium in which every client is served – if exists under the tie breaking ruleif exists under the tie breaking rule
Discrete Power LevelsDiscrete Power Levels
Start with the maximum power levels for Start with the maximum power levels for each APeach AP
Take any overloaded AP and decrease its Take any overloaded AP and decrease its power level by one notchpower level by one notch
If an equilibrium exist then it will be If an equilibrium exist then it will be computed in time computed in time mkmk, where , where mm is the is the number of APs and number of APs and kk is the number of is the number of power levelspower levels
This is a distributed tatonnement This is a distributed tatonnement process!process!
ProofProof
Suppose Suppose PPjj is an equilibrium power level is an equilibrium power level for the for the jjthth AP. AP.
Inductively prove that when Inductively prove that when jj reaches the reaches the power level power level PPjj then it will not be then it will not be overloaded again.overloaded again. Here we use the deterministic tie breaking Here we use the deterministic tie breaking
rule.rule.
ConclusionConclusion
Theory of market equilibrium is a Theory of market equilibrium is a good way of synchronizing good way of synchronizing independent entity’s to do independent entity’s to do distributed load balancing.distributed load balancing.
We simulated these algorithm and We simulated these algorithm and observed meaningful results.observed meaningful results.
Thanks for your attention…Thanks for your attention…
تشکر
Obrigado