丛林大乱斗
minstrel速率调整算法blamed
candysoft
Contents
1.Overview
2.Why did we write it ?
3.What is the basis for the algorithm?
4.四级报名官网History of minstrel
5.Theory of operation
6.Retry Chain
7.EWMA
8.DebugFs contents
地区英文This page describes the minstrel rate control algorithm for mac80211.
Overview
minstrel is a mac80211 rate control algorithm ported over from MadWifi which supports multiple rate retries and claimed to be one of the best, if not the best, rate control algorithm.
Why did we write it ?
raytheonI had two identical nodes in my office, both running some rate algorithm. The rate algorithm was picking 6 MBits/c as the optimal rate. Yet, if I took tho nodes and ud a fixed rate tting, adjusted the fixed rate until the ideal combination was found, a much better throughput (12 MBits/c) could be achieved. Clearly, there was room for improvement.
A cond test was to take tho two nodes, with some rate algorithm, and look at the throughput. One node was moved behind a pillar. The measured throughput dropped. Then the nodes were moved so that the beam path was not blocked. But, the measured t
hroughput did not increa. This test said that the rate algorithm is not responding to changes in the environment. Surely, something better can be done??
Inspection of the code in different rate algorithms left us bewildered. Why did all the code bas we looked at contain the assumption that packets nt at slow data rates are more likely to succeed than packets nt at higher datarates? The physics behind this assumption baffled us. A slow data rate packet has the highest possibility of being "shot down" by some other node nding a packet.
Thus, the decision was made to write an automatic rate algorithm that
∙relied solely on measured performance with the minimum of assumptions
∙responded to changes in the environment - so it must auto update correctly
∙compare the performance of our algorithm at all times with that obtained by adjusting the fixed rate tting
What is the basis for the algorithm?
Some rate algorithms for 802.11 have measured RSSI, and ud this figure as a basis for choosing the rate to u. However, it is not clear which rate should be ud for a given RSSI figure. Any conversion table is going to give misleading results, as it cannot take into account the influence of multipath. The radio does provide feedback after each packet is transmitted - this reports what rate worked and what rates failed. We have, with this feedback, good evidence for deciding what rate to u.
Packets nt between two radio devices have some chance of being successfully nt. The probability of success is an unknown function of the variables (distance between devices, multipath effects, interference from other devices). The radio can be ud in any environment, where the relationship between the variables is unknown. Further, we do not know which variable will predominate. We do not even know what the interference will look like. If the interference is bursty, then quicker packets (higher rates) have a better chance of getting through in the gaps. Given the unknown nature of the environment, we decided that performance at a particular rate has to be considered as being independant of performance at a different rate.
peo
Currently, there Since the relationship between the variables is not known - we decided to take a heuristic approach, where the approach is "pertaining to, or bad on experimentation, evaluation, or trial-and-error methods".
ospirit
The implementation of minstrel provides a rate table for each of the remote nodes being communicated with. This rate table is found in the debugfs directory, and shows some interesting things. Sometimes, the 11mbit rate is more likely to succeed, or has a higher throughput, than the the 2mbit rate.
History of minstrel
The minstrel rate control algorithm prent on mac80211 was ported from MadWifi by Felix Fietkau. MadWifi's minstrel implementation was relead on January 2005, originally designed and implemented by Derek Smithies Ph.D. nsationsRead minstrel's madwifi documentation.
From wikipedia, definitioncaring, a minstrel was a medieval European bard who performed son
gs who lyrics told stories about distant places or about real or imaginary historical events. Minstrels would travel throughout Europe eking employment at feasts or festivals. Others worked in royal courts. Esntially then, a minstrel would endeavour to entertain people with music or poems. If there was no money - the minstrel would move elwhere. And so it is with this rate algorithm. All rates are tried. If a rate works well, it is ud. If a rate works badly, it is ignored. All rates are tried on a regular basis.