Delay Analysis for Max Weight Opportunistic Scheduling in Wireless Systems
Michael J. Neely --- University of Southern Californiahttp://www-rcf.usc.edu/~mjneely
Proc. Allerton Conference on Communication, Control, and Computing, Sept. 2008
*Sponsored in part by NSF Career CCF-0747525 and DARPA IT-MANET Program
1(t)
2(t)
N(t)
1
2
N
ON/OFF
New Max-Weight bound, O(1)
Prior Max-Weight Bound, O(N)
Network Size NA
vg. D
elay
or: “A Tale of Two Lyapunov Functions”
1
4
N
Quick Description: N Queues, 1 Server, ON/OFF Channels•Slotted Time, t {0, 1, 2, 3, …}.•Ai(t) = # packets arriving to queue i on slot t (integer).
•Si(t) = 0/1 Channel State (ON or OFF) for queue i on slot t.•Can serve 1 packet over a non-empty connected queue per slot. (Scheduling: Which non-empty ON queue to serve??)
?2
3
ON
ON
OFF
OFF
ON
Assume: •{Ai(t)} and {Si (t)} processes are independent.
•Ai (t) i.i.d. over slots: E{Ai (t)} = i
•Si(t) i.i.d. over slots: Pr[Si(t) = ON] = pi
1
4
N
Quick Description: N Queues, 1 Server, ON/OFF Channels•Slotted Time, t {0, 1, 2, 3, …}.•Ai(t) = # packets arriving to queue i on slot t (integer).
•Si(t) = 0/1 Channel State (ON or OFF) for queue i on slot t.•Can serve 1 packet over a non-empty connected queue per slot. (Scheduling: Which non-empty ON queue to serve??)
?2
3
OFF
ON
OFF
OFF
ON
Assume: •{Ai(t)} and {Si (t)} processes are independent.
•Ai (t) i.i.d. over slots: E{Ai (t)} = i
•Si(t) i.i.d. over slots: Pr[Si(t) = ON] = pi
1
4
N
Quick Description: N Queues, 1 Server, ON/OFF Channels•Slotted Time, t {0, 1, 2, 3, …}.•Ai(t) = # packets arriving to queue i on slot t (integer).
•Si(t) = 0/1 Channel State (ON or OFF) for queue i on slot t.•Can serve 1 packet over a non-empty connected queue per slot. (Scheduling: Which non-empty ON queue to serve??)
?2
3
OFF
ON
OFF
ON
ON
Assume: •{Ai(t)} and {Si (t)} processes are independent.
•Ai (t) i.i.d. over slots: E{Ai (t)} = i
•Si(t) i.i.d. over slots: Pr[Si(t) = ON] = pi
1
4
N
Quick Description: N Queues, 1 Server, ON/OFF Channels•Slotted Time, t {0, 1, 2, 3, …}.•Ai(t) = # packets arriving to queue i on slot t (integer).
•Si(t) = 0/1 Channel State (ON or OFF) for queue i on slot t.•Can serve 1 packet over a non-empty connected queue per slot. (Scheduling: Which non-empty ON queue to serve??)
?2
3
OFF
ON
ON
ON
OFF
Assume: •{Ai(t)} and {Si (t)} processes are independent.
•Ai (t) i.i.d. over slots: E{Ai (t)} = i
•Si(t) i.i.d. over slots: Pr[Si(t) = ON] = pi
1
4
N
Quick Description: N Queues, 1 Server, ON/OFF Channels•Slotted Time, t {0, 1, 2, 3, …}.•Ai(t) = # packets arriving to queue i on slot t (integer).
•Si(t) = 0/1 Channel State (ON or OFF) for queue i on slot t.•Can serve 1 packet over a non-empty connected queue per slot. (Scheduling: Which non-empty ON queue to serve??)
?2
3
OFF
ON
OFF
OFF
ON
Assume: •{Ai(t)} and {Si (t)} processes are independent.
•Ai (t) i.i.d. over slots: E{Ai (t)} = i
•Si(t) i.i.d. over slots: Pr[Si(t) = ON] = pi
Notation: Server variables are 0/1 variables.•Qi(t) = # packets in queue i on slot t (integer).
•i(t) = server decision (rate allocated to queue i) = 1 if we allocate a server to queue i and Si(t) = ON. (0 else)
•i(t) = min[i(t), Qi(t)] = actual # packets served over channel i
1
4
N
?2
3
Qi (t+1) = max[Qi(t) – i (t), 0] + Ai (t)
equivalently: Qi (t+1) = Qi(t) – i (t) + Ai (t)
New Max-Weight (LCQ) bound, O(1)
Prior Max-Weight(LCQ) Bound, O(N)
Network Size N
Avg
. Del
ay
Status Quo #1 – Max-Weight Scheduling:
•Well known algorithm [Tassiulas-Ephremides 93]•Gives full throughput region (0 < < 1).•Generalizes to multi-rate channels and multi-hop nets with backpressure, performance opt. [NOW F&T 06]
•Simple and Adaptive: No prior traffic rates or channel probabilities are required for implementation.
Capacity Region
Example
Previous Delay Bound:
(1-)cN
≤E{Delay}
• N = Network Size (# of queues) • = Fraction away from capacity region boundary (0 < • c = constant
Advantages:
Disadvantages: Max-Weight has no tight delay analysis!
Status Quo #2 – Queue Grouping and LCG:
“Largest Connected Group algorithm” (LCG) [Neely06,08] gives O(1) Average Delay, for any 0 < < 1 in the “f-balanced region”: no individual arrival rate is more than a constant above the average rate.
Capacity Region
Largest Connected Group (LCG) Delay Bound:
(1-)c log(1/(1-)
≤E{Delay}
Advantages:
Disadvantages:
[Neely, Allerton 2006, TON 2008]
Delay is O(1), independent of N
“f-balanced” region
•More Restrictive “balanced” Throughput Region. •Requires pre-organized queue group structure based on knowledge of and pmin = mini{Pr[Si(t)=ON]}.•Less Adaptive, not clearly connected to backpressure.
Our New Results: For ON/OFF channel…•We analyze delay of Max-Weight! (use queue group concepts)•Max-Weight gives O(1) delay (anywhere in ).•We develop 2 new Lyapunov functions (“LA” & “LB”).•These tools may be useful for more general networks *(see end slide for extensions to multi-rate models).
“f-Balanced” Rates in
Ex
(1-)c log(1/(1-))
≤E{Delay}LA:
Anywhere in
Ex
(1-)2
c log(1/(1-))≤E{Delay}LB:
Lyapunov Function 1 (LA): (ON/OFF channel)•We sum over all possible partitions of N into K disjoint groups, where K is same as in LCG algorithm:
“f-Balanced” Rates in
Ex
1(t)1
2(t)2
3(t)3
4(t)4
5(t)5
6(t)6
7(t)7
N(t)N(1-)c log(1/(1-))
≤E{Delay}LA:0
Lyapunov Function 1 (LA): (ON/OFF channel)•We sum over all possible partitions of N into K disjoint groups, where K is same as in LCG algorithm:
“f-Balanced” Rates in
Ex
(1-)c log(1/(1-))
≤E{Delay}LA:
1(t)1
2(t)2
3(t)3
4(t)4
5(t)5
6(t)6
7(t)7
N(t)N0
Lyap. Drift (t) of LA(Q(t)): (ON/OFF channel)
Theorem: Scheduling to minimize drift involves maximizing:
where:
Further, this is maximized by the Max-Weight (LCQ) Policy!
Proof Sketch: Use Combinatorics to show…
Maximized by LCQ(“max-weight”)
Maximized by anywork-conserving strategy
c1 > 0, c2 > 0
“f-Balanced” Rates in
Ex
1(t)1
2(t)2
3(t)3
4(t)4
5(t)5
6(t)6
7(t)7
N(t)N(1-)c log(1/(1-))
≤E{Delay}LA:0
Thus: The first Lyapunov function (LA) gives:
Lyapunov Function 2 (LB): (ON/OFF channel)•A 2-part Lyapunov function, inspired by similar function in [Wu, Srikant, Perkins 2007] for different context.
Stabilizes full Low delay when # non-empty queues is large (via multi-user diversity)
Anywhere in
Ex
(1-)2
c log(1/(1-))≤E{Delay}LB:
*Extensions: (Multi-Rate Channels)Si(t) in {0, 0.1, 0.2, …, max}
***We note that this slide originally contained an incorrect claim that multi-rate channels can also achieve O(1) average delay. This claim was not in the Allerton paper, but unfortunately was in our original Arxiv pre-print (v1). We have made a new Arxiv report (v2, Dec. 08) with the corrections and discussion of issues involved: ***M. J. Neely, “Delay Analysis for Max Weight Opportunistic Scheduling in Wireless Systems,” arXiv:0806.2345v2, Dec. 2008.
Paper: available on web: http://www-rcf.usc.edu/~mjneely/•Extended version with the multi-rate analysis (also on web): M. J. Neely, “Delay analysis for max-weight opportunistic scheduling in wireless systems,” arXiv: 0806.2345v2, Dec. 2008.
Conclusions: Order-Optimal (i.e., O(1)) Delay Analysis for the thruput-optimal Max-Weight (LCQ) Algorithm!
“f-Balanced” Rates in
Ex
(1-)c log(1/(1-))
≤E{Delay}LA:
Anywhere in
Ex
(1-)2
c log(1/(1-))≤E{Delay}LB:
Brief Advertisement: Stochastic Network Optimization Homepage: http://www-rcf.usc.edu/~mjneely/stochastic/•Contains list of papers, descriptions, other web resources, and an editable wiki board.
Conclusions: Order-Optimal (i.e., O(1)) Delay Analysis for the thruput-optimal Max-Weight (LCQ) Algorithm!
“f-Balanced” Rates in
Ex
(1-)c log(1/(1-))
≤E{Delay}LA:
Anywhere in
Ex
(1-)2
c log(1/(1-))≤E{Delay}LB: