From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: David Lang <david@lang.hm>
Cc: make-wifi-fast@lists.bufferbloat.net
Subject: Re: [Make-wifi-fast] Thoughts on tackling airtime fairness
Date: Wed, 11 May 2016 17:28:19 +0200 [thread overview]
Message-ID: <87r3d8k418.fsf@toke.dk> (raw)
In-Reply-To: <alpine.DEB.2.02.1605110817480.1548@nftneq.ynat.uz> (David Lang's message of "Wed, 11 May 2016 08:20:34 -0700 (PDT)")
David Lang <david@lang.hm> writes:
>> I expect that if you were able to change this even once/sec and
>> account for the rate you would be far better than what we have now.
I suspect so too, but would like to have someone who actually tried it
before confirm it ;)
> by the way, I have logs from the last two scale conferences of the
> /sys data per-station showing the rate info. if you give me a way to
> send you the multi-G file you can look through it to see how rapidly
> the rate changes for a given station under real-world
> high-user-density conditions.
Hmm, can probably give you and sftp dump space; will set it up and
message you off-list :)
> I suspect that the biggest problem right now is that the higher level
> scheduling isn't accounting for "station X is at rate 1, station Y is
> at rate 100" and is trying to be 'fair' by sending the same amount of
> data to each of them.
Well, from a scheduling perspective, there really is no "higher level
scheduling". There's just a FIFO queue.
However, the throughput-based fairness you describe is an intrinsic
property of the 802.11 DCF. This is known in the academic literature as
"the 802.11 performance anomaly", It was first described in 2003(!) for
802.11b [1]. There has been several academic publications on ways to fix
this (just finished the one Lucas linked, which was pretty good), but
none of this seems to have percolated into mainline Linux. Surprise,
surprise.
-Toke
[1] M. Heusse, F. Rousseau, G. Berger-Sabbatel and A. Duda, "Performance
anomaly of 802.11b,"
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1208921&isnumber=27206
next prev parent reply other threads:[~2016-05-11 15:28 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-11 12:19 Toke Høiland-Jørgensen
2016-05-11 12:55 ` Luca Muscariello
2016-05-11 13:45 ` Toke Høiland-Jørgensen
2016-05-11 14:48 ` Luca Muscariello
2016-05-11 15:10 ` Toke Høiland-Jørgensen
2016-05-11 15:17 ` David Lang
2016-05-11 15:20 ` David Lang
2016-05-11 15:28 ` Toke Høiland-Jørgensen [this message]
2016-05-11 15:33 ` Luca Muscariello
2016-05-11 16:19 ` Dave Taht
2016-05-11 16:29 ` Dave Taht
2016-05-11 16:40 ` Toke Høiland-Jørgensen
2016-05-11 16:33 ` Luca Muscariello
2016-05-11 15:07 ` David Lang
2016-05-12 15:59 ` Dave Taht
2016-05-11 15:04 ` David Lang
2016-05-11 16:09 ` Luca Muscariello
2016-05-11 16:41 ` Dave Taht
2016-05-11 18:13 ` Dave Taht
2016-05-12 7:26 ` Michal Kazior
2016-05-12 8:21 ` Luca Muscariello
2016-05-12 8:40 ` David Lang
2016-05-12 8:48 ` Michal Kazior
2016-05-11 18:28 ` Luca Muscariello
2016-05-11 18:35 ` Luca Muscariello
2016-05-11 15:03 ` David Lang
2016-05-11 15:15 ` Toke Høiland-Jørgensen
2016-05-11 15:24 ` David Lang
2016-05-11 16:35 ` moeller0
2016-05-11 23:25 ` David Lang
2016-05-12 6:41 ` moeller0
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/make-wifi-fast.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87r3d8k418.fsf@toke.dk \
--to=toke@toke.dk \
--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