The relationship between bit-rate and throughput on individual links dictates which assump-tions algorithms can rely on to simplify bit-rate selection without sacrificing throughput.
Figure 3-8 shows three examples of the throughput that the 802.11b bit-rates achieve over individual links. If all links looked like the steep example in figure 3-8, where each increas-ing bit-rate worked perfectly until all bit-rates ceased to work altogether, then designincreas-ing an algorithm to find the bit-rate with the highest throughput would be simple; you could pick the highest bit-rate that delivered any packets. However, such an algorithm might prove disastrous if used in links that behave like the gradual example in Figure 3-8, where the throughput falls off more slowly. In this case, the algorithm for the steep model would
Network Total Steep Gradual Lossy Other
Indoor 802.11a 100 26 41 22 0
Indoor 802.11g 108 16 86 21 0
Indoor 802.11b 168 98 144 24 0
Outdoor 802.11b 36 5 23 13 0
Figure 3-9: A taxonomy of links. The relationship between bit-rate and throughput is classified for each non-zero unicast link according to the types in Figure 3-8.
choose 11 megabits which delivers only a third of the throughput of 5.5 megabits. Finally, if links behaved like the lossy example, bit-rate selection algorithms would have to be willing to choose bit-rates with high loss rates and could not assume that higher bit-rates have low throughput if low bit-rates suffer from significant loss.
To understand how many of each kind of link exists, the unicast performance of each bit-rate was measured for a number of links. Links were chosen from non-zero pairs in the broadcast experiments discussed earlier in this chapter.
For purposes of classification, a link matched the steep model if the all bit-rates achieved at least 90% of their possible throughput or less than 10% of the maximum throughput. A gradual link is one whose best performing bit-rate is the highest one that has more than 50% delivery rate. A lossy link is defined as a link where the best bit-rate has lower than 50% delivery rate. A link that fit none of the descriptions is classified as other.
Figure 3.5 shows the results of the link classification. Most of the links, regardless of network type, matched the gradual model. Because so many links fit the gradual model, an algorithm that finds the highest bit-rate operating with less than 50% loss will usually find the optimal bit-rate. A higher percentage of links match the lossy model on the outdoor network than on the indoor network; almost 40% of the outdoor 802.11b links classified as lossy. As a result, bit-rate selection algorithms that perform well indoors may not perform as well outdoors if they do not perform well on lossy links.
Chapter 4
Related Work
This chapter discusses previous research related to bit-rate selection algorithms.
4.1 Auto Rate Fallback (ARF) and Adaptive ARF (AARF)
The first documented bit-rate selection algorithm, Auto Rate Fallback (ARF) [9], was devel-oped for WaveLAN-II 802.11 cards. These cards were one of the earliest multi-rate 802.11 cards and could send at 1 and 2 megabits. ARF aims to adapt to changing conditions and take advantage of higher bit-rates when opportunities appear. ARF was also designed to work on future WaveLAN cards with more than 2 bit-rates.
For a particular link, ARF keeps track of the current bit-rate as well as the number of successive transmissions without any retransmissions. Most 802.11 wireless cards offer feedback about packet transmission after the transmission has either been acknowledged or exceeded the number of retries without an acknowledgment.
When the ARF algorithm starts for a new destination, it selects the initial bit-rate to be the highest possible bit-rate. Given the number of retries that a transmission used and whether or not it was successfully acknowledged, ARF adjusts the bit-rate for the destination based on the following criteria:
• Move to the next lowest bit-rate if the packet was never acknowledged.
• Move to the next highest bit-rate if 10 successive transmissions have occurred without any retransmissions.
• Otherwise, continue at the current bit-rate.
The main advantages of ARF are that it is easy to implement and it has very little state.
If unicast packet loss is relatively inexpensive, the ARF algorithm will work particularly well on links similar to the steep example in Figure 3-8. For these links, bit-rates either work well or not at all, there are no lossy bit-rates, and lower bit-rates always have better delivery probabilities than higher bit-rates. ARF works well in these situations because it will increase the bit-rate to the highest one that works because all the bit-rates that can deliver packets do so without loss; ARF will try to step up occasionally, but it will immediately step down when this occurs. The ARF algorithm also performs well in situations where link conditions change on the order of tens of packets. It reacts particularly well to link degradation; within a few packets it can step down to the lowest bit-rate.
ARF performs poorly in situations where links experience loss as shown in the lossy or gradual graphs of Figure 3-8. In these situations, ARF may increase the bit-rate past the highest throughput one to another which requires many retries for each packet. Throughput of this bit-rate may be very low, but ARF does not step down until a bit-rate experiences packet failure. As a result, ARF may spend a significant amount of time transmitting packets at a higher bit-rate that does not work well. Alternatively, ARF may decrease the bit-rate because of packet failures but it may not step up again to a better performing bit-rate if lower bit-rates are lossy.
Adaptive Auto Rate Fallback (AARF) [11] is an extension of ARF where the step-up parameter is doubled every time the algorithm tries to increase the bit-rate and the subsequent packet fails. This can increase throughput dramatically if packet failures take up a large amount of transmission time. This occurs with the higher bit-rates of 802.11g and 802.11a since the back-off penalty is so high. A 1500 byte unicast packet with no retries takes 560 microseconds at 36 megabits and 730 microseconds at 24 megabits. A unicast packet that is sent 5 times at 36 megabits, without being acknowledged, will take an average of 11,510 microseconds. If ARF operates on a link where 24 megabits works but 36 megabits does not at all, it will send packets at 24 megabits except every 10th packet will be sent at 36 megabits. Since every 10th packet will fail to be acknowledged, that one packet will take up more transmission time (11510 microseconds) than the other 9 packets combined (6579 microseconds). AARF will instead wait exponentially longer before increasing the bit-rate if no other packet failures occur, which allows it to avoid the throughput reduction resulting from trying high bit-rates that do not work.