[mab-wifi] Possible contribution

Matias Richart mrichart at fing.edu.uy
Tue Apr 11 13:37:06 EDT 2017

Hi to all! I occasionally follow the wifi-fast list and I have just
found this initiative.
I've been working with ns3 rate control for several years and I would
also like to contribute if there is an ns3 approach.

Pasquale, I took the liberty to answer Toke's questions. Please, add
anything I miss.

> Yeah, this sounds great! Looking at the WiFiRemoteStationManager code,
> there's an "IsLowLatency" property which indicates that the model can
> make decisions for every packet. If this is *not* set, how does a
> model
> then make decisions? 

ns3 proposes 2 ways of handling rate control "low-latency" and
"high-latency". In the high-latency mode, a new rate is selected only
for new frames, retransmissions are sent with the same rate of the
first transmission. In low-latency, a new rate is selected for every
transmission and retransmission.

However, it is not currently used. Instead, "high-latency" algorithms
such as Minstrel and Minstrel HT implement it's own version of
retry chains.

> And is there a concept "retry chains" for the
> rate
> selection algorithm (where a sequence of rates to try are picked at
> once
> when a decision is made)?

It exists an implementation of Minstrel and Minstrel HT, which uses
the concept of retry chains, but this is implemented in the same
algorithm, not as part of the MAC layer.

In summary, we can simulate the retry chain behavior. Currently, there
are functional implementations of Minstrel and Minstrel HT which I
think work well.

> > Since we are in an exploration phase, how we can contribute to the
> > exploration?

>I think the two main things we are trying to figure out are the
>correlations between different rates. Which involves answering
>questions like:
>1. What correlations exist between the success probabilities of sending
>   at different rates. I.e., can we always assume that if a
> transmission
>   fails at a low rate (more robust encoding), it would also have
>   failed at a higher rate (or conversely, if it succeeds at a high
>   rate, it would also have succeeded at the lower rate). Does this
> hold
>   within the same MIMO configuration? What about between different
>   configurations?

In my opinion, this is quite easy to implement. I'm thinking on an
experiment with an static deployment and testing all possible rates.

>2. How does rate influence collision probability in the presence of
>   several nodes? I.e., if we send the same transmission size at a
> lower
>   rate, it is going to take longer to send; does this affect the
>   probability of collision with other nodes? If it does, how
> pronounced
>   is this effect?
>3. How does transmission (aggregation) size affect the success
>   probability of transmitting at a certain rate?

I think, we can also simulate those two cases with little effort.

>Another thing that could be useful is producing some test data sets (of
>"ground truth") that we can use for evaluating algorithms on. For
>instance, given a static scenario of N clients connected to an access
>point, produce a data set which contains the steady state success
>probabilities for each rate (for each node). And another data set which
>introduces mobility (at a credible rate) and makes the rates a function
>of time.

>Does any of the above sound doable? :)

I think everything you propose is doable.
We should always keep in mind that we are doing simulations. In
particular using a model of the medium, which I think is the part that
can vary more from real experiments. 
The 802.11 implementation instead, is very complete and accurate,
which is an important advantage.

Pasquale, I propose to design some experiments and divide them between
us. What do you think? 

Perhaps we can also invite Sebastien Deronne which has lots of
experience in 802.11 in ns3.


More information about the mab-wifi mailing list