3.4 Hybrid Resource Allocation Framework
3.4.2 Online Scheduling
3.4 Hybrid Resource Allocation Framework
to the scenario in which ib1ib2ib3ib4il1 ∈ Lm(G), but ib1ib2ib3ib4il1 ∈/ Lm(H).
Therefore, the supervisor S is not controllable.
Since the supervisor S is not controllable, it cannot provide a guarantee that the system load will always be maintained within the threshold th. Although the supervisor S does not have direct control over Lb(t), it has control over the number of buckets to be selected at any scheduling interval. Whenever the system G moves out of the safe operating region (shown using dotted lines in Figure 3.19), the supervisorScan bringGback to the safe region by decrementing the number of buckets that are allowed. That is, ib1ib2ib3ib4il1 ∈/ Lm(H), but ib1ib2ib3ib4il1db4 ∈ Lm(H). It may be noted that the decision on increasing / decreasing the total number of buckets selected for RB allocation can be taken only at TTI boundaries. Hence, the supervisor S cannot instantaneously change Bk(t). Therefore, the scheduler will controlLb(t) within the safe thresholdthonly at TTI boundaries. In order to ensure such control, the supervisor S partitions the state set Q of G into two disjoint sets, i.e., Q =Qs∪Qu. Here, Qs denotes the set of safe states inGandQudenotes the set of unsafe states inG. Using this information, the scheduler will take necessary corrective action online to bring the system back to safe operation region whenever it moves to the unsafe region.
be revised/re-initialized to its nearest safe state by the online scheduler [80, 81].
A step wise description of the online scheduler is presented in Algorithm 4. The proposed scheduler dynamically allocates resource blocks to theRTflows, taking into account the instantaneous channel quality index, system load and maximum end-to-end tolerable delays of RT flows.
In the first step, the scheduler calculates the key values for all flows in order to uniformly divide them into available number of buckets (AB). The key values for all the flows are assigned on the basis of two parameters: (a) Spectral efficiency of the flow based on its wide-band CQI (b) Head-of-line Delay (HOLD) which represents the urgency of the flow. The key valuekeyifor theithflow is calculated as follows:
keyi =
(SEi, if HOLD < HOLDthi
γ×HOLDi
M axDelayi ×SEi, Otherwise (3.14)
where,HOLDis the head-of-line packet delay,SEidenotes the spectral efficiency corresponding to theith flow based on wide bandCQIandM axDelayi represents the upper bound on the time a flow should wait before being dropped from the queue (M axDelay provides a measure of a flow’s criticality towards real-time packet delivery). HOLDthi and γ are the tunable parameters which indicate the urgency factor and urgency threshold, respectively. Larger the values ofHOLDith and γ, higher becomes the relative priority of packet delay urgencies compare to spectral efficiency.
In the second step, the scheduler sorts all the flows in non-decreasing order based on the computed key values and divides them uniformly into the priority buckets. That is, the flows having higher key values are enqueued into the higher priority buckets. Then, the scheduler computes the instantaneous system load Lb(t) at eNodeB in step 3. In order to maintain the system load within the given safe threshold value (th), the online scheduler selects the appropriate number of buckets with the help of the offline supervisor. For this purpose, it invokes the function Update-System-State (qt−1, Lb(t)) (refer step 4) to identify the current system state. Here, qt−1 represents the system state at the end of last
3.4 Hybrid Resource Allocation Framework
ALGORITHM 4: The Online Scheduler
1 Calculate key value for each active flow;
2 Allocate flows uniformly among the available buckets based on their key values;
3 Compute the current system loadLb(t);
4 qt =Update-System-State (qt−1, Lb(t));
5 Select the appropriate number of bucketsBk(t) for RB allocation based on the obtained qt;
6 Compute the RBs demandDRBb (t) of the bth bucket;
7 Compute the total RBs demand over all selected buckets as:
DRBtotal(t) = P
b∈Bk(t)
DRBb (t);
8 LetC(t) be the instantaneous system capacity available at eNodeB;
9 if C(t)> DRBtotal(t) then
10 while (C(t)−DtotalRB (t))>0do
11 UpdateB(t) = B(t) + 1 ;
12 UpdateDtotalRB (t) based on current B(t) ;
13 else
/* System is overloaded condition */
14 Fairly distribute the available capacity C(t) among selected buckets;
15 Allocate RBs to each flow which belongs to the selected bucketsBk(t) ;
TTI (scheduling interval) and a check is made to determine whether it is part of the set of unsafe states Qu ∈ G. Step 1 of Algorithm 2 initializes qt−1 to the temporary variable qtemp. Suppose qtemp ∈ Qu, then qtemp is appropriately adjusted by taking the transition on events of type dbj (where j = {1,2,3,4}) (refer to steps 3 to 5) until qtemp becomes the part of the set of safe states Qs. On the other hand, qtemp ∈ Qs, then qtemp is appropriately adjusted by taking the transition on events of type ibj (where j = {1,2,3,4}) (refer to steps 7 to 8) until qtemp reaches the boundary of safe operating region. Finally, qtemp has been updated as qt (step 9, Algorithm 2) and the total number of buckets Bk(t) allowed at this state is given as an input to the online scheduler.
It may be noted that based on the solution provided by the offline policy, a certain number of buckets Bk(t) is selected based on instantaneous system state
ALGORITHM 5: Update-System-State
Input: System state in last scheduling interval (qt−1), Instantaneous System Load (Lb(t)), Composite System Model
G= (Q, Σ, q0, Qm, δ, Γ) Output: Current System State (qt)
/* Compute qt from qt−1 s.t. qt∈Qs */
1 Initialize qtemp =qt−1;
2 if qtemp∈Qu then
3 repeat
4 qtemp =δ(qtemp, dbj), where dbj ∈Γ(qtemp);
5 until qtemp ∈Qs;
6 else
7 while δ(qtemp, ibj)∈Qs do
8 qtemp =δ(qtemp, ibj), where ibj ∈Γ(qtemp);
9 qt=qtemp;
10 return qt
at a given time. However, inherent system dynamics such as instantaneous RB demands, instantaneous sub-band channel conditions, etc. of each flow have not been considered in the offline supervisor. Such inefficient utilization of the above mentioned dynamic parameters may result in poor resource utilization and may lead to performance degradation for the RT flows beyond a certain system load value. Therefore in steps 9 to 15 (Algorithm 1), the online scheduler appropri- ately alters the offline decisions at each TTI to improve resource utilization. In order to carryout this modification, the online scheduler must consider both un- derutilization as well as over-utilization of resources. The underutilization occurs when the total RB demand over all the selected buckets (calculated offline) is less than the available instantaneous capacity C(t). In such a situation, the al- gorithm increments the total number of selected buckets by one until the total RB demand over all selected buckets is approximately equal to the instantaneous capacity (In steps 9 to 12). On the other hand, if the total RB demand over all selected buckets overshoots the instantaneous capacity (C(t)), the online sched- uler fairly scales down the total #allocated RBs for each bucket in step 14. The