• 沒有找到結果。

Update average rate: The estimated average rate is updated by: (2)N i t t T t t R t R i i c i c i 1

N/A
N/A
Protected

Academic year: 2021

Share "Update average rate: The estimated average rate is updated by: (2)N i t t T t t R t R i i c i c i 1"

Copied!
13
0
0

加載中.... (立即查看全文)

全文

(1)

Chapter 3. Packet Scheduling Policies

3.1 Qualcomm's Proportional Fair Algorithm

Because our packet scheduling algorithms are based on Q-PFA, we will spend

space in this section to give the details.

Q-PFA is a packet scheduling algorithm that gives every user approximately

equal air time while exploits multiuser diversity. In each slot, once the BS receives the

DRC messages, it needs two stages to do this algorithm:

Stage 1. Scheduling:

The user with the highest priority is selected, where the priority is calculated

by:

N t i

R t DRC

i

i 1,..., )

( )

Priority= ( = (3-1)

where DRCi(t) is the DRC message sent by user i at time t, Ri(t) the estimate

average rate of user i at time t, and N the number of users in that cell.

Stage 2. Update average rate:

The estimated average rate is updated by:

(2)

N i

t t T t t R

t

R i i

c i c

i 1 ( ) 1 1,...,

) 1 (

1 ) 1

