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 iC , jA wij xij subject to i C x ij 1 x ij Cj jA j A iC i C , j A xij 0 Case 1 – Pick Dual Variables minimize iC , jA wij xij subject to i C x ij 1 i x ij Cj j jA j A iC i C , j A xij 0 Write Dual Program maximize C iC i jA 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 iC , jA wij xij subject to i C x ij 1 x ij Cj jA j A iC i C , j A xij 0 Case 2 – The rest of the proof is similar Unsplittable Demand minimize iC , jA wij xij subject to i C x jA j A 1 D x iC 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 iC , jA wij xij subject to i C x jA j A 1 D x iC 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…