Distributed Scheduling for Achieving Multi-User Diversity (Capacity of Opportunistic Scheduling in Heterogeneous Networks) Sefi Kampeas, Ben-Gurion University Joint work with Asaf Cohen and Omer Gurewitz IL-Nets, May 2012
Outline 1 Introduction Objective Informal Definition and Related Work 2 Preliminaries Single User MIMO Capacity Gaussian Approximation 3 Point Process Approximation A Distributed Algorithm 4 Heterogeneous Users Expected Capacity QoS 5 Collision Avoidance Collision Avoidance Algorithm
Objective Problem: K non-uniform users. Each user is interested in gaining access to a shared medium.
Objective Problem: K non-uniform users. Each user is interested in gaining access to a shared medium.
Objective: Maximize resource utilization Whom should we give an access to? Under QoS constraints. Under fairness constraints.
Channel Model: y = Hx + n y C r is the received vector and r is the number of receiving antennas. x C t is the transmitted vector with total power constraint P, and t is the number of transmitting antennas. H C r t - complex Gaussian channel matrix, with i.i.d. entries, with independent real and imaginary parts, zero mean and variance 1/2. n C r - uncorrelated complex Gaussian noise, with independent real and imaginary parts, zero mean, variance 1. Base Station User H rxt User User User User User For non-uniform users, the channel matrix H of each user is drawn under a different distribution (e.g. mean and variance).
Channel Model: y = Hx + n y C r is the received vector and r is the number of receiving antennas. x C t is the transmitted vector with total power constraint P, and t is the number of transmitting antennas. H C r t - complex Gaussian channel matrix, with i.i.d. entries, with independent real and imaginary parts, zero mean and variance 1/2. n C r - uncorrelated complex Gaussian noise, with independent real and imaginary parts, zero mean, variance 1. Base Station User H rxt User User User User User For non-uniform users, the channel matrix H of each user is drawn under a different distribution (e.g. mean and variance).
Related Work: i.i.d. users Knopp & Humblet 95: Allocate more power when channel is good. Yoo & Goldsmith 06: ZFBF with user selection. Chen & Wang 06: Choose user with the maximal minimum eigenvalue of HH. Sharif & Hassibi 07: Scaling laws comparing maximal user scheduling to DPC. Choi & Andrews 08: Base station scheduling using EVT. Qin & Berry 03,06: Threshold-based. Qin & Berry, To & Choi 10: Splitting-based algorithms to reduce the channel contention. Main themes EVT/Order statistics; i.i.d. users/stations; Perfect CSI at transmitter; Collision detection in the splitting algorithms.
Outline Main Contribution A novel method to achieve expected capacity results under distributed, threshold-based scheduling algorithms. Approximation is based on the Poisson Point Process approximation. A simple method to reproduce existing results. Derive new expressions for the heterogeneous and QoS scenarios. Suggest and analyze a new variant of the splitting algorithm.
MIMO Capacity Approximation (Smith & Shafi 02) Assuming that the elements of H are i.i.d. zero-mean with finite moments. Gaussian approximation to the capacity is accurate for virtually all values of r and t. f c 14 m Ρ C log 2 1 Λ i i 1 m 12 10 8 6 4 2 C Figure : Singe user MIMO capacity PDF: with m = 32 transmitting antennas and n = 128 receiving antennas vs. Gaussian Distribution with µ = 2 and σ = 0.03.
Extreme Value Theory Let x 1,..., x n be n i.i.d. random variables. Define M n = max i x i. If there exist a sequence of normalizing constants a n > 0 and b n such that as n, Pr(M n a n x + b n ) i.d. G(x) then G is of the generalized extreme value distribution type G(x) = exp { (1 + ξx) 1/ξ} If {x i } are Gaussian, Pr(M n a n x + b n ) e e x where a n = (2 log n) 1/2 b n = (2 log n) 1/2 1 2 (2 log n) 1/2 (log log n + log 4π).
Extreme Value Theory Let x 1,..., x n be n i.i.d. random variables. Define M n = max i x i. If there exist a sequence of normalizing constants a n > 0 and b n such that as n, Pr(M n a n x + b n ) i.d. G(x) then G is of the generalized extreme value distribution type G(x) = exp { (1 + ξx) 1/ξ} If {x i } are Gaussian, Pr(M n a n x + b n ) e e x where a n = (2 log n) 1/2 b n = (2 log n) 1/2 1 2 (2 log n) 1/2 (log log n + log 4π).
Extreme Value Theory Let x 1,..., x n be n i.i.d. random variables. Define M n = max i x i. If there exist a sequence of normalizing constants a n > 0 and b n such that as n, Pr(M n a n x + b n ) i.d. G(x) then G is of the generalized extreme value distribution type G(x) = exp { (1 + ξx) 1/ξ} If {x i } are Gaussian, Pr(M n a n x + b n ) e e x where a n = (2 log n) 1/2 b n = (2 log n) 1/2 1 2 (2 log n) 1/2 (log log n + log 4π).
Extreme Value Theory Let x 1,..., x n be n i.i.d. random variables. Define M n = max i x i. If there exist a sequence of normalizing constants a n > 0 and b n such that as n, Pr(M n a n x + b n ) i.d. G(x) then G is of the generalized extreme value distribution type G(x) = exp { (1 + ξx) 1/ξ} If {x i } are Gaussian, Pr(M n a n x + b n ) e e x where a n = (2 log n) 1/2 b n = (2 log n) 1/2 1 2 (2 log n) 1/2 (log log n + log 4π).
Max Capacity 50 f c Block Max Capacity Distribution 40 30 20 10 1.46 1.48 1.50 1.52 1.54 1.56 C Figure : Maximal capacity PDF: maximum among 500 drawings which follow the Gaussian distribution, with µ = 2 and σ = 0.03. The red line is the Gumbel density.
Extreme Value Theory - Application Capacities are approximately Gaussian. Assuming capacity follows normal distribution with µ and σ. If we schedule the best user in each time slot we get: [ ] ( ) E max C i = σ(2 log K) 1 1 2 + µ + O 1 i K log K With agreement with Choi & Andrews 08. Challenges What if the users are not identically distributed? Can we achieve this distributively?
Extreme Value Theory - Application Capacities are approximately Gaussian. Assuming capacity follows normal distribution with µ and σ. If we schedule the best user in each time slot we get: [ ] ( ) E max C i = σ(2 log K) 1 1 2 + µ + O 1 i K log K With agreement with Choi & Andrews 08. Challenges What if the users are not identically distributed? Can we achieve this distributively?
Outline 1 Introduction Objective Informal Definition and Related Work 2 Preliminaries Single User MIMO Capacity Gaussian Approximation 3 Point Process Approximation A Distributed Algorithm 4 Heterogeneous Users Expected Capacity QoS 5 Collision Avoidance Collision Avoidance Algorithm
A Threshold Based Distributed Algorithm Set a high threshold u, such that only a small fraction of the user will pass. Each user estimates his channel capacity. Only a user with capacity greater than threshold can transmit. Definition: unutilized slot Slot is unutilized if it idle or collision occurred. Alg. Properties Completely Distributed. Does not require channel reports.
A Threshold Based Distributed Algorithm Set a high threshold u, such that only a small fraction of the user will pass. Each user estimates his channel capacity. Only a user with capacity greater than threshold can transmit. Definition: unutilized slot Slot is unutilized if it idle or collision occurred. Alg. Properties Completely Distributed. Does not require channel reports.
A Threshold Based Distributed Algorithm Set a high threshold u, such that only a small fraction of the user will pass. Each user estimates his channel capacity. Only a user with capacity greater than threshold can transmit. Definition: unutilized slot Slot is unutilized if it idle or collision occurred. Alg. Properties Completely Distributed. Does not require channel reports.
Threshold Algorithm Performance Proposition The expected capacity of the above algorithm is C av = Pr (utilized slot) E[C C > u] where u is a high threshold such that a small fraction of the users will exceed it. u can be computed by ierfc. We should then find optimal threshold u. Point process motivation When threshold is high, exceedances are rare. We wish to examine these rare occurrences. Point process is an elegant way to model rare events.
Threshold Algorithm Performance Proposition The expected capacity of the above algorithm is C av = Pr (utilized slot) E[C C > u] where u is a high threshold such that a small fraction of the users will exceed it. u can be computed by ierfc. We should then find optimal threshold u. Point process motivation When threshold is high, exceedances are rare. We wish to examine these rare occurrences. Point process is an elegant way to model rare events.
Point Process Approximation x 1,..., x n is a sequence of i.i.d. random variables with distribution function F (x). max i {x 1,..., x n } is converging to G, with normalizing constants a n and b n. We construct a sequence of point processes Definition (Point Process) P n = {( i n, x ) } i b n, i = 1, 2,..., n, P n [0, 1] R a n Only large points of the process are retained in the limit process, whereas all points x i = o(b n ) can be normalized to same floor value b l.
Point Process Approximation x 1,..., x n is a sequence of i.i.d. random variables with distribution function F (x). max i {x 1,..., x n } is converging to G, with normalizing constants a n and b n. We construct a sequence of point processes Definition (Point Process) P n = {( i n, x ) } i b n, i = 1, 2,..., n, P n [0, 1] R a n Only large points of the process are retained in the limit process, whereas all points x i = o(b n ) can be normalized to same floor value b l.
Point Process Approximation x 1,..., x n is a sequence of i.i.d. random variables with distribution function F (x). max i {x 1,..., x n } is converging to G, with normalizing constants a n and b n. We construct a sequence of point processes Definition (Point Process) P n = {( i n, x ) } i b n, i = 1, 2,..., n, P n [0, 1] R a n Only large points of the process are retained in the limit process, whereas all points x i = o(b n ) can be normalized to same floor value b l.
Point Process Approximation x 1,..., x n is a sequence of i.i.d. random variables with distribution function F (x). max i {x 1,..., x n } is converging to G, with normalizing constants a n and b n. We construct a sequence of point processes Definition (Point Process) P n = {( i n, x ) } i b n, i = 1, 2,..., n, P n [0, 1] R a n Only large points of the process are retained in the limit process, whereas all points x i = o(b n ) can be normalized to same floor value b l.
Point Process Approximation Pn t 1.0 0.5 0.0 0.5 t Theorem (Kallenberg 83) P n P, a non-homogeneous Poisson process, λ(t, x) = (1 + ξx) 1 ξ 1 +, Λ(B) = b B λ(b)db is the expected number of points in the set B.
Point Process Approximation Pn t 1.0 0.5 0.0 0.5 1.0 t Theorem (Kallenberg 83) P n P, a non-homogeneous Poisson process, λ(t, x) = (1 + ξx) 1 ξ 1 +, Λ(B) = b B λ(b)db is the expected number of points in the set B.
Point Process Approximation Pn t 1.0 0.5 0.0 0.5 1.0 1.5 t Theorem (Kallenberg 83) P n P, a non-homogeneous Poisson process, λ(t, x) = (1 + ξx) 1 ξ 1 +, Λ(B) = b B λ(b)db is the expected number of points in the set B.
Point Process Approximation Pn t 1.0 0.5 0.0 Point Process for Gaussian Distribution B 0.5 1.0 1.5 2.0 2.5 0.0 0.2 0.4 0.6 0.8 1.0 t Theorem (Kallenberg 83) P n P, a non-homogeneous Poisson process, λ(t, x) = (1 + ξx) 1 ξ 1 +, Λ(B) = b B λ(b)db is the expected number of points in the set B.
Usage - Threshold Arrival Rate With B v = [0, 1] (v, ), we have Λ(B v ) = (1 + ξv) 1/ξ + This gives the average exceedance rate over the threshold, that is, the number of exceedances is Poisson with parameter Λ(B v ). Inter arrival time is exponential with parameter 1 Λ(B v ).
Usage - Threshold Arrival Rate With B v = [0, 1] (v, ), we have Λ(B v ) = (1 + ξv) 1/ξ + This gives the average exceedance rate over the threshold, that is, the number of exceedances is Poisson with parameter Λ(B v ). Inter arrival time is exponential with parameter 1 Λ(B v ).
Usage - Threshold Arrival Rate With B v = [0, 1] (v, ), we have Λ(B v ) = (1 + ξv) 1/ξ + This gives the average exceedance rate over the threshold, that is, the number of exceedances is Poisson with parameter Λ(B v ). Inter arrival time is exponential with parameter 1 Λ(B v ).
Usage - Unutilized slot probability Unutilized slot probability Probabilities of idle time and collision can be easily computed. Idle slot Collision slot
Usage - Unutilized slot probability Unutilized slot probability Probabilities of idle time and collision can be easily computed. Idle slot Pn t 1.0 0.5 B Point Process for Gaussian Distribution Collision slot 0.0 0.5 1.0 1.5 2.0 2.5 0.0 0.2 0.4 0.6 0.8 1.0 t
Usage - Unutilized slot probability Unutilized slot probability Probabilities of idle time and collision can be easily computed. Idle slot Collision slot Pn t 1.0 0.5 B Point Process for Gaussian Distribution Pn t 1.0 0.5 B Point Process for Gaussian Distribution 0.0 0.0 0.5 0.5 1.0 1.0 1.5 1.5 2.0 2.0 2.5 2.5 0.0 0.2 0.4 0.6 0.8 1.0 t 0.0 0.2 0.4 0.6 0.8 1.0 t
Usage - Tail Distribution Set u n (v) = a n v + b n, we have Pr (x i > a n x + u n (v) x i > u n (v)) = Pr(P n (t) > x + v P n (t) > v) Pr(P(t) > x + v P(t) > v) Note that Pr(P(t) > x + v P(t) > v) = Λ(Bx+v ) Λ(B v ), As a result, in the Gaussian case, Pr(x u n (v) y x u n (v) > 0) = 1 e y an Conditional capacity is approximately exponential Expected capacity is calculated easily. Future use: Exponential mini-slots above the threshold result in uniform probability.
Usage - Tail Distribution Set u n (v) = a n v + b n, we have Pr (x i > a n x + u n (v) x i > u n (v)) = Pr(P n (t) > x + v P n (t) > v) Pr(P(t) > x + v P(t) > v) Note that Pr(P(t) > x + v P(t) > v) = Λ(Bx+v ) Λ(B v ), As a result, in the Gaussian case, Pr(x u n (v) y x u n (v) > 0) = 1 e y an Conditional capacity is approximately exponential Expected capacity is calculated easily. Future use: Exponential mini-slots above the threshold result in uniform probability.
Simulation - Tail Distribution f y Capacity Distribution given C threshold 3.5 3.0 2.5 2.0 1.5 1.0 0.5 0.5 1.0 1.5 2.0 y Figure : PDF of Gaussian tail. 11722 observation out of 5 10 7 that exceeded a threshold 3.5, 1 Φ(3.5) of the observations. Green is from a direct analysis (Tylor series), Red is the previous approximation.
Summary Corollary The expected capacity obtained by setting a threshold u, such that k strongest users out of K users exceeds u on average, following E[C C > u] = (u + a K + o(a K )) Proposition For a threshold u, such that k strongest users out of K users exceed u on average: Pr ( utilized slot ) = ke k
Outline 1 Introduction Objective Informal Definition and Related Work 2 Preliminaries Single User MIMO Capacity Gaussian Approximation 3 Point Process Approximation A Distributed Algorithm 4 Heterogeneous Users Expected Capacity QoS 5 Collision Avoidance Collision Avoidance Algorithm
Setting In most systems, users are not i.i.d. - different users may experience different channel distribution. Moreover, users probabilities to access the channel may be changed due to QoS constraints. Straightforward application of the EVT theorem will not hold. In our model: Users may have difference expectation and variance (can be generalized to completely different distributions). Users may have pre-defined channel access probabilities. Using the point process approach, expected system capacity can be calculated.
Setting In most systems, users are not i.i.d. - different users may experience different channel distribution. Moreover, users probabilities to access the channel may be changed due to QoS constraints. Straightforward application of the EVT theorem will not hold. In our model: Users may have difference expectation and variance (can be generalized to completely different distributions). Users may have pre-defined channel access probabilities. Using the point process approach, expected system capacity can be calculated.
Main Result Theorem The expected capacity when working in single user in each slot in a non-uniform environment follows ( ) K Cav nu (u) = Λe Λ Λ i B[0,1/K] [u, ) (u + σ i a K + o(a K )) Λ where and i=1 ( ) u (σ 1 i b K +µ i ) Λ i B[0,1/K] [u, ) = K e σ i a K, Λ = K Λ i (B [0,1/K] [u, ) ), i=1 u is a threshold greater than zero that we set for all users.
Proof Sketch Similar to the uniform case: C nu av (u) = (1 Pr(unutilized slot)) E[C C > u] We now look at K independent drawings from the same user. We have Λ i (B [0,1/K] [up, )) = 1 u (σ i b K +µ i ) K e σ i a K Hence for all users, although non-uniform, the threshold exeedance rate is Λ = 1 u (σ i b K +µ i ) K K i=1 e σ i a K. Idle and collision probabilities can be calculated from ( K ) Pr N i = k i=1 = exp { Λ } Λk k!
Proof Sketch Similar to the uniform case: C nu av (u) = (1 Pr(unutilized slot)) E[C C > u] We now look at K independent drawings from the same user. We have Λ i (B [0,1/K] [up, )) = 1 u (σ i b K +µ i ) K e σ i a K Hence for all users, although non-uniform, the threshold exeedance rate is Λ = 1 u (σ i b K +µ i ) K K i=1 e σ i a K. Idle and collision probabilities can be calculated from ( K ) Pr N i = k i=1 { } Λk = exp Λ k! Pn t 1.0 0.5 0.0 0.5 1.0
Proof Sketch Similar to the uniform case: C nu av (u) = (1 Pr(unutilized slot)) E[C C > u] We now look at K independent drawings from the same user. We have Λ i (B [0,1/K] [up, )) = 1 u (σ i b K +µ i ) K e σ i a K Hence for all users, although non-uniform, the threshold exeedance rate is Λ = 1 u (σ i b K +µ i ) K K i=1 e σ i a K. Idle and collision probabilities can be calculated from ( K ) Pr N i = k i=1 { } Λk = exp Λ k! Pn t 1.0 0.5 0.0 0.5 1.0
Proof Sketch Similar to the uniform case: C nu av (u) = (1 Pr(unutilized slot)) E[C C > u] We now look at K independent drawings from the same user. We have Λ i (B [0,1/K] [up, )) = 1 u (σ i b K +µ i ) K e σ i a K Hence for all users, although non-uniform, the threshold exeedance rate is Λ = 1 u (σ i b K +µ i ) K K i=1 e σ i a K. Idle and collision probabilities can be calculated from ( K ) Pr N i = k i=1 { } Λk = exp Λ k! Pn t 1.0 0.5 0.0 0.5 1.0 B
Proof Sketch - Cont. As a result, we have Claim The probability of unutilized slot for non-uniform users follows { } Pr( utilized slot ) = Λ exp Λ. For the conditional expected capacity, we have Claim Given that a single arrival to the threshold occurred, then the expected capacity for non-uniform users follows E[C C > u, K N i = 1] = i=1 K i=1 ( ) Λ i B[0,1/K] [up, ) (u + σ i a K + o(a K )). Λ
Proof Sketch - Cont. As a result, we have Claim The probability of unutilized slot for non-uniform users follows { } Pr( utilized slot ) = Λ exp Λ. For the conditional expected capacity, we have Claim Given that a single arrival to the threshold occurred, then the expected capacity for non-uniform users follows E[C C > u, K N i = 1] = i=1 K i=1 ( ) Λ i B[0,1/K] [up, ) (u + σ i a K + o(a K )). Λ
Simulation Results Cav nuc u 6 5 4 3 2 1 u Figure : Expected capacity v.s. threshold u. Blue - Gaussian users follow σ i U[0.03, 3] and µ i U[ 2 1, 2 + 1]. Red - all with the same channel as the strongest. Black - all with the same channel as the mean user.
Weighted Users (E.g., QoS) Employing QoS constraints is simply reflected in the exceedance probability of each user. Given probability vector p R K 1, each user sets a threshold. Lemma (Expected Capacity with QoS) C GOS av where = Λ ( p) ( p) Λ e K i=1 ( ) Λ (p i ) i B [0,1/K] [upi, ) Λ ( p) (σ i [ b1/pi a 1/pi log log (1 p i ) + a K ] + µi + o(a 1/pi ) ) Λ (p i ) i (B [0,1/K] [upi, )) = 1 b K +b 1/pi K e a K Λ ( p) = K i=1 ( log(1 p i )) a 1/p i Λ (p i ) i (B [0,1/K] [upi, ))
Outline 1 Introduction Objective Informal Definition and Related Work 2 Preliminaries Single User MIMO Capacity Gaussian Approximation 3 Point Process Approximation A Distributed Algorithm 4 Heterogeneous Users Expected Capacity QoS 5 Collision Avoidance Collision Avoidance Algorithm
Collision Avoidance If a collision occur, the whole slot is LOST! First, minimize the idle slot probability, Pr(idle) = e k. Next, cope with the resulted collision probability. Minimize idle probability Idle slot probability goes to zero when setting k = log K Pr(idle slot) e log K = 1/K 0.
Collision Avoidance If a collision occur, the whole slot is LOST! First, minimize the idle slot probability, Pr(idle) = e k. Next, cope with the resulted collision probability. Minimize idle probability Idle slot probability goes to zero when setting k = log K Pr(idle slot) e log K = 1/K 0.
Collision Avoidance - cont. How to deal with log K users on average? Rate users by the distance they reached from the threshold. The set of values above the threshold is divided to l bins (mini slots). A user which passed the threshold checks in which bin he lies. If the bin index is i, it waits i 1 mini-slots and checks the channel. To achieve uniform distribution over the bins, set the bins boundaries by the exponential limit distribution.
Collision Avoidance - cont. How to deal with log K users on average? Rate users by the distance they reached from the threshold. The set of values above the threshold is divided to l bins (mini slots). A user which passed the threshold checks in which bin he lies. If the bin index is i, it waits i 1 mini-slots and checks the channel. To achieve uniform distribution over the bins, set the bins boundaries by the exponential limit distribution.
Collision Avoidance - cont. How to deal with log K users on average? Rate users by the distance they reached from the threshold. The set of values above the threshold is divided to l bins (mini slots). A user which passed the threshold checks in which bin he lies. If the bin index is i, it waits i 1 mini-slots and checks the channel. To achieve uniform distribution over the bins, set the bins boundaries by the exponential limit distribution.
Collision Avoidance - cont. How to deal with log K users on average? Rate users by the distance they reached from the threshold. The set of values above the threshold is divided to l bins (mini slots). A user which passed the threshold checks in which bin he lies. If the bin index is i, it waits i 1 mini-slots and checks the channel. To achieve uniform distribution over the bins, set the bins boundaries by the exponential limit distribution.
Collision Avoidance - cont. How to deal with log K users on average? Rate users by the distance they reached from the threshold. The set of values above the threshold is divided to l bins (mini slots). A user which passed the threshold checks in which bin he lies. If the bin index is i, it waits i 1 mini-slots and checks the channel. To achieve uniform distribution over the bins, set the bins boundaries by the exponential limit distribution. P i 0.08 0.06 0.04 0.02 0
Alg. performance E C 4.5 4.0 3.5 3.0 2.5 K Figure : Expected capacity v.s. the total number of users K. Bottom line represents the expected capacity for K users with CA, setting threshold that on average log K users pass threshold, placing them into ( log K ) 2 bins. Top line represents the optimal centralized scheme
Conclusions A simple way to reproduce existing results. Point process approximation is an elegant way to analyze threshold-based distributed scheduling systems. Using this approach, heterogeneous networks and QoS constraints, previously intractable, can now be handled. Enhanced splitting algorithms, not requiring collision detection, can also be analyzed - see full version on the arxiv. Thank You!
Conclusions A simple way to reproduce existing results. Point process approximation is an elegant way to analyze threshold-based distributed scheduling systems. Using this approach, heterogeneous networks and QoS constraints, previously intractable, can now be handled. Enhanced splitting algorithms, not requiring collision detection, can also be analyzed - see full version on the arxiv. Thank You!