( ⎟⎟× + × × =

⎜⎜

=

+ (3-2)

where Ti(t) is the current transmission rate of user i. If user i was not selected

to be served, Ti(t) would be zero. 1i is an indicator function. When user i is selected at

time t, 1i equal to 1; otherwise, 1i equals 0. tc is the window size whose value is

heuristic and has an influence on how long the transmission status is remembered. If tc

is large, the estimated average rate can be more accurate. But if a user moves from a

good channel environment to a bad one and stays long in bad one, this user can be

starved. In [1], [4], [6] and [10], the value of tc is assumed to be 1000 slots.

To show how Q-PFA can exploit multiuser diversity, we now use a simple

example to explain it. Let us consider two different cases where both cases have two

users and the window size is 10. In case 1, the channel condition is fixed. User A has

the rate of 100 and user B has the rate of 10. In case 2, the channel condition varies

with time. The rate of user A fluctuates between 80 and 120, and the rate of user B

fluctuates between 8 and 12, as shown in Figure 3-1. The rate would not change

during a slot. We see that case-2 users are in the unfavorable conditions that they not

only start at low rate but also two thirds of the slots are at low rate.

Now, we apply Q-PFA to both cases. The results are shown in Table 3-1 and

(3)

to add more users under the situation that the channel condition is fixed. It can be

observed that Q-PFA is identical to round-robin when channel state is fixed..

Figure 3-1. The bold lines show the rate of case 1; the dashed lines show the rate of case 2.

In case 2, we can find that after the second slot, if a user is at its relatively good

channel condition, this user will be selected. Thus, although the average channel

conditions of case-2 users are worse than that of case-1 user, the overall throughput in

case 2 is higher.

From this example, one can easily realize that Q-PFA is suitable for scheduling

service in time-varying channel environment. For an environment like Ethernet that

(4)

the channel state is almost fixed, Q-PFA has no advantage over round-robin.

Furthermore, if we can estimate the average rate correctly, we can then choose the

“right” user to serve. This is due to the fact that how Q-PFA determines which user to

choose depends on the current rate (i.e. the DRC messages) and the estimated average

rate. We can not change the current rate using a packet scheduling algorithm, but the

average rate is what we are going to estimate.

A B

user

slot current rate average rate priority served current rate average rate priority served

1 100 0.000 V 10 0.000

2 100 10.000 10.000 10 0.000 V

3 100 9.000 11.111 V 10 1.000 10.000

4 100 18.100 5.525 10 0.900 11.111 V

5 100 16.290 6.139 V 10 1.810 5.525

6 100 24.661 4.055 10 1.629 6.139 V

7 100 22.195 4.506 V 10 2.466 4.055

8 100 29.975 3.336 10 2.219 4.506 V

9 100 26.978 3.707 V 10 2.998 3.336

10 100 34.280 2.917 10 2.698 3.707 V

11 100 30.852 3.241 V 10 3.428 2.917

12 100 37.767 2.648 10 3.085 3.241 V

13 100 33.990 2.942 V 10 3.777 2.648

14 100 40.591 2.464 10 3.399 2.942 V

15 100 36.532 2.737 V 10 4.059 2.464

total 800 70

Table 3-1. The result of case 1. The behavior of Q-PFA is identical to Round Robin.

(5)

A B user

slot current rate average rate priority served current rate average rate priority served

1 80 0.000 8 0.000 V

2 80 0.000 V 10 0.800 12.500

3 120 8.000 15.000 V 8 0.720 11.111

4 80 19.200 4.167 12 0.648 18.519 V

5 80 17.280 4.630 V 8 1.783 4.486

6 120 23.552 5.095 V 8 1.605 4.985

7 80 33.197 2.410 12 1.444 8.308 V

8 80 29.877 2.678 8 2.500 3.200 V

9 120 26.889 4.463 V 8 3.050 2.623

10 80 36.200 2.210 12 2.745 4.372 V

11 80 32.580 2.455 V 8 3.670 2.180

12 120 37.322 3.215 V 8 3.303 2.422

13 80 45.590 1.755 12 2.973 4.036 V

14 80 41.031 1.950 8 3.876 2.064 V

15 120 36.928 3.250 V 8 4.288 1.866

total 840 72

Table 3-2. The result of case 2. The “right” user can usually be select to serve.

3.2 Initial Values

One problem of Q-PFA is that when a user enters the system, other users

would suffer starvation [6] of service. This is due to the fact that the estimated

average rate of the new user is zero. Thus it has the highest priority until it has been

served for some slots and the estimated average rate becomes higher.

To overcome this problem, we first noted that under Q-PFA, the users have

approximately equal air time in symmetric channel, i.e. they are served for

approximately the same number of slots. If the effective data rate of a user is R, and

(6)

the system has N users, then the estimated average data rate is about R/N. The

effective data rate of a user is the total transmitted data divided by the time used to

transmit data. (To compare, the estimated average rate is approximately the total

transmitted data divided by the total time.) We can reasonably assume that the current

rate is mostly not far from the effective data rate. So if the cell has N users and a new

user arrives, we set the initial estimated average rate, Ri(t), as:

If current_data_rate = 0 then Ri(t) = (least_data_rate)/N Else

Ri(t) = (current_data_rate)/N

Let’s consider the case 2 example in the last section. The window size is 10,

too. But this time, user B is delayed for 6 slots (i.e. user B is a new user at 7-th slot).

As shown in Table 3-3(a), if the initial estimate is set to zero, the priority of user B

would be too high. Nearly half the window size of slots will be occupied by the new

user. At some slots, such as slot 9, the data rate of user A is relative high, but he can

not be selected for service. If we set an initial value as mentioned above, the problem

that the priority of new user is too high no longer exists, as shown in Table 3-3(b).

(7)

A B user

slot current rate average rate priority served current rate average rate priority served

1 80 0.000 V

2 80 8.000 10.000 V

3 120 15.200 7.895 V

4 80 25.680 3.115 V

5 80 31.112 2.571 V

6 120 36.001 3.333 V

7 80 44.401 1.802 8 0.000 V

8 80 39.961 2.002 12 0.800 15.000 V

9 120 35.965 3.337 8 1.920 4.167 V

10 80 32.368 2.472 12 2.528 4.747 V

11 80 29.131 2.746 V 8 3.475 2.302

12 120 34.218 3.507 V 8 3.128 2.558

13 80 42.796 1.869 12 2.815 4.263 V

14 80 38.517 2.077 8 3.733 2.143 V

total 760 60

(a)

A B

user

slot current rate average rate priority served current rate average rate priority served

1 80 80.000 1.000 V

2 80 80.000 1.000 V

3 120 80.000 1.500 V

4 80 84.000 0.952 V

5 80 83.600 0.957 V

6 120 83.240 1.442 V

7 80 86.916 0.920 8 8.000 1.000 V

8 80 78.224 1.023 12 8.000 1.500 V

9 120 70.402 1.704 V 8 8.400 0.952

10 80 75.362 1.062 12 7.560 1.587 V

11 80 67.826 1.179 V 8 8.004 1.000

12 120 69.043 1.738 V 8 7.204 1.111

13 80 74.139 1.079 12 6.483 1.851 V

14 80 66.725 1.199 V 8 7.035 1.137

total 960 44

(b)

Table 3-3. User B is a new comer at slot 7. (a) Without initial value. (b) With initial value.

(8)

3.3 Update Suspending

Consider that a user is browsing Internet. He retrieves a web page, looks at it for

a while and retrieves another page. What happen to the user’s priority if the estimated

average rate is still updated when he looks at this web page (i.e. no data to be

transmitted)? Assume tc=1000 and he looks at the page for only 3 seconds. The

estimated average rate will reduce to about 0.165 time the original value. That is, his

priority is increased to 7 times of the original priority. So we should stop updating

average rate when a user is idle.

Again, let’s consider the case 2 example of section 3.1. This time, we have

applied the initial value policy, and user A will be idle from slot 4 to slot 9. As shown

in Table 3-4(a), user A continues updating the average rate. At slot 10, user A becomes

active again, he preempts user B even though user B is at his better channel state and

user A at his worse channel state. In Table 3-4(b), we stop updating during the idle

period. When user A becomes active again, user B can be selected as usual.

(9)

A B user

slot current rate average rate priority served current rate average rate priority served

1 80 80.000 1.000 8 8.000 1.000 V

2 80 72.000 1.111 12 8.000 1.500 V

3 120 64.800 1.852 V 8 8.400 0.952

4 70.320 12 7.560 1.587 V

5 63.288 8 8.004 1.000 V

6 56.959 8 8.004 1.000 V

7 51.263 12 8.003 1.499 V

8 46.137 8 8.403 0.952 V

9 41.523 8 8.363 0.957 V

10 80 37.371 2.141 V 12 8.326 1.441

11 80 41.634 1.922 V 8 7.494 1.068

12 120 45.470 2.639 V 8 6.744 1.186

13 80 52.923 1.512 12 6.070 1.977 V

14 80 47.631 1.680 V 8 6.663 1.201

total 480 88

(a)

A B

user

slot current rate average rate priority served current rate average rate priority served

1 80 80.000 1.000 8 8.000 1.000 V

2 80 72.000 1.111 12 8.000 1.500 V

3 120 64.800 1.852 V 8 8.400 0.952

4 70.320 12 7.560 1.587 V

5 70.320 8 8.004 1.000 V

6 70.320 8 8.004 1.000 V

7 70.320 12 8.003 1.499 V

8 70.320 8 8.403 0.952 V

9 70.320 8 8.363 0.957 V

10 80 70.320 1.138 12 8.326 1.441 V

11 80 63.288 1.264 V 8 8.694 0.920

12 120 64.959 1.847 V 8 7.824 1.022

13 80 70.463 1.135 12 7.042 1.704 V

14 80 63.417 1.261 V 8 7.538 1.061

total 400 100

(b)

Table 3-4. User A is idle from slot 4 to slot 9. (a) Without update suspending. (b) With update suspending.

(10)

3. 4 Active-User Monitoring

The update suspending policy prevents users from getting too high priority after

he has been idle for a period. But this raises another problem. Assume there are 10

users in a cell, who all initially have data to receive. At some moment, all of them

have become idle except user 1. The average rate of user 1 gradually gets larger as

time passes. After a while, when some of the 9 idle users want to receive data, their

estimated average rate may have been much lower then user 1. User 1 starves.

To prevent this from happening, our approach is to keep always true the

following equation in all events:

number user

active

rate data effective rate

average estimated

_ _

_ _ _

_ = . (3-3)

To achieve this goal, user i records the current active number (let it be k) when

entering the idle state. Meanwhile, other active users multiply their estimated average

rate by k/(k-1) time so as to follow equation (3-3). If user i is active again when m

active users are currently in the cell, user i's average rate is multiplied by k/(m+1) and

other user’s average rate by m/(m+1).

If we apply this policy, then a new user can be similarly treated, as a user being

from idle to busy. Thus, if we have N users in the cell, the initial value in section 3.1

should be (current data rate)/(N+1) rather than (current data rate)/N. A terminated user

(11)

should modify their average rate.

3. 5 Window Size Increasing

Before we consider another situation, let’s define the load of user i, Li, as the

estimated remaining service time of user i:

i user of rate average estimated

i user of length queue

Li

_ _ _ _ _

_ _ _

= _ . (3-4)

See another two-user case in Figure 3- 2(a), where user A has higher load than

user B. The shaded areas represent time periods used to serve user A and the white

areas used to serve user B. In the first shaded area of Figure 3- 2(a), the priority of

user A is slightly higher than user B. If the lower-loaded user, user A, is deferred at

this situation, he may get a chance that its priority is much higher than user B and is

selected for service, as shown in Figure 3- 2(b). Because the channel is utilized more

efficiently this way, the total needed service time can be saved.

This can happen for two reasons. First, when a user is deferred, more users are

in a cell and hence higher multiuser diversity gain is achieved. Second, if the priority

of a user is just a little higher than another, then it is reasonable that it can have even

higher priority later. Besides, a lower-loaded user usually has higher effective data

rate, which results in shorter queue more frequently. Hence, if such users are deferred,

relatively less loss will be caused.

(12)

Figure 3- 2. (a) Calculate priority and select a user to serve. (b) The lower load user is delayed.

To defer a lower-loaded user, our proposed method uses two steps:

1. Calculate the average load of a cell. Let it be Ltotal.

2. Let Li be the load of user i and 0<τ <1. If Li < τ Ltotal and user i is not selected for service, then double the windows size of user i when updating

its average rate.

If the window size of a user is doubled, then the estimated average rate reduces

slower and its priority increases slower. With this method, the priority of a

lower-loaded user will increase less rapidly, causing service deference.

(13)

After a series of steps to modify Q-PFA, if all policies are applied, the modified

Q-PFA has three stages:

Stage 0. Adjust average rate:

If a new user arrives, set the estimated average rate to (current data rate)/(N+1).

If a user becomes idle, becomes active, or leaves the system, he and other

users should change average rate as mentioned in section 3-4..

Stage 1. Scheduling:

This step is the same as the original Q-PFA.

Stage 2. Update average rate:

For user i, if Li <τ Ltotal and it is not selected to be served, then the estimated

average rate is updated by:

) 2 (

1 1 ) 1

