From: dpreed@reed.com
To: "David Lang" <david@lang.hm>
Cc: Jonathan Morton <chromatix99@gmail.com>,
cerowrt-devel@lists.bufferbloat.net,
make-wifi-fast@lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] [Make-wifi-fast] [tsvwg] Comments on draft-szigeti-tsvwg-ieee-802-11e
Date: Fri, 7 Aug 2015 17:46:38 -0400 (EDT) [thread overview]
Message-ID: <1438983998.16576420@apps.rackspace.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1508071245480.2597@nftneq.ynat.uz>
[-- Attachment #1: Type: text/plain, Size: 2995 bytes --]
On Friday, August 7, 2015 4:03pm, "David Lang" <david@lang.hm> said:
>
> Wifi is the only place I know of where the transmit bit rate is going to vary
> depending on the next hop address.
This is an interesting core issue. The question is whether additional queueing helps or hurts this, and whether the MAC protocol of WiFi deals well or poorly with this issue. It is clear that this is a peculiarly WiFi'ish issue.
It's not clear that the best transmit rate remains stable for very long, or even how to predict the "best rate" for the next station since the next station is one you may not have transmitted to for a long time, so your "best rate" information is old. Queueing makes information about the channel older, by binding it too early. Sending longer frames means retransmitting longer frames when they don't get through, rather than agilely picking a better rate after a few bits.
The MAC protocol really should give the receiver some opportunity to control the rate of the next packet it gets (which it can do because it can measure the channel from the transmitter to itself, by listening to prior transmissions). Or at least to signal channel changes that might require a new signalling rate.
This suggests that a transmitter might want to "warn" a receiver that some packets will be coming its way, so the receiver can preemptively change the desired rate. Thus, perhaps an RTS-CTS like mechanism can be embedded in the MAC protocol, which requires that the device "look ahead" at the packets it might be sending.
On the other hand, that only works if the transmitter deliberately congests itself so that it has a queue built up to look at.
The tradeoffs are not obvious here at all. On the other hand, one could do something much simpler - just have the transmitter slow down to the worst-case rate required by any receiving system.
As the number of stations in range gets larger, though, it seems unlikely that "batching" multiple packets to the same destination is a good idea at all - because to achieve that, one must have n_destinations * batch_size chunks of data queued in the system as a whole, and that gets quite large. I suspect it would be better to find a lower level way to just keep the packets going out as fast as they arrive, so no clog occurs, and to slow down the stuff at the source as quickly as possible.
[one should also dive into the reason for maintaining variable rates - multipath to a particular destination may require longer symbols for decoding without ISI. And when multipath is involved, you may have to retransmit at a slower rate. There's usually not much "noise" at the receiver compared to the multipath environment. (one of the reasons why mesh can be a lot better is that shorter distances have much less multipath effect, so you can get higher symbol rates by going multi-hop, and of course higher symbol rates compensate for more airtime occupied by a packet due to repeating).]
[-- Attachment #2: Type: text/html, Size: 5343 bytes --]
next prev parent reply other threads:[~2015-08-07 21:46 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E9C29602-7F1D-43AD-980C-050B58FA0AC6@iii.ca>
2015-07-23 6:48 ` [Cerowrt-devel] Fwd: " Dave Taht
2015-07-23 7:44 ` Jonathan Morton
2015-07-23 7:49 ` Alan Jenkins
2015-07-24 10:38 ` [Cerowrt-devel] [Make-wifi-fast] " Sebastian Moeller
2015-07-30 20:29 ` [Cerowrt-devel] " Jonathan Morton
2015-07-30 21:35 ` [Cerowrt-devel] [Make-wifi-fast] " Sebastian Moeller
2015-07-30 21:56 ` Jonathan Morton
2015-07-31 3:27 ` Sebastian Moeller
2015-07-31 16:47 ` dpreed
2015-07-31 17:04 ` Jonathan Morton
2015-07-31 20:23 ` Michael Richardson
2015-07-31 20:45 ` Jonathan Morton
2015-08-03 15:44 ` dpreed
2015-08-03 16:14 ` David Lang
2015-08-03 23:37 ` dpreed
2015-08-03 23:52 ` Jonathan Morton
2015-08-04 0:13 ` David Lang
2015-08-04 16:55 ` dpreed
2015-08-07 8:28 ` Mikael Abrahamsson
2015-08-07 13:22 ` Rich Brown
2015-08-07 13:28 ` Jonathan Morton
2015-08-07 17:35 ` Rich Brown
2015-08-08 14:25 ` Simon Barber
2015-08-07 20:03 ` David Lang
2015-08-07 21:46 ` dpreed [this message]
2015-08-07 22:31 ` David Lang
2015-08-08 20:46 ` dpreed
2015-08-08 23:23 ` David Lang
2015-08-09 19:31 ` Jonathan Morton
2015-08-09 21:50 ` David Lang
2015-08-10 5:39 ` Mikael Abrahamsson
2015-08-13 21:48 ` David Lang
2015-08-13 22:14 ` Jonathan Morton
2015-08-13 22:25 ` David Lang
2015-08-13 22:30 ` Jonathan Morton
2015-08-09 22:09 ` David Lang
2015-08-10 13:48 ` Simon Barber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1438983998.16576420@apps.rackspace.com \
--to=dpreed@reed.com \
--cc=cerowrt-devel@lists.bufferbloat.net \
--cc=chromatix99@gmail.com \
--cc=david@lang.hm \
--cc=make-wifi-fast@lists.bufferbloat.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox