Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Andrew McGregor <andrewmcgr@gmail.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: "Paolo Valente" <paolo.valente@unimore.it>,
	"Toke Høiland-Jørgensen" <toke@toke.dk>,
	"Eric Raymond" <esr@thyrsus.com>,
	codel@lists.bufferbloat.net, cerowrt-devel@lists.bufferbloat.net,
	bloat <bloat@lists.bufferbloat.net>,
	paulmck@linux.vnet.ibm.com, "John Crispin" <blogic@openwrt.org>
Subject: Re: [Cerowrt-devel] [Codel] FQ_Codel lwn draft article review
Date: Sun, 25 Nov 2012 08:57:58 +1300	[thread overview]
Message-ID: <CFCD55DC-22AB-4698-8353-EA5A3278D84F@gmail.com> (raw)
In-Reply-To: <CAA93jw6_p_aq3o-Jx3w1-j+OQOcU27P85VSYCDpTTEw3hAL1VQ@mail.gmail.com>


On 25/11/2012, at 5:19 AM, Dave Taht <dave.taht@gmail.com> wrote:

> On Sat, Nov 24, 2012 at 1:07 AM, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>> "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> writes:
>> 
> 
> Indirectly observing the web load effects on that graph, while timing
> web page completion, would be good, when comparing pfifo_fast and
> various aqm variants.

Indeed

>>> Also, I know what ICMP is, but the UDP variants are new to me.  Could
>>> you please expand the "EF", "BK", "BE", and "CSS" acronyms?
>> 
>> The UDP ping times are simply roundtrips/second (as measured by netperf)
>> converted to ping times. The acronyms are diffserv markings, i.e.
>> EF=expedited forwarding, BK=bulk (CS1 marking), BE=best effort (no
>> marking).
> 
> The classification tests are in there for a number of reasons.
> 
> 0) I needed multiple streams in the test anyway.
> 
> 1) Many people keep insisting that classification can work. It
> doesn't. It never has. Not over the wild and wooly internet. It only
> rarely does any good at all even on internal networks. It sometimes
> works on some kinds of udp streams, but that's it. The bulk of the
> problem is the massive packet streams modern offloads generate, and
> breaking those up, everywhere possible, any time possible.
> 
> I had put up a graph last week, that showed each classification bucket
> for a tcp stream being totally ignored...
> 
> 2) Theoretically wireless 802.11e SHOULD respect classification. In
> fact, it does, on the ath9k, to a large extent. However, on the iwl I
> have, BE, BK traffic get completely starved by VO, and VI traffic,
> which is something of a bug. I'm certain that due to inadaquate
> testing, 802.11e classification is largely broken in the field, and
> I'd hoped this test would bring that out to more people.

802.11e doesn't prevent a station from starving itself, nor does it help the AP at all when there is contending traffic to deliver to the same station... all it does for you is prevent one station with high priority traffic to send/receive from getting completely starved by another station with low priority.  It's not at all a complete solution, and we need something like the mythical mfq_codel to sort out the rest.

> 3) I don't mind at an effort to make classification work, particularly
> for traffic clearly marked background, such as bittorrent often is.
> Perhaps this is an opportunity to get IPv6 done up right, as it seems
> the diffserv bits are much more rarely fiddled with in transit

Doesn't look that hard, to be honest.

>> The UDP ping tests tend to not work so well on a loaded link,
>> however, since netperf stops sending packets after detecting
>> (excessive(?)) loss. Which is why you see only see the UDP ping times on
>> the first part of the graph.
> 
> Netperf stops UDP_STREAM exchanges after the first lost udp packet.
> This is not helpful.
> 
> I keep noting that the next phase of the rrul development is to find a
> good pair of CIR one way measurements that look a bit like voip.
> Either that test can get added to netperf or we use another tool, or
> we create one, and I keep hoping for recommendations from various
> people on this list. Come on, something like this
> exists? Anybody?

nmap -PU?

>> I think what happens is that one of the streams (the turquoise
>> one) starts up faster than the other ones, consuming all the bandwidth
>> for the first couple of seconds until they adjust to the same level.
> 
> I'm not willing to draw this conclusion from this graph, and need
> to/would like someone else to/ setup a test in a controlled
> environment. the wrapper scripts
> can dump the raw data and I can manually plot using gnuplot or a
> spreadsheet, but it's tedious...

I may have some code that will help here, including CDFs and a rarely seen in the wild exponential weighted moving variance.

>> These initial values are then scaled off the graph as outlier values.
> 
> Huge need for cdf plots and to present the outliers. In fact I'd like
> graphs that just presented the outliers. Another way to approach it
> would be, instead of creating static graphs, to use something like the
> ds3.js and incorporate the ability to zoom
> in, around, and so on, on multiple data sets. Or leverage mlab's tools.
> 
> I am no better at javascript than python.

Run interactively, python matplotlib stuff lets you zoom.  I don't know if that can be made into a zoomable web page though.