( R t

t t

R i

c

i ⎟⎟×

⎜⎜

=

+ (3-5)

else update average rate as original Q-PFA.

數據

Figure 3-1. The bold lines show the rate of case 1; the dashed lines show the rate of  case 2
Table 3-1. The result of case 1. The behavior of Q-PFA is identical to Round Robin.
Table 3-2. The result of case 2. The “right” user can usually be select to serve.
Table 3-3. User B is a new comer at slot 7. (a) Without initial value. (b) With initial  value
+3

參考文獻

相關文件

independent of the parametrization.) Because the unit tangent vector has constant length, only changes in direction contribute to the rate of change of T...

Nicolas Scaringella, Giorgio Zoia, Daniel Mlynek, IEEE SIGNAL PROCESSING MAGAZINE.. IEEE SIGNAL PROCESSING MAGAZINE

• Photon mapping: trace photons from the lights d t th i h t th t b and store them in a photon map, that can be used during rendering.. Direct illumination

• P u is the price of the i-period zero-coupon bond one period from now if the short rate makes an up move. • P d is the price of the i-period zero-coupon bond one period from now

• P u is the price of the i-period zero-coupon bond one period from now if the short rate makes an up move. • P d is the price of the i-period zero-coupon bond one period from now

• P u is the price of the i-period zero-coupon bond one period from now if the short rate makes an up move. • P d is the price of the i-period zero-coupon bond one period from now

(In Section 7.5 we will be able to use Newton's Law of Cooling to find an equation for T as a function of time.) By measuring the slope of the tangent, estimate the rate of change

We compare the results of analytical and numerical studies of lattice 2D quantum gravity, where the internal quantum metric is described by random (dynamical)