Modified Rate Control For Collision-Aware in Minstrel-HT Rate Adaptation Algorithm
Modified Rate Control For Collision-Aware in Minstrel-HT Rate Adaptation Algorithm
Modified Rate Control For Collision-Aware in Minstrel-HT Rate Adaptation Algorithm
19-20, 2018
Abstract—The rate adaptation algorithm in the IEEE rate and its maximum retry count (r0/c0), second best
802.11 Wireless Local Area Networks (WLANs) is used to throughput rate and its maximum retry count (r1/c1), best
control the rate for frame transmission. In the Linux kernel, probability rate and its maximum retry count (r2/c2) and the
Minstrel-HT is used as the default rate adaptation to control lowest available rate and its maximum retry count (r3/c3).
the rate in the IEEE 802.11n/ac WLANs. But if there are This retry chain table is always refreshed at the beginning of
frames collisions in the channel caused by the hidden terminal every 100ms period according to the statistical data update of
problem, then Minstrel-HT degrade data rate resulting in the new sampling rate process.
throughput also become decreased. The use of RTS/CTS
transmission mode in Minstrel-HT is based on RTS-Threshold, The updated retry chain table is then used to control the
resulting in throughput also decreasing as transmission rate for transmitting 90% of other frames in the normal
overhead increases when there are no collisions in the channel. transmission period. So at the beginning of the normal
Previous works have proposed dynamic RTS/CTS activation transmission period, the frame is always transmitted using r0
method but it is only used for legacy WLANs. In this paper, we to allow high throughput. If frame transmission fails then
propose a modified rate control in Minstrel-HT that takes into retransmission still uses r0 until retry count value equal to
account the development of PHY and MAC in the IEEE c0. If retransmission fails then the next retransmission is
802.11n/ac WLANs and we call it as Minstrel with Collision changed using a lower rate in the retry chain table that is r1.
Detection for High Throughput (Minstrel-CDHT). The
If the frame transmission always fails, then this rate control
modifications we propose are as follows, if the transmission is
procedure is always applied until retransmission uses the
not successful, then the first retransmission is done by enabling
RTS/CTS mode. If the transmission fails again, it is assumed
lowest rate available in the retry chain table, i.e. r3. So in the
that the failure is not caused by the collision and the following original Minstrel algorithm, this rate reduction decision
retransmission is done by disabling RTS/CTS mode. We regardless of whether or not the transmission failure is
implement and evaluate this algorithm using NS-3 network caused by channel error or by collision error.
simulator. The simulation results show, when the collision Some papers have evaluated Minstrel's performance. In
occurs in the channel, our proposed algorithm produces higher [1] Minstrel performance is shown better than the proposed
throughput than the original Minstrel-HT and Minstrel-HT
rate control in [3] and [4]. D. Xia, et al., in [5] and [6] have
with static RTS/CTS.
conducted experimental studies of Minstrel performance
Keywords—Rate Adaptation; Collision-Aware; Minstrel-HT versus fixed rates using a wireless IEEE 802.11g wireless
Algorithm; High Throughput; IEEE 802.11n/ac. access point device. They have found that Minstrel
performance is better in static wireless channels than
dynamic channels. Minstrel performance is also better in
I. INTRODUCTION channels that change from good quality to poor quality than
In the IEEE 802.11 Wireless Local Area Networks from in the channel from poor quality to good quality.
(WLAN) there is a rate adaptation algorithm to determine the Studies in [7] and [8] have also shown better performance of
most suitable data rate for frame transmission. If the highest Minstrel than the proposed rate control algorithms in [9] and
rate is used, then it can generate high throughput, but at the [10].
same time can cause Frame Error Rate (FER) to be high. On
the other hand, for the lowest rate used, then it can produce a Several other papers have also proposed improving the
low throughput but gives an advantage that is low FER. Minstrel algorithm to improve its performance. In [11], they
Therefore the rate adaptation algorithm must succeed in proposed the addition of the Transmit Power Control (TPC)
determining the best data rate to produce optimal throughput function and they called it Minstrel-Piano. The algorithm
and low FER. succeeded in reducing the transmission power on the
transmitter side but with the same performance. In [12], they
Minstrel [1] is the default rate adaptation algorithm used proposed a Minstrel-based multicast rate adaptation for live
in the Linux kernel [2] to control the use of data rate in IEEE multimedia streaming applications. In [13], they proposed an
802.11 WLAN's interfaces. Minstrel uses a sampling method enhancement in order for Minstrel to be applied in the IEEE
to find the rate used for frame transmission. The sampling 802.11n/ac WLAN [14] and they called it as Minstrel-HT. In
rate is done by transmitting a 10% frame using a randomly [15] and [16], they showed the evaluation and proposed an
selected sample rate from all available rates. The sampling improvement of Minstrel-HT performance.
rate process generates statistical data from each sampling
rate, i.e. throughput estimation and the probability of In this paper, we propose a modified rate control in
transmission success. Then the sampling rate is stored into Minstrel-HT to increase throughput, especially when a
the retry chain table and sorted by the pair of best throughput collision occurs in an IEEE 802.11n/ac WLANs. Some
8
Pseudocode 1. Modified rate control for Minstrel-HT algorithm
1: Begin
2: retry++
3: if (sampling == false) then
4: if (retry == 1) then
5: if (!rtsOn) then a) Simulation topology for the first scenario
6: TurnOnRts ();
7: rtsCounter = rtsWnd;
8: txrate = r0;
9: else if (retry == 2) then
10: if (rtsOn) then
11: TurnOffRts ();
12: txrate = r0;
13: else if (retry < c0) then
b) Simulation topology for the second scenario
14: txrate = r0;
15: else if (retry < ( c0 + 1) then
16: txrate = r1; Fig. 1. Simulation topology
17: else if (retry < ( c0 + 2) then
18: if (!rtsOn) then TABLE I. SIMULATION PARAMETERS
19: TurnOnRts ();
20: rtsCounter = rtsWnd; Parameters Description
21: txrate = r1; Number of AP 1
22: else if (retry < ( c0 + 3) then Number of STA 1 (1st scenario), 2 (2nd scenario)
23: if (rtsOn) then
24: TurnOffRts (); STA to AP max. distance 100m (1st scenario), 5m (2nd scenario)
25: txrate = r1; PHY Model YansWifiPhy
26: else if (retry < ( c0 + c1)) then Energy detection threshold -96.0 dBm
27: txrate = r1; CCA mode threshold -99.0 dBm
28: else if (retry < (c0 + c1 + 1) then
29: txrate = r2; Tx Power 16.02 dBm
30: else if (retry < (c0 + c1 + 2)) then Tx/Rx gain 1 dB
31: if (!rtsOn) then Rx noise figure 7 dB
32: TurnOnRts (); Number of Tx/Rx antenna 2/3/4
33: rtsCounter = rtsWnd;
34: txrate = r2; Guard interval 800ns (GI), 400ns (Short-GI)
35: else if (retry < (c0 + c1 + 3)) then Bandwidth 20/40 MHz
36: if (rtsOn) then Frequency 5 GHz
37: TurnOffRts (); LogDistancePropagationLoss (1st scen.)
38: txrate = r2; Channel loss model
RangePropagationLoss (2nd scen.)
39: else if (retry <= (c0 + c1 + c3)) then
Channel delay model ConstantSpeed
40: txrate = r2;
41: else Error model NistErrorRateModel
42: if (retry < 1 + c2) then MAC model HT-MAC
43: txrate = r1; Max. A-MPDU length 65535 bytes
44: else if (retry <= 1 + c1 + c2) then 0 byte (enable RTS/CTS mode)
45: txrate = r2; RTS/CTS threshold
65535 bytes (disable RTS/CTS mode)
46: end
EDCA access category Best effort
IP network/Transport IPv4/UDP
In the first scenario, there is an Access Point (AP) and
Application model OnOffApplication
one station (STA) connected to this AP that is configured
Data rate 600 Mbps
with HT-PHY and MAC IEEE 802.11n. At the beginning of
Packet size 1500 bytes
the simulation time, the STA is at the nearest distance of 1 m
and capable of communicating with the AP at the highest Start time 0.5 s
data rate according to the channel width configuration, guard Simulation time 100.0 s
interval, and the number of spatial streams (SS). If AP and
For the entire simulation, the STA continuously sends a
STA are configured using a channel width of 20 MHz, GI
1500 byte UDP packet to the AP to saturate the channel. The
and 4SS then the highest rate has index 31 (MCS-31, 130
packet is transmitted without and by enabling the A-MPDU
Mbps). Similarly, if configured using channel width of
scheme through the best effort EDCA access category IEEE
40MHz, SGI and 4SS then the highest rate has index 127
802.11e [23]. On the STA side, we enable Callbacks to
(MCS-31, 600 Mbps) [14].
print every change of rate for packet transmission. We
During simulation, the STA moves at a constant speed of calculate the throughput on the AP side and we show the
1 m/s away from the AP causing degradation of channel throughput changes in the graph based on the increase in
quality and triggering channel error. In this first scenario, we STA and AP distance from 1 to 100m. All the simulation
use LogDistancePropagationLoss for channel loss parameters used in the first scenario are shown in Table I.
model and NistErrorRateModel for error model in NS- In the second scenario, we placed the STA on the right
3.26. The simulation stops when the STA is 100 m from the side of AP and is 5 m away. To trigger the hidden terminal
AP and is able to communicate at the lowest rate with index problem, we put another STA at a distance of 5m left of the
0 (MCS-0, 6.5 Mbps). We also simulate Minstrel-HT AP. In this simulation, we changed the channel model to
(without RTS/CTS) and use static RTS/CTS (S-RTS) as a RangePropagationLossModel and the error model still
benchmark to assess the algorithm we propose.
uses NistErrorRateModel. Both STAs continuously
9
Fig. 2. Rate adaptation with PHY/MAC configuration: channel width Fig. 3. Rate adaptation with PHY/MAC configuration: channel width 20
20 MHz, GI, 4 spatial streams and A-MPDU scheme is disabled. MHz, GI, 4 spatial streams, and A-MPDU scheme is enabled.
Fig. 4. Throughput with PHY/MAC configuration: channel width 20 Fig. 5. Throughput with PHY/MAC configuration: channel width 20 Hz,
MHz, GI, 4 spatial streams and A-MPDU scheme is disabled GI, 4 spatial streams and A-MPDU scheme is enabled
transmit UDP packets 1500 bytes to AP to trigger collisions the beginning of the simulation, when the STA starts to
in the channel. We also enable Callback to print any move, Minstrel-CDHT performs a sampling rate and
change in STA rate, so Minstrel-CDHT response to error successfully finds the highest rate (MCS-31) for frame
collision can be observed. We calculate the throughput on transmission. The highest rate continues to be used as long as
the AP side and we show the throughput generated in the there is no transmission failure. As the channel continues to
graph based on the number of spatial streams used. We also deteriorate and the number of retransmitting reaches its
simulate Minstrel-HT and Minstrel-HT/S-RTS as a maximum, a lower rate starts to be used. Each 100ms period
benchmark to assess the performance of each algorithm is a new sampling rate to obtain the rate that best fits the
against collisions in the IEEE 802.11n WLANs. All second channel conditions. The random rate chosen by Minstrel-
scenario simulation parameters are also shown in Table I. CDHT is the same as Minstrel-HT and Minstrel-HT/S-RTS.
This is because the modified rate control we propose is only
IV. RESULT AND DISCUSSION for collision errors, and not for channel errors.
In this section, we show the performance resulted by a Fig. 3 shows the response rate control of the three
modified rate control in the Minstrel-CDHT algorithm. Our algorithms to the channel quality change and the frame is
analysis is done by comparing it with original Minstrel-HT transmitted using the A-MPDU scheme. The three
and Minstrel-HT/S-RTS. The three algorithms we simulated algorithms at the beginning of the simulation also show the
in the two scenarios as described in section III. same response, which was able to find the highest MCS at
the beginning of the frame transmission. But different
A. Minstrel-CDHT Performance in Dynamic Channel responses are shown when A-MPDU sub-frames begin to
Condition experience transmission failures due to deteriorating channel
We first analyse the performance of each algorithm's rate quality. The simulation results show that Minstrel-CDHT
control on channel quality changes, as shown in Fig. 2. uses the same MCS as the original Minstrel-HT, in contrast
When STA moves 1m / s away from AP, which means to the Minstrel-HT / S-RTS seen more frequently changing
channel quality is changing from good to bad, the simulation MCS randomly for retransmission of the A-MPDU sub-
results show all three algorithms have the same response. At frame.
10
Fig. 4 shows the effect of distance change on the
throughput of each algorithm in the IEEE 802.11n WLAN.
AP and STA are configured using 20 MHz channel width,
the short guard interval is disabled, four spatial streams and
A-MPDU scheme are disabled. Minstrel-CDHT produces an
average throughput equal to Minstrel-HT. This means our
proposed algorithm produces the same performance as the
original algorithm even though we have modified the rate
control section. While Minstrel-HT/S-RTS produces the
lowest throughput when the channel conditions are good.
This is due to the additional overhead of the frame always
transmitted using RTS/CTS even though there is no collision
in the channel. Minstrel-CDHT has the highest average
throughput of 44 Mbps equal to Minstrel-HT, while
Minstrel-HT/S-RTS's highest throughput is only 33 Mbps.
In Fig. 5, AP and STA are configured using 20 MHz
channel width, the short guard interval is disabled, four
spatial streams and A-MPDU scheme are enabled. Minstrel-
CDHT produces an average throughput equal to Minstrel-
HT. This again confirms our proposed algorithm yields the
same performance as the original algorithm in the
transmission scheme using A-MPDU even though we have
modified the rate control section. While Minstrel-HT/S-RTS
produces the lowest throughput when the channel conditions
are good. This is due to the additional overhead of the frame
always transmitted using RTS/CTS even though there is no Fig. 6. Rate adaptation in collision channel with PHY/MAC
collision in the channel. Minstrel-CDHT has the highest configuration: channel width 20 MHz, GI, 4 spatial streams and A-
average throughput of 230 Mbps, the same as Minstrel-HT's MPDU scheme is disabled.
highest throughput, while Minstrel-HT/S-RTS's highest
throughput is only 220 Mbps. This proves that our proposed
algorithm succeeded in not enabling the RTS/CTS
transmission mode when the transmission failure was not
caused by the collision, resulting in more efficient
transmission overhead.
11
error. If the collision continues and the maximum count is [11] T. Huehn and C. Sengul, "Practical Power and Rate Control for
reached, then the original rate control in Minstrel-HT, WiFi," 2012 21st International Conference on Computer
Communications and Networks (ICCCN), Munich, 2012, pp. 1-7.
retransmission is changed using a lower rate causing the
[12] E. Coronado, R. Riggio, J. Villalón and A. Garrido, "SDN@Play: A
throughput to decrease. In our proposed algorithm, if the multicast rate adaptation mechanism for IEEE 802.11 WLANs," 2017
transmission fails, the first retransmission is done by 14th IEEE Annual Consumer Communications & Networking
enabling RTS/CTS mode. If the frame transmission fails Conference (CCNC), Las Vegas, NV, 2017, pp. 700-703.
again, it is assumed that failure is not caused by the collision [13] F. Fietkau. MinstrelHT: New Rate Control Module for 802.11n,
and the following retransmission is done by disabling http://lwn.net/Articles/376765/, March 2010.
RTS/CTS mode. Our proposed algorithm is called Minstrel [14] R. Karmakar, S. Chattopadhyay and S. Chakraborty, "Impact of IEEE
with Collision Detection for High Throughput (Minstrel- 802.11n/ac PHY/MAC High Throughput Enhancements on Transport
and Application Protocols—A Survey," in IEEE Communications
CDHT). We have implemented and evaluated the proposed Surveys & Tutorials, vol. 19, no. 4, pp. 2050-2091, Fourth quarter
algorithm using the NS-3 network simulator. The simulation 2017.
results show, when the collision occurs in the channel, our [15] T. Y. Arif, R. Munadi and Fardian, “Evaluation of the Minstrel-HT
proposed algorithm produces higher throughput than the Rate Adaptation Algorithm in IEEE 802.11n WLANs,” International
original Minstrel-HT and Minstrel-HT with static RTS/CTS. Journal of Simulation Systems, Science & Technology, vol. 18, no. 1,
pp. 11.1-11.7, March 2017.
[16] Y. Daldoul, D. E. Meddour, and A. Ksentini, “IEEE 802.11n/ac Data
REFERENCES Rates under Power Constraints”, International Conference on
[1] Rate Adaptation for 802.11 Wireless Networks: Minstrel, Communications, Kansas City, USA, 20-24 May 2018.
http://blog.cerowrt.org/papers/minstrel-sigcomm-final.pdf. [17] Seongho Byeon, Hyewon Lee, Joo Il Kim, Woon Sun Cho and S.
[2] F. Fietkau and D. Smithies, “Linux Wireless Minstrel High Choi, "Designing adaptive RTS for MadWifi-based WLAN
Throughput”, https://wireless.wiki.kernel.org/en/developers/documen device," 2012 Fourth International Conference on Ubiquitous and
tation/mac80211/ratecontrol/minstrel. Future Networks (ICUFN), Phuket, 2012, pp. 15-16.
[3] S. Wong, H. Yang, S. Lu and V. Bharghavan, "Robust Rate [18] S. F. Arief, T. Y. Arif, R. Munadi, “Collision-Aware Rate Adaptation
Adaptation for 802.11 Wireless Networks," in Proceedings of ACM Algorithm for High-Throughput IEEE 802.11n WLANs,” The 6th
MOBICOM, 2006. International Conference on Information and Communication
[4] Onoe Rate Control, http://madwifi.org/browser/trunk/ath rate/onoe. Technology (ICoICT 2018), Bandung, Indonesia, May 3-4, 2018, in
press.
[5] D. Xia, J. Hart and Q. Fu, "On the performance of rate control
algorithm Minstrel," 2012 IEEE 23rd International Symposium on [19] S. Kim, L. Verma, S. Choi and D. Qiao, "Collision-aware rate
Personal, Indoor and Mobile Radio Communications - (PIMRC), adaptation in multi-rate WLANs: Design and
Sydney, NSW, 2012, pp. 406-412. implementation", Computer Network, vol. 54, no. 17, pp. 3011-3030,
June. 2010.
[6] D. Xia, J. Hart and Q. Fu, "Evaluation of the Minstrel rate adaptation
algorithm in IEEE 802.11g WLANs," 2013 IEEE International [20] S. Byeon, K. Yoon, C. Yang and S. Choi, "STRALE: Mobility-aware
Conference on Communications (ICC), Budapest, 2013, pp. 2223- PHY rate and frame aggregation length adaptation in WLANs," IEEE
2228. INFOCOM 2017 - IEEE Conference on Computer Communications,
Atlanta, GA, 2017, pp. 1-9.
[7] R. Copeland, “A Study of 802.11 Bitrate Selection in Linux.” (2012),
https://www.semanticscholar.org/paper/A-Study-of-802-.-11-Bitrate- [21] T. Y. Arif and R. F. Sari, "DCF and EDCA throughput improvement
Selection-in-Linux-Copeland. using Selective Anomalous Slot Avoidance (SASA)," 2013 19th
IEEE International Conference on Networks (ICON), Singapore,
[8] W. Yin, P. Hu, J. Indulska, “Rate control in the mac80211 2013, pp. 1-7.
framework: Overview, evaluation and improvements,” Computer
Networks, vol. 81, pp. 289-307, March 2015. [22] Minstrel-HT in NS-3 network simulator documentation, https://
www.nsnam.org/doxygen/minstrel-ht-wifi-manager_8cc_source.html.
[9] M. Lacage, M.H. Manshaei, and T. Turletti, “IEEE 802.11 rate
adaptation: a practical approach,” Proceedings of the 7th ACM [23] T.Y. Arif, R.F. Sari, "Performance Comparison of Video Traffic Over
international symposium on Modeling, analysis and simulation of WLAN IEEE 802.11e and IEEE 802.11n", The Fourth International
wireless and mobile systems, pages 126–134, 2004. Conference on Mobile Ubiquitous Computing, Systems, Services and
Technologies (UBICOMM), Florance, Italy, 2010, pp. 317-323.
[10] LinuxWireless Project, PID Specification, http://linuxwireless.sipso
lutions.net/en/developers/Documentation/mac80211/RateControl/PID .
12