General list for discussing Bufferbloat
 help / color / mirror / Atom feed
From: Jonathan Morton <chromatix99@gmail.com>
To: d@taht.net (Dave Täht)
Cc: bloat <bloat@lists.bufferbloat.net>,
	bloat-devel <bloat-devel@lists.bufferbloat.net>
Subject: Re: [Bloat] Some results of the latency under load tool
Date: Mon, 21 Mar 2011 00:24:15 +0200	[thread overview]
Message-ID: <0AFB02A7-8AF9-4C41-BBCE-12E6319A4614@gmail.com> (raw)
In-Reply-To: <87wrjtea1a.fsf_-_@cruithne.co.teklibre.org>


On 20 Mar, 2011, at 11:50 pm, Dave Täht wrote:

> B) Due to the dependence on the gnu scientific library it seems unlikely
> this will build on openwrt. Also, if there is heavy math anywhere in
> this app, it needs to be done outside the testing loop on a non FPU
> enabled processor such as most arms to not skew the test.

I'm aware of the limitations of older ARM CPUs, as I have had to work with them on occasion.  I don't have any with Ethernet at home though.  The maths inside the main loops is limited to calculating time differences, comparing them and determining when to stop - there may be some optimisation possible there, but it's not ridiculous.

The main loops are actually slightly elastic, because recv() will give whatever data is available at the time it is called, and the fattest calculations are only done once per loop.  Under normal circumstances, that should be every 1.2 KB, but it scales up to 64KB if the CPU temporarily can't keep up (or if a lot of data becomes available in one go).

> It ate 17% of cpu on the arm, and ~8% of cpu on davepc.

Looks tolerable to me.  Even my ancient CISC PC can trigger the symptoms well enough.

> Similarly there are rng's in the Linux kernel and hardware sources, I'm
> not sure to what extent you need randomness (I looked at the code  only briefly)

The spew() function uses the PRNG to generate incompressible traffic, since compressibility does matter to some network technologies.  I used GSL purely to get access to a very fast PRNG that still produces good numbers - it's just a shame that this is a relatively large, general-purpose library.  I originally intended to checksum the data and thus ensure that it arrived intact, but I had to delete that feature to get around a race condition.

> So you are saying lower values of hz is horrible?

Yes.  0.02 Hz means the application was waiting 50 seconds for data somehow.

 - Jonathan


  reply	other threads:[~2011-03-20 22:24 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-16  2:31 [Bloat] Progress with latency-under-load tool Jonathan Morton
2011-03-16 17:12 ` Rick Jones
2011-03-17 23:38 ` grenville armitage
2011-03-19 17:44   ` Jonathan Morton
2011-03-20 10:45   ` Jonathan Morton
2011-03-20 20:33     ` grenville armitage
2011-03-20 20:53       ` Dave Täht
2011-03-20 21:52       ` Jonathan Morton
2011-03-20 22:32         ` Dave Täht
2011-03-20 22:47           ` Dave Täht
2011-03-20 22:52             ` Jonathan Morton
2011-03-20 22:55               ` Dave Täht
2011-03-20 23:42               ` Dave Täht
2011-03-20 21:50     ` [Bloat] Some results of the latency under load tool Dave Täht
2011-03-20 22:24       ` Jonathan Morton [this message]
     [not found]     ` <m3d3llgln8.fsf@yahoo.com>
2011-03-21  6:43       ` [Bloat] Progress with latency-under-load tool Jonathan Morton
2011-03-22  1:13         ` Kim Hawtin
2011-03-22  7:10           ` Jonathan Morton
2011-03-23 10:33     ` Otto Solares Cabrera
2011-03-23 11:26       ` Jonathan Morton
2011-03-23 19:27         ` Otto Solares
2011-03-23 20:40           ` Jonathan Morton

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=0AFB02A7-8AF9-4C41-BBCE-12E6319A4614@gmail.com \
    --to=chromatix99@gmail.com \
    --cc=bloat-devel@lists.bufferbloat.net \
    --cc=bloat@lists.bufferbloat.net \
    --cc=d@taht.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