From: "Richard Scheffenegger" <rscheff@gmx.at>
To: "richard" <richard@pacdat.net>, "Fred Baker" <fredbakersba@gmail.com>
Cc: bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Goodput fraction w/ AQM vs bufferbloat
Date: Sun, 8 May 2011 14:53:55 +0200 [thread overview]
Message-ID: <2A4D9A7D052640959DC7EF33A36327B5@srichardlxp2> (raw)
In-Reply-To: <1304694852.29492.16.camel@amd.pacdat.net>
I think a definition of terms would be in order. For me:
goodput: number of bytes delivered at the receiver to the next upper layer
application, per unit of time
throughput: number of bytes send by the sender, into the network, per unit
of time
Thus goodput can be a ratio (delivered bytes on the receiving application
vs. data bytes sent by the sender's TCP), but by definition, only a
completely loss-less, in-order stream of segments can ever hope of achiving
that; any instance of fast recovery, retransmission timeout etc, and the
goodput fraction will always be (much) less than 100%. (However, fringe
effects like ssthresh reset for idle connections won't influence that
fraction at all, but may lower the absolute values).
Charging for volume without considering the goodput fraction, is like
overpaying - if the publing would work properly, you (end customer,
small/medium ISP) would get charged for the real work you demanded of the
network (data bytes delivered to a receiving application). Since the
plumbing is broken, you get charged for the brokenness also (because only
absolut data volume is counted), giving less than zero incentive to those
who could fix the plumbing to do it.
Exposing this brokenness is one of the nice properties of CONEX - upstream
ISPs can be graded by the congestion they cause (or are willing to
tolerate), and customers are empowered to make a concious choice to use an
ISP which may be charge more (say 2%) per volume of data, but where the
goodput fraction is at least a similar percentage points better... I.e. by
properly tuning their AQM schemes.
Best regards,
Richard
----- Original Message -----
From: "richard" <richard@pacdat.net>
To: "Fred Baker" <fredbakersba@gmail.com>
Cc: <bloat@lists.bufferbloat.net>
Sent: Friday, May 06, 2011 5:14 PM
Subject: Re: [Bloat] Goodput fraction w/ AQM vs bufferbloat
> I'm wondering if we should look at the ratio of throughput to goodput
> instead of the absolute numbers.
>
> Yes, the goodput will be 100% but at what cost in actual throughput? And
> at what cost in total bandwidth?
>
> If every packet takes two attempts then the ratio will be 1/2 - 1 unit
> of googput for two units of throughput (at least up to the choke-point).
> This is worst-case, so the ratio is likely to be something better than
> that 3/4, 5/6, 99/100 ???
>
> Hmmm... maybe inverting the ratio and calling it something flashy (the
> bloaty rating???) might give us a lever in the media and with ISPs that
> is easier for the math challenged to understand. Higher is worse.
>
> Putting a number to this will also help those of us trying to get ISPs
> to understand that their Usage Based Bilking (UBB) won't address the
> real problem which is hidden in this ratio. The fact is, the choke point
> for much of this is the home router/firewall - and so that 1/2 ratio
> tells me the consumer is getting hosed for a technical problem.
>
> richard
>
> On Thu, 2011-05-05 at 21:18 -0700, Fred Baker wrote:
>> There are a couple of ways to approach this, and they depend on your
>> network model.
>>
>> In general, if you assume that there is one bottleneck, losses occur in
>> the queue at the bottleneck,
>> and are each retransmitted exactly once (not necessary, but helps),
>> goodput should approximate 100%
>> regardless of the queue depth. Why? Because every packet transits the
>> bottleneck once - if it is
>> dropped at the bottleneck, the retransmission transits the bottleneck. So
>> you are using exactly
>> the capacity of the bottleneck.
>>
>> the value of a shallow queue is to reduce RTT, not to increase or
>> decrease goodput. cwnd can become
>> too small, however; if it is possible to set cwnd to N without increasing
>> queuing delay, and cwnd is
>> less than N, you're not maximizing throughput. When cwnd grows above N,
>> it merely increases queuing
>> delay, and therefore bufferbloat.
>>
>> If there are two bottlenecks in series, you have some probability that a
>> packet transits one
>> bottleneck and doesn't transit the other. In that case, there is probably
>> an analytical way
>> to describe the behavior, but it depends on a lot of factors including
>> distributions of competing
>> traffic. There are a number of other possibilities; imagine that you
>> drop a packet, there is a
>> sack, you retransmit it, the ack is lost, and meanwhile there is another
>> loss. You could easily
>> retransmit the retransmission unnecessarily, which reduces goodput. The
>> list of silly possibilities
>> goes on for a while, and we have to assume that each has some
>> probability of happening in the wild.
>>
> snip...
>
> richard
>
> --
> Richard C. Pitt Pacific Data Capture
> rcpitt@pacdat.net 604-644-9265
> http://digital-rag.com www.pacdat.net
> PGP Fingerprint: FCEF 167D 151B 64C4 3333 57F0 4F18 AF98 9F59 DD73
>
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
next prev parent reply other threads:[~2011-05-08 12:51 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-26 17:05 [Bloat] Network computing article on bloat Dave Taht
2011-04-26 18:13 ` Dave Hart
2011-04-26 18:17 ` Dave Taht
2011-04-26 18:28 ` dave greenfield
2011-04-26 18:32 ` Wesley Eddy
2011-04-26 19:37 ` Dave Taht
2011-04-26 20:21 ` Wesley Eddy
2011-04-26 20:30 ` Constantine Dovrolis
2011-04-26 21:16 ` Dave Taht
2011-04-27 17:10 ` Bill Sommerfeld
2011-04-27 17:40 ` Wesley Eddy
2011-04-27 7:43 ` Jonathan Morton
2011-04-30 15:56 ` Henrique de Moraes Holschuh
2011-04-30 19:18 ` [Bloat] Goodput fraction w/ AQM vs bufferbloat Richard Scheffenegger
2011-05-05 16:01 ` Jim Gettys
2011-05-05 16:10 ` Stephen Hemminger
2011-05-05 16:30 ` Jim Gettys
2011-05-05 16:49 ` [Bloat] Burst Loss Neil Davies
2011-05-05 18:34 ` Jim Gettys
2011-05-06 11:40 ` Sam Stickland
2011-05-06 11:53 ` Neil Davies
2011-05-08 12:42 ` Richard Scheffenegger
2011-05-09 18:06 ` Rick Jones
2011-05-11 8:53 ` Richard Scheffenegger
2011-05-11 9:53 ` Eric Dumazet
2011-05-12 14:16 ` [Bloat] Publications Richard Scheffenegger
2011-05-12 16:31 ` [Bloat] Burst Loss Fred Baker
2011-05-12 16:41 ` Rick Jones
2011-05-12 17:11 ` Fred Baker
2011-05-13 5:00 ` Kevin Gross
2011-05-13 14:35 ` Rick Jones
2011-05-13 14:54 ` Dave Taht
2011-05-13 20:03 ` [Bloat] Jumbo frames and LAN buffers (was: RE: Burst Loss) Kevin Gross
2011-05-14 20:48 ` Fred Baker
2011-05-15 18:28 ` Jonathan Morton
2011-05-15 20:49 ` Fred Baker
2011-05-16 0:31 ` Jonathan Morton
2011-05-16 7:51 ` Richard Scheffenegger
2011-05-16 9:49 ` Fred Baker
2011-05-16 11:23 ` [Bloat] Jumbo frames and LAN buffers Jim Gettys
2011-05-16 13:15 ` Kevin Gross
2011-05-16 13:22 ` Jim Gettys
2011-05-16 13:42 ` Kevin Gross
2011-05-16 15:23 ` Jim Gettys
[not found] ` <-854731558634984958@unknownmsgid>
2011-05-16 13:45 ` Dave Taht
2011-05-16 18:36 ` Richard Scheffenegger
2011-05-16 18:11 ` [Bloat] Jumbo frames and LAN buffers (was: RE: Burst Loss) Richard Scheffenegger
2011-05-17 7:49 ` BeckW
2011-05-17 14:16 ` Dave Taht
[not found] ` <-4629065256951087821@unknownmsgid>
2011-05-13 20:21 ` Dave Taht
2011-05-13 22:36 ` Kevin Gross
2011-05-13 22:08 ` [Bloat] Burst Loss david
2011-05-13 19:32 ` Denton Gentry
2011-05-13 20:47 ` Rick Jones
2011-05-06 4:18 ` [Bloat] Goodput fraction w/ AQM vs bufferbloat Fred Baker
2011-05-06 15:14 ` richard
2011-05-06 21:56 ` Fred Baker
2011-05-06 22:10 ` Stephen Hemminger
2011-05-07 16:39 ` Jonathan Morton
2011-05-08 0:15 ` Stephen Hemminger
2011-05-08 3:04 ` Constantine Dovrolis
2011-05-08 13:00 ` Richard Scheffenegger
2011-05-08 12:53 ` Richard Scheffenegger [this message]
2011-05-08 12:34 ` Richard Scheffenegger
2011-05-09 3:07 ` Fred Baker
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=2A4D9A7D052640959DC7EF33A36327B5@srichardlxp2 \
--to=rscheff@gmx.at \
--cc=bloat@lists.bufferbloat.net \
--cc=fredbakersba@gmail.com \
--cc=richard@pacdat.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