• 沒有找到結果。

Chapter 3 QoS_GTE Scheduling Scheme

3.2 SO_based Resource Allocation Algorithm

Since there is a tradeoff between QoS guarantee and system throughput, the proposed service order based (SO_based) resource allocation first serve MSs which are not QoS satisfied to guarantee the QoS; later, MSs with good channel conditions will be served to maximize the system throughput. The resource allocation is start after path selection.

3.2.1 Definition of Sm

In order to maintain the QoS requirement, we define a service order parameter to combine the priority and urgency together for the purpose of lowering the probability that the traffic will violate the QoS constraints. The service order parameter of MS_m at the beginning of the xth-frame, denoted by Sm(x) is defined as, xth-frame, u(x) is the urgency value of the packet to MS_m at the at the beginning of the xth-frame, p* is the maximum value of p(x) and u* is the maximum value of u(x).

Why we consider both priority and urgency is that if only priority value is considered, low priority traffics are backlogged as long as there are traffics with priority higher than them even though these low priority traffics have waited for a long time or are going to violate the constraints. In order to avoid the unfair condition above, we advocate the low priority traffic deserves being served when it is in an emergency condition. We add normalized priority value and normalized urgency value together to decide which traffic should first be served impartially.

It has been mentioned that there are four traffic types considered. Each traffic type is given an integer priority value p(x). The voice traffic is assigned with the highest priority and its priority value is four. The second higher one is the video streaming traffic and its priority value is three. The third one is the HTTP traffic and its priority value is two. The last one is FTP of best effort traffic and its priority value is one.

Assume that each MS can request only one type of traffic service at each time.

However, it would be different among MSs, which have experienced various delay,

even these MSs have same priority value. The urgency value u(x) is brought out. The higher urgency value u(x) of a MS implies that this MS’s packet is having higher possibility to violate the QoS constraints. The u(x) plays an important role in QoS_guaranteed issue and u (x) is defined as,

( ) ( ) ( )

u x =l x +t x , (12)

The l(x) is the urgency value for a packet contributed by the remaining bits which are not transmitted yet at the beginning of the xth –frame, which is definition as:

( ) L Cx 1

l x L

= , (13)

The L is the size of the packet and Cx-1 is the total bits that have been transmitted at the end of the (x-1)th–frame. The t(x) is the urgency value for a packet contributed by the delay time at the beginning of the xth –frame.

In the following, the t(x) of real-time traffic is designed. D* is QoS maximum delay tolerance requirement in the unit for frame. We separate the D* into U* levels.

t(x) is set to be one when the delay of the packet at the xth –frame, d(x), is not greater than D* /2, which implies this packet is the less urgent one. Then we divide the other D* /2 range equally into (U*-1) parts and the value of t(x) is set to be two, three… U*, respectively. The packet with t(x)=U* is approaching the delay upper bound D* and is so urgent to be served immediately. Notice that the method above only works when the delay constraint D* is larger than the level of t (x), denoted as U*. This concept can be expressed in mathematic modeling as below.

( )

fraction of a frame. Since our minimum unit in scheduling is one frame, a fraction of a frame will never occur. For this reason we modified our mechanism when D* is not larger than U*. This concept can be expressed in mathematic modeling as below.

( )

There are total D* +1 levels in t (x) and the difference of delay constraint between any two adjacent levels is one frame, the minimum scheduling unit.

For non real-time traffic, the QoS constraint is the minimum required transmission rate R*. If a packet with size L is transmitted at the rate R*, the transmission time for

where N is the number of frame per second. In other words, D* is the maximum transmission time for a packet with size L. After having D*, all the process of defining t(x) is the same as real-time traffic.

3.2.2 Resource Allocation

For the purpose of QoS guarantee, the MSs can be served first when their Sm(x) are larger than service order threshold Sth. Also, the service order of these high Sm(x) MSs is according to the Sm(x) in descending way, which means that a MS with the higher Sm(x) is able to get what it needs earlier than the one with lower Sm(x). So Sth is a service order lower bound to make sure that the QoS is maintained as possibly as it can. If there is remaining resource after the first step, best first resource allocation is adopted, instead of using Sm(x) to decide the next served MS. Residual free resource is allocated to other MSs who can get the maximum transmitted bits in that channel to enhance the total throughput.

As in Figure, SO_based resource allocation algorithm computes Sm(x) for MS_m in user_set M, denote M is the set of MSs to be served. Therefore the MS which Sm(x) is greater than Sth will be served at first. Later, if there is remaining resource, best first allocation makes use of the remaining resource as well as possible.

m th

if S ≥S Sm

*

* arg max{ m}

m M

m S

=

\ { *}

M =M m

Figure 3.3. The flow chart of SO_based resource allocation algorithm.

相關文件