<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">There are conditions when even a single application will suffer from bloat.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">For instance, several ABR video players use multiple TCP/HTTP sessions to fetch data. Some of the data boils down to large video chunks, and some of the data
 boils down to small pieces of control information. Think of a video player in part of the screen and data about the event (racing statistics, let’s say). On a bloaty network, the bulk data builds the network buffer and delays the control traffic. This can
 impact the user experience…..<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Bvs<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:windowtext"> Simon Barber [mailto:simon@superduper.net]
<br>
<b>Sent:</b> Monday, May 18, 2015 7:06 AM<br>
<b>To:</b> dpreed@reed.com<br>
<b>Cc:</b> Jim Gettys; Bill Ver Steeg (versteb); cake@lists.bufferbloat.net; Klatsky, Carl; cerowrt-devel@lists.bufferbloat.net; bloat<br>
<b>Subject:</b> Re: [Cerowrt-devel] [Bloat] heisenbug: dslreports 16 flow test vs cablemodems<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">Even single user, bufferbloat matters. Windows update will kill your Skype call. Without large size aggregates the necessary physical layer per packet overheads caused by the RF medium kill your efficiency and
 performance. Fairness between users is another issue as well.<br>
<br>
Simon<o:p></o:p></p>
<div>
<p class="MsoNormal">On 5/17/2015 8:30 PM, <a href="mailto:dpreed@reed.com">dpreed@reed.com</a> wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<p style="margin:0in;margin-bottom:.0001pt;word-wrap: break-word"><span style="font-size:10.0pt">What's your definition of 802.11 performing well?  Just curious.  Maximizing throughput at all costs or maintaing minimal latency for multiple users sharing an
 access point?<br>
<br>
Of course, if all you are doing is trying to do point-to-point outdoor links using 802.11 gear, the issue is different - similar to "dallying" to piggyback acks in TCP, which is great when you have two dimensional flows, but lousy if each packet has a latency
 requirement that is small.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;word-wrap: break-word"><span style="font-size:10.0pt"> <o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;word-wrap: break-word"><span style="font-size:10.0pt">To me this is hardly so obvious. Maximizing packet sizes is actually counterproductive for many end-to-end requirements.  But of course for "hot rod benchmarkers"
 applications don't matter at all - just the link performance numbers.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;word-wrap: break-word"><span style="font-size:10.0pt"> <o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;word-wrap: break-word"><span style="font-size:10.0pt">One important use of networking is multiplexing multiple users.  Otherwise, bufferbloat would never matter.<o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;word-wrap: break-word"><span style="font-size:10.0pt"> <o:p></o:p></span></p>
<p style="margin:0in;margin-bottom:.0001pt;word-wrap: break-word"><span style="font-size:10.0pt">Which is why I think actual numbers rather than "hand waving claims" matter.<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;word-wrap: break-word">
<span style="font-size:10.0pt"><br>
<br>
On Friday, May 15, 2015 10:36am, "Simon Barber" <a href="mailto:simon@superduper.net">
<simon@superduper.net></a> said:<o:p></o:p></span></p>
<div id="SafeStyles1431919447">
<div>
<div>
<p style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:0in">
<span style="font-size:10.0pt">One question about TCP small queues (which I don't think is a good solution to the problem). For 802.11 to be able to perform well it needs to form maximum size aggregates. This means that it needs to maintain a minimum queue
 size of at least 64 packets, and sometimes more. Will TCP small queues prevent this?<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:0in">
<span style="font-size:10.0pt">Simon<o:p></o:p></span></p>
<p style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:0in">
<span style="font-size:10.0pt">Sent with AquaMail for Android<br>
<a href="http://www.aqua-mail.com">http://www.aqua-mail.com</a><o:p></o:p></span></p>
</div>
<div>
<p style="mso-margin-top-alt:10.0pt;margin-right:0in;margin-bottom:10.0pt;margin-left:0in">
<span style="font-size:10.0pt;font-family:"Arial","sans-serif"">On May 15, 2015 6:44:21 AM Jim Gettys
<a href="mailto:jg@freedesktop.org"><jg@freedesktop.org></a> wrote:<o:p></o:p></span></p>
<blockquote style="border:none;border-left:solid gray 1.0pt;padding:0in 0in 0in 5.0pt;margin-left:4.5pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt">On Fri, May 15, 2015 at 9:09 AM, Bill Ver Steeg (versteb) <<a href="mailto:versteb@cisco.com" target="_blank">versteb@cisco.com</a>> wrote:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt">Lars-<br>
<br>
You make some good points. It boils down to the fact that there are several things that you can measure, and they mean different things.<br>
</span><span style="font-size:10.0pt;color:#888888"><br>
<span class="hoenzb">Bvs</span></span><span style="font-size:10.0pt"><o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt"><br>
<br>
-----Original Message-----<br>
From: Eggert, Lars [mailto:<a href="mailto:lars@netapp.com">lars@netapp.com</a>]<br>
Sent: Friday, May 15, 2015 8:44 AM<br>
To: Bill Ver Steeg (versteb)<br>
Cc: Aaron Wood; <a href="mailto:cake@lists.bufferbloat.net">cake@lists.bufferbloat.net</a>; Klatsky, Carl;
<a href="mailto:cerowrt-devel@lists.bufferbloat.net">cerowrt-devel@lists.bufferbloat.net</a>; bloat<br>
Subject: Re: [Bloat] [Cerowrt-devel] heisenbug: dslreports 16 flow test vs cablemodems<br>
<br>
<br>
I disagree. You can use them to establish a lower bound on the delay an application over TCP will see, but not get an accurate estimate of that (because socket buffers are not included in the measurement.) And you rely on the network to not prioritize ICMP/UDP
 but otherwise leave it in the same queues.<o:p></o:p></span></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal">​On recent versions of  Linux and Mac, you can get most of the socket buffers to "go away".  I forget the socket option offhand.​<o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:10.0pt"> <o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal">​And TCP small queues in Linux means that Linux no longer gratuitously generates packets just to dump them into the queue discipline system where they will rot.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">How accurate this now can be is still an interesting question: but has clearly improved the situation a lot over 3-4 years ago.​<o:p></o:p></p>
</div>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt"><br>
> If you can instrument TCP in the kernel to make instantaneous RTT available to the application, that might work. I am not sure how you would roll that out in a timely manner, though.<o:p></o:p></span></p>
</div>
</div>
</blockquote>
<div>
<p class="MsoNormal">​Well, the sooner one starts, the sooner it gets deployed.​<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Jim<o:p></o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt">_______________________________________________<br>
Bloat mailing list<br>
<a href="mailto:Bloat@lists.bufferbloat.net">Bloat@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/bloat">https://lists.bufferbloat.net/listinfo/bloat</a><o:p></o:p></span></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>