From: David Lang <david@lang.hm>
To: Aaron Wood <woody77@gmail.com>
Cc: davecb@spamcop.net, bloat <bloat@lists.bufferbloat.net>
Subject: Re: [Bloat] [Make-wifi-fast] graphing airtime fairness in wifi
Date: Thu, 21 Apr 2016 10:59:13 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.02.1604211058500.9508@nftneq.ynat.uz> (raw)
In-Reply-To: <CALQXh-P-CYgUxsO+cYxcU1Jbask5P5b8uCbKESdOOFHm0e1d0g@mail.gmail.com>
[-- Attachment #1: Type: TEXT/Plain, Size: 5825 bytes --]
Yes, this is exactly the sort of thing I was envisioning and trying to describe.
David Lang
On Tue, 19 Apr 2016, Aaron Wood wrote:
> What about a strip-chart with multiple lanes for every device. Then use
> either a line graph or a spectrograph (color of band) style marking to show
> data rate used at that time. If the main goal is fairness and airtime,
> then the eye can visually compute that based on how evenly spread out the
> slices of usage are, and can identify problematic places based on color of
> the band (or height of the line, if using a spark-lines instead of patches
> of color.
>
> I've done this in the past to visualize offline devices in a mesh network,
> and the result of that was _very_ useful for showing how losing one node
> takes out the ones that needed to route through it, also useful for showing
> when failures were time-correlated or not.
>
> Multicast messages could then be shown as grey bands across the whole set
> of spectrum, and inter-packet as just whitespace (or maybe thin black
> lines).
>
> If you were more interested in showing sent vs. received, then you could do
> two stripes per station, one for tx and one for rx.
>
> For higher encoding rates, the preamble could be shown in the 1Mbps/11Mbps
> color, and then the rest of the payload in a different color for the MCS
> used. That will show efficient aggregation vs. inefficient aggregation.
>
> Hmm... I kinda want to sketch this up using matplotlib. I've used a
> couple pcap libraries (like scapy) with python. They're not fast, though
> (scapy does about 2500pps in reading/parsing pcap files on my computer).
> That might be better if it was told to only parse the radio-tap header and
> ignore the rest of the packet.
>
> -Aaron
>
> On Mon, Apr 18, 2016 at 6:42 PM, David Collier-Brown <davec-b@rogers.com>
> wrote:
>
>> On 18/04/16 07:03 PM, David Collier-Brown wrote:
>>
>> I haven't internalized this yet, but my instantaneous reaction is:
>>
>> - a radar screen is something people have been educated to
>> understand, so that's cool, and
>>
>> Rat's, it all went on one line. This is more like what I meant
>>
>>
>> - over time, plotting the time taken for <something> against the load
>> in <something>s is what capacity planners expect to see: "_/"
>>
>>
>> --dave
>>
>> On 18/04/16 06:48 PM, David Lang wrote:
>>
>> On Mon, 18 Apr 2016, Dave Taht wrote:
>>
>> I have been sitting here looking at wifi air packet captures off and
>> on for years now, trying to come up with a representation, over time,
>> of what the actual airtime usage (and one day, fairness) would look
>> like. Believe me, looking at the captures is no fun, and (for example)
>> wireshark tends to misinterpret unreceived retries at different rates
>> inside a txop as tcp retries (which, while educational, makes it hard
>> to see actual retries)...
>>
>> Finally today, I found a conceptual model that "fits" - and it's kind
>> of my hope that something already out there does this from packet
>> captures. (?) Certainly there are lots of great pie chart tools out
>> there...
>>
>> Basically you start with a pie chart representing a fixed amount of
>> time - say, 128ms. Then for each device transmitting you assign a
>> slice of the pie for the amount of airtime used. Then, you can show
>> the amount of data transmitted in that piece of the pie by increasing
>> the volume plotted for that slice of the pie. And you sweep around
>> continually (like a radar scanning or a timepiece's pointer) to show
>> progress over time, and you show multicast and other traffic as eating
>> the whole pie for however long it lasts.
>>
>> conceptually it looks a bit like this:
>>
>> http://blog.cerowrt.org/images/fairness.png (I borrowed this graph
>> from
>> http://www.webdesignerdepot.com/2013/11/easily-create-stunning-animated-charts-with-chart-js/
>> )
>>
>> Another way to do it would be to have the pie represent all the
>> stations on the network, and to have the "sweep hand" jump between
>> them...
>>
>>
>> does it really matter how much data is passed during the timeslice as
>> opposed to just how much airtime is used? (and there will be a large chunk
>> of airtime unused for various reasons, much of which you will not be able
>> to attribute to any one station, and if you do get full transmit data from
>> each station, you can end up with >100% airtime use attempted)
>>
>> I would be looking at a stacked area graph to show changes over time (a
>> particular source will come and go over time)
>>
>> I would either do two graphs, one showing data successfully transmitted,
>> the other showing airtime used (keeping colors/order matching between the
>> two graphs), or if you have few enough stations, one graph with good lines
>> between the stations and have the color represent the % of theoretical peak
>> data transmission to show the relative efficiency of the different
>> stations.
>>
>>
>> While the radar sweep updating of a pie graph is a neat graphic, it
>> doesn't really let you see what's happening over time.
>>
>> David Lang
>>
>> _______________________________________________
>> Bloat mailing list
>> Bloat@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/bloat
>>
>>
>>
>> --
>> David Collier-Brown, | Always do right. This will gratify
>> System Programmer and Author | some people and astonish the restdavecb@spamcop.net | -- Mark Twain
>>
>>
>>
>> --
>> David Collier-Brown, | Always do right. This will gratify
>> System Programmer and Author | some people and astonish the restdavecb@spamcop.net | -- Mark Twain
>>
>>
>> _______________________________________________
>> Bloat mailing list
>> Bloat@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/bloat
>>
>>
>
[-- Attachment #2: Type: TEXT/PLAIN, Size: 140 bytes --]
_______________________________________________
Bloat mailing list
Bloat@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/bloat
next prev parent reply other threads:[~2016-04-21 17:59 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-18 22:35 [Bloat] " Dave Taht
2016-04-18 22:48 ` [Bloat] [Make-wifi-fast] " David Lang
2016-04-18 23:02 ` Bob McMahon
2016-04-18 23:36 ` Dave Taht
2016-04-18 23:03 ` David Collier-Brown
2016-04-18 23:14 ` David Lang
2016-04-19 0:02 ` Dave Taht
2016-04-19 0:15 ` David Lang
2016-04-19 1:42 ` David Collier-Brown
2016-04-19 21:48 ` Aaron Wood
2016-04-21 17:59 ` David Lang [this message]
2016-04-18 23:11 ` David Lang
2016-04-18 23:50 ` Dave Taht
2016-04-19 0:01 ` David Lang
2016-04-19 0:07 ` Dave Taht
2016-04-19 0:32 ` David Lang
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.1604211058500.9508@nftneq.ynat.uz \
--to=david@lang.hm \
--cc=bloat@lists.bufferbloat.net \
--cc=davecb@spamcop.net \
--cc=woody77@gmail.com \
/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