Andrew

  parent reply	other threads:[~2012-11-24 19:58 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAA93jw5yFvrOyXu2s2DY3oK_0v3OaNfnL+1zTteJodfxtAAzcQ@mail.gmail.com>
2012-11-23  8:57 ` [Cerowrt-devel] " Dave Taht
2012-11-23 22:18   ` Paul E. McKenney
2012-11-24  0:07     ` Toke Høiland-Jørgensen
2012-11-24 16:19       ` Dave Taht
2012-11-24 16:36         ` dpreed
2012-11-24 19:57         ` Andrew McGregor [this message]
2012-11-26 21:13         ` [Cerowrt-devel] [Codel] " Rick Jones
2012-11-26 21:19           ` Dave Taht
2012-11-26 22:16         ` [Cerowrt-devel] " Toke Høiland-Jørgensen
2012-11-26 23:21           ` Toke Høiland-Jørgensen
2012-11-26 23:39             ` dpreed
2012-11-26 23:58               ` Toke Høiland-Jørgensen
2012-11-26 17:20       ` Paul E. McKenney
2012-11-26 21:05       ` [Cerowrt-devel] [Codel] " Rick Jones
2012-11-26 23:18         ` [Cerowrt-devel] [Bloat] " Rick Jones
2012-11-27 22:03     ` [Cerowrt-devel] " Jim Gettys
2012-11-27 22:31       ` [Cerowrt-devel] [Bloat] " David Lang
2012-11-27 22:54         ` Paul E. McKenney
2012-11-27 23:15           ` [Cerowrt-devel] [Codel] " Andrew McGregor
2012-11-28  0:51             ` Paul E. McKenney
2012-11-28 17:36             ` Paul E. McKenney
2012-11-28 14:06         ` [Cerowrt-devel] " Michael Richardson
2012-11-27 22:49       ` [Cerowrt-devel] " Paul E. McKenney
2012-11-27 23:53         ` [Cerowrt-devel] [Codel] " Greg White
2012-11-28  0:27           ` Paul E. McKenney
2012-11-28  3:43             ` Kathleen Nichols
2012-11-28  4:38               ` Paul E. McKenney
2012-11-28 16:01                 ` Paul E. McKenney
2012-11-28 16:16                   ` Jonathan Morton
2012-11-28 17:44                     ` Paul E. McKenney
2012-11-28 18:37                       ` [Cerowrt-devel] [Bloat] " Michael Richardson
2012-11-28 18:51                         ` [Cerowrt-devel] [Codel] [Bloat] " Eric Dumazet
2012-11-28 21:44                           ` Michael Richardson
2012-11-28 19:00                       ` [Cerowrt-devel] [Bloat] [Codel] " Eric Dumazet
2012-12-02 21:37                         ` Toke Høiland-Jørgensen
2012-12-02 21:47                           ` [Cerowrt-devel] [Codel] [Bloat] " Andrew McGregor
2012-12-03  8:04                             ` [Cerowrt-devel] [Bloat] [Codel] " Dave Taht
2012-12-02 22:07                           ` Eric Dumazet
2012-12-02 22:15                             ` Toke Høiland-Jørgensen
2012-12-02 22:30                               ` Eric Dumazet
2012-12-02 22:51                                 ` Toke Høiland-Jørgensen
2012-11-28 17:20       ` [Cerowrt-devel] " Paul E. McKenney
2012-12-02 23:06         ` Paul E. McKenney
2012-12-03 11:24           ` Toke Høiland-Jørgensen
2012-12-03 11:31             ` Dave Taht
2012-12-03 12:54               ` Toke Høiland-Jørgensen
2012-12-03 14:58                 ` Paul E. McKenney
2012-12-03 15:19                   ` Toke Høiland-Jørgensen
2012-12-03 15:49                   ` [Cerowrt-devel] [Codel] " Eric Dumazet
2012-12-03 15:03               ` [Cerowrt-devel] " Paul E. McKenney
2012-12-03 15:58               ` David Woodhouse
2012-12-04  3:13                 ` [Cerowrt-devel] [Codel] " Dan Siemon
2012-12-04  9:23                   ` [Cerowrt-devel] [Bloat] " Alex Burr
2012-12-05  3:41                     ` Dan Siemon
     [not found]                       ` <1354739624.4431.YahooMailNeo@web126205.mail.ne1.yahoo.com>
2012-12-06  4:12                         ` Dan Siemon
2012-12-05  0:01                   ` [Cerowrt-devel] " Sebastian Moeller
2012-11-30  1:09       ` [Cerowrt-devel] [Bloat] " Dan Siemon

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=CFCD55DC-22AB-4698-8353-EA5A3278D84F@gmail.com \
    --to=andrewmcgr@gmail.com \
    --cc=bloat@lists.bufferbloat.net \
    --cc=blogic@openwrt.org \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=codel@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    --cc=esr@thyrsus.com \
    --cc=paolo.valente@unimore.it \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=toke@toke.dk \
    /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