A major component of any energy efficient wireless communication system is the resource scheduler. A well designed system needs to be aware of the energy costs that different resource allocation decisions entail. This awareness allows the system to integrate any performance enhancements simply as alternative allocation options available to reduce energy consumption while satisfying users' demands.
2.1. Score based scheduling
The concept of a score based scheduler is proposed in [
16]. In a TDMA-like system, a user
i(
t) with the best score is selected at slot
t to transmit:
(1)
where
U is the total number of users in the system,
s
j
(
t) is the score of user
j at slot
t, which corresponds to the rank of his current transmission rate
r
j
(
t) within the already observed values
r
j
(
t)
, r
j
(
t - 1)
, ..., r
j
(
t -
W + 1) with
W being the window size in time. When there are two users with the same score, one is chosen at random. Formally, the scores are calculated as follows:
(2)
where
is the indicator function which returns 1 if the condition in the brackets is true and 0 otherwise and
X
l
's are independent identically distributed random variables that take on value from {0, 1} with Pr(
X
l
= 0) = 1/2.
Score based scheduling evaluates each user's performance on a future TS relative to their past experience, and assigns the aforementioned TS to the user who can benefit the most relative to their history.
2.2. Energy efficient score based scheduler (EESBS)
The score based scheduler in its basic form outlined above cannot be used to enhance energy efficiency while not compromising fairness and delivered data rate. The metric used for rating the resources needs to be changed, as well as the whole approach being adapted to OFDMA rather than TDMA systems. Resource allocation needs to be done and updated at a regular period to keep up with the channel conditions--for example every long term evolution (LTE) sub frame. In general, the shorter the time span for which resources are allocated, the better the energy efficiency would be. This is due to less time being allowed for the channel conditions to change.
To promote energy efficiency, RBs that can be used in a highly energy efficient manner need to be allocated first. The use of a metric for rating them that measures the energy efficiency of the RB can achieve the desired result. A large number of metrics can be used--total energy used, energy per bit delivered etc. In this work, total RF transmission power is used. A RB's energy performance is compared to that of the remaining RBs available for allocation to that user, and scores are assigned. Moreover, when a conflict between users arises--the user who can use the RB most efficiently among the contending users is allowed to transmit using it. The rest of the users are allocated their next best RB.
Also, fairness among users has to be assured while satisfying each user's data rate requirement as best as possible. To ensure that, users are allocated one RB at a time until their service requirements are met. By doing so, the effect that high demand users have on low demand ones is minimized. The total number of users in the system becomes more important rather than the existence of high demand users assuming all users are given the same priority. Please note the distinction between high priority and high demand users. High priority users will always have a detrimental effect on fairness in the system.
The equation for calculating scores hence becomes:
(3)
where is the score for RB q for user j at TS t, is the energy metric evaluated for user j on RB k at t, M is the total number of RBs and f
j
(m
j
) is a penalty function based on the number of already allocated RBs for the user. Lower scores indicate more desirable RBs. The energy metric and penalty function used within this work are defined as , where is the RF transmission power required on RB k for user j, and f
j
(m
j
) = m
j
, respectively. It is in theory possible to assign each user a separate penalty function, as well as to have a penalty function that prioritizes users based on different criteria, such as vulnerability, subscription plan etc. This makes EESBS a versatile and easy to tailor scheduling technique.
A pseudo code implementation of the score based scheduler can be found in Algorithm 1. The RESOLVE clause represents the process through which conflicts between users are resolved. A conflicting RB is allocated to the user who needs the least amount of energy to use it, whereas the rest of the users are allocated their next best RB according to the calculated scores.
Algorithm 1. Amended score-based scheduler
INITIALIZE requiredResouces(1 ... j) ← calculate number of required RBs for all users
while sum(requiredResources) > 0 do
CALCULATE for all users and RBs
for i = 1 to number of BSs do
FIND best RB for each user connected to this BS based on
if User's best RB is not allocated AND is usable AND is not another user's best RB
then
ALLOCATE RB to user
end if
if There were conflicting RBs between users then
RESOLVE conflicts by allocating RB to most efficient or priority user
ALLOCATE next best RBs, based on , to the remaining users
end if
end for
if There are no available RBs for allocation then
EXIT while loop
end if
end while
RUN power control algorithm
The last step in the scheduling algorithm is to run a power control subroutine. Power control is necessary to ensure that the minimum feasible transmission powers can be calculated, which allows the proposed techniques to be correctly evaluated. This ensures the most efficient operation of the system. The algorithm of choice here is the Foschini-Miljanic [
17] power control algorithm due to its simplicity and low computational overhead. It is based on the following iterative control equation:
(4)
where is the transmission power used for user j on RB q for TS t, Γ
q
is the SINR target for RB q, and is the achieved SINR at the time instance prior to allocating resources. The power control subroutine should be allowed to run until the difference in the transmission power vectors between iterations, ε, has converged. Within this work, ε is defined to be 1% of the maximum BS RF transmission power. This is reflected in a relatively low number of control loop iterations required--on average 6-7. The transmission powers used to calculate the energy efficiency metric used for allocation will be different from the ones actually used for transmission. This will result in a difference in the energy efficiency expected at allocation and the achieved one. Since the problem of energy efficient allocation of RBs and power to transmit on them is NP hard, this article presents a heuristic solution. Within this framework, each allocation iteration improves on the energy efficiency of the system.