General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: David Lang <david@lang.hm>
To: Jonathan Morton <chromatix99@gmail.com>
Cc: Simon Barber <simon@superduper.net>, bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] lwn.net's tcp small queues vs wifi aggregation solved
Date: Mon, 25 Jun 2018 17:56:05 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.02.1806251746010.10496@nftneq.ynat.uz> (raw)
In-Reply-To: <422BFE8C-1AAC-4A55-AF1F-448B3B5C0E28@gmail.com>

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2640 bytes --]

On Tue, 26 Jun 2018, Jonathan Morton wrote:

>> On 26 Jun, 2018, at 3:36 am, Simon Barber <simon@superduper.net> wrote:
>>
>> Most hardware needs the packet finalized before it starts to contend for the 
>> medium (as far as I’m aware - let me know if you know differently). One issue 
>> is that if RTS/CTS is in use, then the packet duration needs to be known in 
>> advance (or at least mid point of the RTS transmission).
>
> This is a valid argument.  I think we could successfully argue for a delay of 
> 1ms, if there isn't already enough data in the queue to fill an aggregate, 
> after the oldest packet arrives until a request is issued.

why does the length of the txop need to be known at the time that it's 
requested?

I could see an argument that fairness algorithms need this info, but the per 
txop overhead is _so_ much larger than the data transmission, that you would 
have to add a huge amount of data to noticably affect the length of the 
transmission.

remember, in wifi you don't ask a central point for permission to use X amount 
of airtime, you wait for everyone to stop transmitting (and then a random time) 
and then start sending. Nothing else in the area knows that you are going to 
start transmitting, and it's only once they start decoding the start of the rf 
packet you are sending that they can see how long it will be before you finish

>> If there are no other stations competing for airtime, why does it matter that we use two txops?
>
> One further argument would be power consumption.  Radio transmitters eat 
> batteries for lunch; the only consistently worse offender I can think of is a 
> display backlight, assuming the software is efficient.

True, but this gets back to the question of how frequent this case is.

If you are in areas with congestion most of the time, so the common case is to 
have to wait long enough for the data to be combined, then the difference in 
power savings is going to be small.

'waiting just in case there is more to send' looks good on specific benchmarks, 
but it adds latency all the time, even when it's not needed.

Now, using a travel analogy

I think how we operate today is as if we were a train at a station, when we 
first are ready to move, the doors are closed and everyone sits inside waiting 
for permission to move (think of how annoyed you have been sitting in a closed 
aircraft at an airport waiting to move), and anyone outside has to wait for the 
next train

But if instead we leave the doors open after we request permission, and only 
close them when we know that we are going to be able to send very soon, late 
arrivals can board.


  parent reply	other threads:[~2018-06-26  0:56 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-21  4:58 Dave Taht
2018-06-21  9:22 ` Toke Høiland-Jørgensen
2018-06-21 12:55   ` Eric Dumazet
2018-06-21 15:18     ` Dave Taht
2018-06-21 15:31       ` Caleb Cushing
2018-06-21 15:46         ` Stephen Hemminger
2018-06-21 17:41           ` Caleb Cushing
2018-06-21 15:50         ` Dave Taht
2018-06-21 16:29       ` David Collier-Brown
2018-06-21 16:54         ` Jonathan Morton
2018-06-21 16:43       ` Kathleen Nichols
2018-06-21 19:17         ` Dave Taht
2018-06-21 19:41           ` Sebastian Moeller
2018-06-21 19:51             ` Toke Høiland-Jørgensen
2018-06-21 19:54             ` Dave Taht
2018-06-21 20:11               ` Sebastian Moeller
2018-06-22 14:01           ` Kathleen Nichols
2018-06-22 14:12             ` Jonathan Morton
2018-06-22 14:49               ` Michael Richardson
2018-06-22 15:02                 ` Jonathan Morton
2018-06-22 21:55                   ` Michael Richardson
2018-06-25 10:38                     ` Toke Høiland-Jørgensen
2018-06-25 23:54                       ` Jim Gettys
2018-06-26  0:07                         ` Jonathan Morton
2018-06-26  0:21                           ` David Lang
2018-06-26  0:36                             ` Simon Barber
2018-06-26  0:44                               ` Jonathan Morton
2018-06-26  0:52                                 ` Jim Gettys
2018-06-26  0:56                                 ` David Lang [this message]
2018-06-26 11:16                                   ` Toke Høiland-Jørgensen
2018-06-26  1:27                                 ` Dave Taht
2018-06-26  3:30                                   ` 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/bloat.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.02.1806251746010.10496@nftneq.ynat.uz \
    --to=david@lang.hm \
    --cc=bloat@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=simon@superduper.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