Download presentation
Presentation is loading. Please wait.
2
1 A Generic Quantitative Approach to the Scheduling of Synchronous Packets in a Shared Medium Wireless Access network Reuven Cohen & Liran Katzir Dept. of Computer Science Technion Haifa, ISAREL
3
2 The considered network model We consider a shared medium wireless channel with a centralized node (base-station) that monopolizes the downstream channel and administers the access to the shared upstream channel. Applicability – 802.16 wireless MAN – 802.11 (WiFi) – Packet switched cellular networks – other emerging standard for short range communications, like 802.15.3
4
3 Outline Introduction to the problem of scheduling in a shared medium network Introduction to the problem of scheduling in a shared medium network Scheduling in a wireless channel The proposed quantitative-based approach How to handle re-transmissions Simulations Conclusions
5
4 MAC mechanisms for controlling the access to the upstream channel The base-station can employ several scheduling services for controlling the access to the upstream channel: – ALOHA-like contention-based access mainly for best-effort applications. – Unsolicited Grant Service – Real-time poling Synchronous application = an application that generates traffic periodically, and requires some upper bound on the end-to-end delay. for synchronous applications Packetized voice Streaming (one way) video periodicitypacket sizeaccess delay fixed intervals (e.g. 20 ms.) constant packet size (e.g. 100 bytes) very strict (e.g. 10 ms.) fixed intervals (e.g. 40 ms.) bounded, but not strict variable packet size
6
5 The Unsolicited Grant Service (UGS) Each station generates a sequence of VoIP packets every fixed time interval The base station knows the release time of the new packet and the delay between every two consecutive packets. The base station also knows the tolerated jitter. It can therefore determines the deadline for each packet. release(P1)release(P2)release(P3) packetization time e.g. 20 ms. deadline(P3) release(P4)release(P5) scheduler tolerated jitter
7
6 UGS with Activity Detection When silence suppression is used, the codec does not create a packet during an interval of silence. – This may save about 60% of the bandwidth. However, the base-station must be informed when a new talk- spurt starts. – This can be done using the best-effort service. release(P1)release(P2)release(P3) packetization time e.g. 20 ms. release(P4) silence interval Packets are not generated Grants are not issued The base station should be informed that a new talk-spurt starts here
8
7 Real-time poling The base-station asks the host periodically how much bandwidth is needed for the current pending packet. This scheduling service is most appropriated to streaming video because: – the allocated bandwidth is determined according to the actual size of the variable-length packet. – the additional delay due to the 4-way handshake is not an issue for such an application
9
8 UGS vs. real-time polling CM CMTS allocation of 20 mini-slots CM CMTS how much bandwidth do you need? allocation of 20 mini-slots data packet I need 20 mini-slots allocation of 20 mini-slots data packet I need 10 mini-slots allocation of 10 mini-slots data packet how much bandwidth do you need?
10
9 Using one of the scheduling services described before, the base station acquires the following information: – the time when every packet is ready for transmission – the size of every packet – the due time of each packet this information is determined based on the tolerated scheduling jitter parameter, which is negotiated when every synchronous connection is established between a host and the base-station. Using this information, the base-station needs to determine when to allocate bandwidth to each packet, such that the overall channel profit is maximized. The base-station scheduling logic
11
10 Scheduling example Suppose that each of the packet requires 2 slots for transmission 1234 call-1 (voice) call-2 (voice) call-3 (video) call-4 (voice) call-5 (video) ….. … …..
12
11 Scheduling algorithms: some results If all the packets are of 1-slot, and the jitter is fixed, EDF is an optimal solution. – EDF (Earliest Deadline First): the packet with the earliest deadline is scheduled first. – “optimal” = no other algorithm may schedule more packets on time. When all the packets are of K-slots (for a fixed value of K): – EDF with or without preemption is NOT optimal but in practice it yields excellent results – the problem can be solved using dynamic programming in O(n 7 ), if preemption is allowed or in O(n 10 ) when preemption is not allowed. A new result: Finding a schedule that minimizes the number of “correlated losses” is NP-complete – specifically, minimizing the number of time we loss M packets from any window of consecutive K>M packets is NP-complete even if all the packets are of 1-slot.
13
12 How likely is it to get scheduling conflicts due to high load of synchronous traffic? Not at all… We can see that if the tolerated jitter is large enough, we get no loss even if the load is very close to 100% !!!
14
13 Outline Introduction to the problem of scheduling in a shared medium network Scheduling in a wireless channel Scheduling in a wireless channel The proposed quantitative-based approach How to handle re-transmissions Simulations Conclusions
15
14 Scheduling in a shared wireless channel The main task of the scheduler at the base-station: maximizing the number of packets transmitted on time and not lost due to transmission errors. Scheduling considerations: 1. In order to avoid consecutive losses, the scheduler should defer the transmission of a packet over a lossy channel as much as possible. 2. If packet re-transmission is possible in the MAC layer, the scheduler should schedule every packet as early as possible in order to allow a possible re-transmission. 3. Not all packets are equal. A packet of a session that has experienced a recent loss is probably more important than a packet of a call that has not experienced a recent loss.
16
15 How can a good scheduler contribute to the performance of the network? A B load of synch. channel condition length of tolerated jitter high don’t care short (< 5ms.) don’t care not all the packets can be transmitted on time Scenario B’ C don’t care high error rate high error rate shorter than an error burst channel problem scheduler task select the most important packets longer than an error burst many packets can be lost due to errors select the best time for transmitting each packet the same as B above, but re-transmission in Layer-2 is supported by the MAC/DLC select the best time for transmitting each packet many packets can be lost due to errors determine which packets should not be transmitted at all The proposed scheme is said to be “generic” because it is supposed to give a solution for each of these scenarios.
17
16 What is the difference between Scenario B and B’? Suppose that the channel is known to be in error when a packet P is released, and the packet has a relatively long tolerated jitter. – in case B, the packet should be transmitted as close to its due time as possible, in order to increase the probability for success. – in case B’, it would be better to transmit the packet earlier than the due time, in order to enable a possible re-transmission. Release(P ) tolerated jitter B don’t care B’ high error rate longer than an error burst many packets can be lost due to errors select the best time for transmitting each packet the same as B above, but re-transmission in Layer-2 is supported by the MAC/DLC select the best time for transmitting each packet Deadline(P )
18
17 …And what is the difference between Scenario B and C? B load of synch. channel condition length of tolerated jitter don’t care Scenario C don’t care high error rate high error rate shorter shorter than an error burst channel problem scheduler task longer longer than an error burst many packets can be lost due to errors select the best time for transmitting each packet many packets can be lost due to errors determine which packets should not be transmitted at all In B we can wait until the channel is likely to be clean In C we cannot wait, so we better decide not to transmit the packet at all. expected length of an error burst release(P ) the channel is known to be bad Deadline(P)
19
18 Outline Introduction to the problem of scheduling in a shared medium network Scheduling in a wireless channel The proposed quantitative-based approach The proposed quantitative-based approach How to handle re-transmissions Simulations Conclusions
20
19 The quantitative-based approach Main idea: the scheduler maintains a profit matrix M for each scheduling interval. Each pending packet is represented by a row. Each column represents one time slot. M[i,j] indicates the profit from transmitting packet- i starting from slot number j 1234 12 666 0 66 0044 packet-1 packet-2 packet-3 packet-4 56 60 00 12 44 2222 packet-5 00
21
20 The quantitative-based approach (cont.) The scheduler searches for a schedule that maximizes the overall benefit. e.g. assuming that each packet needs two slots for transmission, the following schedule has the maximum benefit (of 36): The problem of finding an optimal schedule once the matrix is given is NP-complete. – in the paper we present efficient approximation algorithms for this problem 1234 12 666 0 66 0044 packet-1 packet-2 packet-3 packet-4 56 60 00 12 44 2222 packet-5 00
22
21 The biggest question: how should the matrix be filled ??? Example (1): – Let’s the value of every packet P be proportional to the packet length L(P). – Suppose that we know the probability e(P,s) for an error in packet P when it is transmitted in slot s – Therefore: the profit for transmitting packet P in slot s is L(P)(1-e(P,s)). Example (2); – Suppose now that every packet P contains also a low-bit encoding of the previous packet P-1. i.e. *L(P) bits are for frame P-1 and (1- )L(P) bits are for P the profit is (1- ) *L(P)*(1-e(P,s)) if P-1 was received on time, and L(P)*(1-e(P,s)) if P-1 was not received on time.
23
22 How to compute the value of e(P,s)? We model the loss process using a 2-state Gilbert model: Let S(n) be the state during slot n (S(n) = 0 or S(n) = 1). – Prob[S(n+1)=0 | S(n)=0] = p and – Prob[S(n+1)=1 | S(n)=1] = q 0good1bad 1-q 1-p pq
24
23 How to compute the value of e(P,s)? (cont.) Prob[S(n+1)=1]=Prob[S(n)=1]*q+Prob[S(n)=0](1-p) Using this equation recursively, we determine – Prob[S(n)=1 | S(0)=1] = (p+q-1)^n +(1-p) * ((p+q-1)^n-1)/ (p+q-2) – Prob[S(n)=1 | S(0)=0] =(1-p) * ((p+q-1)^n-1) / (p+q-2) Therefore: we know the probability of the channel to be in a good/bad condition given the outcome of the last transmission by the same node. 0good1bad 1-q 1-p pq
25
24 Assuming no knowledge of p and q The previous equations require the scheduler to know the value of p and q for every channel. Due to the mobility of users, computing these parameters might be difficult. It is clear that for practical values of p and q: – the value of Prob[S(n)=0 | S(0)=1] is maximum when n is maximum – the value of Prob[S(n)=0 | S(0)=0] is maximum when n is minimum – (practical values of p + q > 1) 0G1B 1-q 1-p pq
26
25 Assuming no knowledge of p and q (cont.) A good approximation: a) if last transmission of ANY packet in the channel was good, use a decreasing linear function whose maximum is Release(P) b) if last transmission of ANY packet in the channel was bad, use an increasing linear function whose maximum is Deadline(P). This approach does not work for Scenario C – For this scenario, we need to have good estimates for p and q in order to compute Prob[S(n)=0 | S(0)=1] and Prob[S(n)=0 | S(0)=0]. 1 Prob. time Release(P) Deadline(P) 1 Prob. time Release(P)Deadline(P)
27
26 Outline Introduction to the problem of scheduling in a shared medium network Scheduling in a wireless channel The proposed quantitative-based approach How to handle re-transmissions How to handle re-transmissions Simulations Conclusions
28
27 How to handle re-transmissions (scenario B’) Consider the case where 1 re-transmission is possible. good? when should the first transmission take place if the channel is known to be good? – obviously as soon as the packet is released – When should the packet be re-transmitted in case of a bad transmission? obviously as late as possible Release(P ) tolerated jitter Deadline(P )
29
28 How to handle re-transmissions (cont.) bad? When should the first transmission take place if the channel is known to be bad? – on one hand, we want to postpone the transmission as much as possible – but on the other hand we want to leave enough time for a possible re-transmission. – When should the packet be re-transmitted in case of a bad transmission? obviously as late as possible Release(P ) tolerated jitter Deadline(P )
30
29 How to handle re-transmissions (cont.) Let i and j be the time when the first transmission and the second transmission should take place, respectively. – Hence, Release(P) i < j Deadline(P). good: Let F g (i,j) be the probability for success (either in the first or in the second transmissions), provided that at slot 0 the channel is good: F g (i,j)=Prob[S(i)=0|S(0)=0]+Prob[S(i)=1 | S(0)=0]* Prob[S(j)=0 |S(i)=1] – as expected, F g (i,j) is maximum for i=Release(P) and j=Deadline(P) bad: Let F b (i,j) be the probability for success (either in the first or in the second transmissions), provided that at slot 0 the channel is bad: F b (i,j)=Prob[S(i)=0|S(0)=1]+Prob[S(i)=1 | S(0)=1]* Prob[S(j)=0 |S(i)=1] first transmission is goodfirst transmission is bad, but second is good
31
30 How to handle re-transmissions (cont.) F b (i,j) is maximized when j=Deadline(P) and i=max(N/2, Release(P)) where N is the number of slots between the previous faulty transmission of any packet (sent by the same station) and Deadline(P) Example: Release(P ) tolerated jitter Deadline(P ) previous faulty transmission N=36 slots 18 slots i (first transmission)j (re-transmission, if needed)
32
31 Extending this result to multiple re- transmissions By induction on the number X of possible transmissions we show that – if the last transmission in the channel was good, then P should be scheduled as close as possible to Release(P), regardless of X. – if the last transmission (at time t) was bad, then if only one more transmission is allowed, this transmission should occur as close as possible to Deadline(P). if X>1 additional transmissions are allowed, then the next transmission should take place at: i=max{Release(P),t+((Deadline(P)-t)/X}
33
32 Extending this result to multiple re- transmissions: example Previous faulty transmission at 1, Deadline(P)=36 Suppose that 4 transmissions are possible 36/4=9, but since the packet is only available at 13, first transmission is recommended to take place at 13. Suppose that due to other constraints the first transmission occurs at slot 15, and it fails. Second transmission should take place at 15+(36-15)/3=22. Release(P ) tolerated jitter Deadline(P ) previous faulty transmission 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 20 1 2 3 4 5 6 7 8 9 30 1 2 3 4 5 6 7 8 9 40 1 2 3 4 5 6
34
33 We generalize the concept with a linear function as follows: a) a) if last transmission of ANY packet in the channel was good, use a decreasing linear function whose maximum is when the packet is available, i.e. MAX(Release(P), current-time) b) b) if last transmission of ANY packet in the channel was bad, use an increasing linear function between the current time and the optimal time, and then a decreasing linear function until Deadline(P). – – the optimal time is determined based on the number of re- transmissions left for this packet. How to handle multiple re-transmissions without knowing the value of p and q 1 Prob. time current time Deadline(P) 1Prob.time Deadline(P)
35
34 Outline Introduction to the problem of scheduling in a shared medium network Scheduling in a wireless channel The proposed quantitative-based approach How to handle re-transmissions Simulations Conclusions Conclusions
36
35 Simulations – Percent bandwidth gained by our algorithm compared to the strawman alg.
37
36 Simulations – Percent bandwidth gained by our algorithm compared to the strawman alg. The longer average error burst does not allow our algorithm to schedule the transmission of a packet in an erroneous channel far enough from the previous erroneous transmission.
38
37 Outline Introduction to the problem of scheduling in a shared medium network Scheduling in a wireless channel The proposed quantitative-based approach How to handle re-transmissions Simulations Conclusions Conclusions
39
38 Conclusions We presented a generic quantitative-based approach for the scheduling of synchronous packets in a wireless access network – it is generic because it is applicable for different scenarios: e.g. when tolerated jitter is large (video) or small (voice) when the channel is congested or not when the error rate is high or low etc… – it is quantitative-based because it assigns a profit to the transmission of every packet at every slot, and maximizes the total profit. Most important part of the scheme – how to fill up the profit matrix – this is easy when we know the error distribution of each channel – more difficult when such information is not available – more difficult if the same packet is allowed to be transmitted several times.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.