General list for discussing Bufferbloat
 help / color / mirror / Atom feed
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

  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