Page 1
Scheduling, Diversity and QoS IssuesScheduling, Diversity and QoS Issues
Madrid, 4 November 2005
A. Gameiro
Univ. Aveiro / Inst. Telec.
Page 2
Outline
Introduction Diversity
Multiuser Diversity
Scheduling algorithms Opportunistic scheduling
The problem of QoS
Scheduling approaches to cope with QoS Categories
Issues
Framework based on the utility function
Comments and conclusions
Page 3
Introduction - Diversity
Main characteristic of wireless networks randomness Network topology is not fixed (users move, enter, leave the network...)
Link characteristics vary with time , position
This randomness can however be used to provide diversity
Classical forms of diversity Time
Frequency
Space (antenna)
Typically this sort of diversity is exploited on a point to point link level basis
Page 4
Multiuser diversity I
When viewing the downlink at the network level K independent links corresponding to the different active users
If for BS if the goal is to maximize the DL throughput
» Then there are K independent links available
possible to exploit the randomness of the different links, by at a given time transmitting through a good quality link
multiuser diversity (Knopp & Humblet)
Exploited at the network level and not on a point to point basis
Fading channel
Mobile user
h1(t)hK(t)
Page 5
Multiuser diversity II
Cha
nnel
gai
n
time
ch1ch2ch3best
• System with high number of users and independent channels
high probability that at any time there is a good quality channel available
• Long term total throughput can be maximized by always using the best channel
Example
The higher the number of users / channel variability the higher diversity we have
Some schemes can be used to induce / enhance diversity random beamforming with dumb antennas
Page 6
Packet Scheduling and Multiuser Diversity
Downlink packet scheduling
Fading channel
Mobile user
h1(t)hK(t)
...
Flow 1 Flow K
Radio block data or packet
• Objective: transmit the data blocks in queues 1....K to mobiles 1...K, through hi(t)
• Inherent multiuser diversity in the downlink of cellular can be directly exploited
• In each time slot transmit the packets in the queue associated with the best quality channel
• Opportunistic Scheduling
Page 7
Opportunistic scheduling I
Independence of the links and time variability allows Achieve maximum throughput by opportunistically scheduling the transmissions
» Save power, learn to recognize the opportunities and seize the chance when it arises
Diversity increases with the number of users More users better channel available
What are the issues? Issues are a consequence of the goal implicitly associated with the algorithm
Goal throughput maximization
if quality of communication or network performance involves other parameters no guarantee that the algorithm performs well considering eventual additional parameters
This makes it applicable for best effort packet services
If the quality of communication involves parameters other that the correct delivery of bits algorithm must be reanalyzed
Page 8
Quality of Service I
Trends in telecommunication networks Provide end to end quality of service
» different traffic types get different levels of network service
Characteristics used for QoS Bandwidth allocation (bandwidth: misnomer for data rate)
Delay bound
Jitter bound (Jitter = variation in delay)
Loss rate
Page 9
Quality of service II
What are the issues associated with QoS provision? Isolation / sharing
» Provision of individualized quality communication guarantees facilitated if different flows are isolated
Isolation is inherent in circuit switched networks
but
in the current Internet (IP) all flows share all resources at the packet level.
» Ensuring QoS requires isolation
» However too much isolation lower the resource utilization
To support QoS in IP network, need to emulate the traffic isolation while sharing resources at the packet level
Delay bounds
» IntServ requires scheduling to support delay bounds.
» Delay bounds reflect the trade-off between isolation and sharing.
Page 10
Quality of Service III
Provision of QoS services generally involve putting in place mechanisms that ensure Fairness - access to network resources
Isolation - protection from excessive usage of network resources from other users
Subject to general goals of
Efficiency
Complexity
Page 11
Quality of Service V
To reach these goals in packet switched networks requires collaboration of many components Admission Control
Scheduling
» Which packet gets transmitted first on the output link significantly impacts QoS guarantees for different flows.
• Scheduling affects delay, jitter and loss rate.
• Allows protection against misbehaving flows.
Buffer Management
Congestion Control
Page 12
Opportunistic Scheduling and QoS I
How does the opportunistic scheduling algorithm answer the generic QoS requirements?
» Fairness / Isolation
• This is greedy algorithm users with good channels can starve users with bad channels
» Delay
• Over a large time span any user will be scheduled but there is no control of the maximum delay
This makes it applicable for best effort traffic
Page 13
Opportunistic Scheduling and QoS II
Even the throughput maximization is only guaranteed for full queue situations
If this is not the case a user with a high quality channel but momentarily low traffic may be using resources without need
A max-min strategy would give better throughput results
» In time slot n, scheduler selects user k such than
))(),((minmaxarg)( nQnRnk jjj
Rj(n) number of bits that can be transmitted within slot n over channel jQj(n) length (in bits ) of queue j prior to slot n
Page 14
QoS and Scheduling
Scheduling is a major component in the QoS scheme
There are conflicts in a packet switched network between The goal of sharing resources
The need to provide some flow isolation and fairness to guarantee QoS
Scheduler designed to maximize throughput does not answer these objectives
But these goals and implementation problems are not specific of wireless networks also exist in the wired world to fullfill the quest of QoS provision
Are there solutions that can be imported?
Page 15
QoS and scheduling – Wired vs Wireless I
There are some fundamental difference between wired and wireless networks Wired networks: can assume time-invariant physical links in most cases
» Packet schedulers use information from the upper layers(QoS requirements, forwarding policies,…) to decide about which packets should be transmitted
Scheduler
PHY layer
Upper layersRead QoS requirements / packet attributes, get forwarding policies
Page 16
QoS and Scheduling – Wired vs Wireless II
What happens with wireless networks? Dynamic topology: user moves around, also enter and leave
Quality of the wireless channel is typically different for different users, and randomly changes with time (on both slow and fast time scales).
Wireless bandwidth is usually a scarce resource that needs to be used efficiently (can not overprovision the wireless link).
Excessive amount of interference and higher error rates are typical.
A scheduling algorithm that does not account for this variability of the channel will have low efficiency would be for most scenarios very poor
wireless networks require scheduling algorithms that use the PHY layer information
Page 17
QoS and Scheduling IV
Opportunistic scheduling includes channel information by using the channel quality indicator to schedule packets, but does not use any information from the upper layers concerning the nature and requirements of the traffic It represents the opposite case of common wired scheduling algorithms
Scheduler
PHY layer
Upper layers
Get Channel State Information
Page 18
QoS and Scheduling V
To provide QoS in packet switched wireless networks a cross-layer design approach is needed to design schedulers Service requirements have to be taken into account
Physical layer information needs also to be considered
Scheduler
PHY layer
Upper layers
Get Channel State Information
Read QoS requirements / packet atributes, get forwarding policies
Page 19
Scheduling Schemes for QoS I
What have been the proposals design schedulers able to support QoS ?
Proposals fit in two main classes
Class 1
Algorithms only use Phy layer information but process it so that QoS related parameters performance will improve
Main goal: to improve fairness
With improved fairness, delay statistics (max, jitter) expected to improve
Class 1
Algorithms only use Phy layer information but process it so that QoS related parameters performance will improve
Main goal: to improve fairness
With improved fairness, delay statistics (max, jitter) expected to improve
Class 2
Algorithms expliciltly use QoS requirements
Algorithm can then be designed to match some QoS related parameter
Class 2
Algorithms expliciltly use QoS requirements
Algorithm can then be designed to match some QoS related parameter
Page 20
Class 1 Scheduling algorithms for QoS I
Class 1 Best known algorithm
Proportional fair scheduling
In time slot n, scheduler selects user k such than
Rk(n) rate channel k can support
Tk(n) average throughput over given window of user k
» Can be updated using more sophisticated filtering
Variant
))(
)((maxarg)(
nT
nRnk
j
j
j
)(
)(maxarg)(
n
nnk
i
i
i
Page 21
Proportional Fair Scheduling I
Proportional fair scheduling
Provides fairness
» In the long term channel usage is 1/K for each user, even if the average SINR’s are different
» Translates in better delay properties
» Can be easily adapted to different classes of traffic by applying different weights
Problems Fairness only achieved in the long term
No absolute guarantee concerning delay
Even with fairness potential instability problems
))(
)((maxarg)(
nT
nRwnk
j
jj
j
Strictly speaking the use of weights specified by the upper layers would move the algorithm to class 2
Stable scheduling algorithm means all queues bounded
Page 23
Class 1 Scheduling algorithms for QoS II
Other class 1 approaches “Force” TDMA like component (Bettesh & Shamai)
Improvement of Round Robin scheduling and some variants of it through channel awareness
Page 24
Class 2 Scheduling Schemes - Concept
Class 2 approaches Concept
Scheduler
PHY layer
L3
Channel estimation
Provide CSI
QoS requirements
Read QoS requirements / packet atributes
Takes decisions in order to optimize some cost / revenue function f(QoS,CSI)
Page 25
Class 2 Scheduling Schemes I
What are the difficulties with this approach? Definition
» What is an appropriate cost or revenue function?
Implementation
» Optimum implementation quickly degenerates in a very complex optimization problem if many parameters (CSI and QoS) are considered
Page 26
Class 2 Scheduling Schemes II
Utility function based class 2 approach
Considers that associated with each packet there is an utility function
is the packet delay, and to consider different classes of service one can define different functions Ui(.), i=1,...L.
Utility decreasing with the delay
)(iU
delay
utili
ty
Traffic moderately sensitive to delay
Bounded delay traffic
Page 27
Class 2 Scheduling Schemes III
Previous work based on individual utility functions
Algorithm selects packets of queue that maximize
» i(n), delay of the head of line packet of user (queue) i at the beginning of time slot n
» Ri(n): offered rate by channel I
Algorithms that fit in this class
» Weighted delay
» Weighted queue
)())((maxarg)( , nRnUnk iiii
Although very simple these two algorithms are shown to be stable
(Stable means the scheduling algorithm must be able to keep all queues bounded)
Page 29
Class 2 – The utility function
Either weighted delay or weighted queue algorithms leads as in the max(C/I) algorithm to a greedy algorithm
Why?
» The utility function is related to a single user
• Not guaranteed that what is best for a given user translates in benefices for all
• The utility function which in the opportunistic scheme was the channel rate was replaced by another one involving the delay or queue length but again this is an individual function for each user
Page 30
Utility function - Comments
Utility function
Why is an individualized utility function not appropriate?
» If there is a decision to send data to a given user translates in a benefit to this particular user there is also cost in deferring the transmissions for other users
» If packets have delay bounds
• Deferring transmission reduces the number of opportunities to transmit increasing the probability that a packet will be lost
» Even if there are no strict bounds but jitter tolerance the usefulness of the packet will be lower
• Jitter will affect the overall quality
What would then be needed ?
» A global utility function, that accounts for the whole set of active users, and includes the costs associated with the non-scheduled users
Page 31
Generalization of the utility function I
Basic idea
1. At the beginning of time slot n, the packets in the queues represent a certain amount of utility
The total potential utility
This represent the utility that will be achieved if they all the packets are transmitted successfully while fulfilling any other constraints (delay, jitter,…) that may exist
2. If user j is scheduled for time slot n, then an amount of utility
is transferred to user j
Rj(n) number of radio blocks (packets) than cam be transmitted through channel j during slot n
Qj(n): vector representing the state of the queue j at the beginning of time-slot n
)(nU p
))(),(( nnRU jjj Q
)|1( jnU Tp
Page 32
That is we start with an amount of potential utility
Transfer part of it to user j
And are left with the remaining utility
Generalization of the utility function II
3. Assuming user j has been selected, the packets not transmitted have their delay increased by one and the remaining potential utility associated with the queues Qj(n+1|j) is
)(nU p
)|1( jnU p
))(),(( nnRU jjj Q
)|1( jnU p
Page 33
Generalization of the utility function III
Intuitively one would expect than for an appropriate definition of potential utility, the sum of the transferred utility and the remaining potential utility will not exceed the original potential utility
We expect that a good decision will minimize the loss of utility which leads to the scheduling decision
Although this framework is perfectly general, the key point is to find utility functions that are meaningful for the network operator and do not lead to excessive computations
)()|1())(),(( nUjnUnnRU ppjjj Q
)|1())(),((maxarg)( jnUnnRUnk pjjjj
Q
Page 34
Utility functions
Simple utility functions
Delay constraints
Jitter constraints
L
i
ijjjj UU
1
)( )()( Q
L: number of packets in the queue
: delay associated with the ith packet in the queue
packet 1 head of line
Uj(.): non-increasing function
)(ij
)1()2()1(jjj
)(max)2()()( )1( xULUU jjjjjj Q
j(.): Time elapsed since the last packet of queue j has been transmitted successfully
Page 35
Examples I
Single service, delay sensitive (bounded)
Utility function
0 5
-1
0
1
delay (time slots)
utili
ty
After delay exceeds 5 packet is dropped, but in the computation of the remaining utility counted
Value of -1 for the cost of dropped packet is arbitrary. Must be fixed by operator and depends on the specific service
Scenario
20 users, fixed length packets; Poisson arrival rate with intensity packets/ time slot
Independent channels specified by a packet error rate given by 10 -x (x uniformly distributed in [-3,0])
Page 36
Examples II
0 5 10 15 20 25 30 35 400.4
0.5
0.6
0.7
0.8
0.9
1
delay (time-slots)
cd
f
utilitymax C/I non drop
Delay cdf for some values of intensity (arrival rate per user)
=0.04 80% load (with perfect channels)
=0
0 10 20 30 40 50 600.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
delay (time-slots)
cdf
utilitymax C/I non drop
=0.046 92% load (with perfect channels)
=0
Page 37
Examples III
0.03 0.032 0.034 0.036 0.038 0.04 0.042 0.044 0.046 0.0480.8
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
1
arrival rate / user
no
rma
lize
d t
hro
ug
hp
ut
utilitymax C/I with drop
Normalized throughput: ratio between the number of correctly received packets for the specific algorithm and the number of correctly received packets with a max(C/I) algorithm (without packet dropping)
Page 38
Examples IV
Scenario
20 users, fixed length packets; Poisson arrival rate with intensity l packets/ time slot
Independent channels specified by a packet error rate given by 10 -x
» For 10 channels x uniformly distributed in [-4,-2]
» For 10 channels x uniformly distributed in [-2,0]
0 5 10 15 20 25 30 35 40 45 500.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
delay (time-slots)
cdf
utilitymax C/I non drop
0 10 20 30 40 50 60 70 80 90 1000.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
delay (time-slots)
cdf
utilitymax C/I non drop
=0.04 80% load (with perfect channels)=0
=0.046 92% load (with perfect channels)=0
Page 39
Framework for scheduling in wireless networks
Scheduling in wireless networks with QoS support
What do we have Different classes of services specific forwarding policies to be provided by the
upper layers
Random traffic patterns variable traffic states at each instant
Diversity inherent at the PHY layer
objective: match the traffic and PHY layer patterns subject to the forwarding policies
SchedulerPolicies Traffic state
CSI Maximizes the utility for the operator
Page 40
Comments – Conclusions
Discussed issues related to packet scheduling, diversity and QoS requirements in PS wireless networks
Wireless networks have inherent diversity In best effort packet traffic can be fully exploited maximization of throughput
But
trends towards QoS provision need for some flow isolation implies that sharing to maximize throughput is no longer optimum
Approaches towards QoS provision Cross-layer approach optimization of cost / revenue function involving parameters from higher
and PHY layers
With QoS and the need to meet very different targets for different traffics Utility of bits may be different from user to user / application to application
Metrics other than the throughput may be needed
Concept of global utility involving, policies, traffic conditions and CSI presented and discussed
Page 41