<div dir="ltr">The demo is nice but a way to measure this with full statistics can be actionable by engineers. I did add support for tcp write time with histograms, where setting TCP_NOTSENT_LOWAT, can give a sense of the network responsiveness as the writes will await the select() indicating the pipeline has drained. Nobody really uses this much.<br><br>Also, there is a suggestion for the server to generate branches so-to-speak by sending an event back to the client, e.g. move the video pointer, but how does the test tool decide when to create the user events that need to be sent back? How long does it wait between events, etc?<br><br>Bob</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 20, 2022 at 12:12 PM Dave Taht <<a href="mailto:dave.taht@gmail.com">dave.taht@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Oct 20, 2022 at 12:04 PM Bob McMahon via Make-wifi-fast<br>
<<a href="mailto:make-wifi-fast@lists.bufferbloat.net" target="_blank">make-wifi-fast@lists.bufferbloat.net</a>> wrote:<br>
><br>
> Intel has a good analogous video on this with their CPU video here going over branches and failed predictions. And to Stuart's point, the longer pipelines make the forks worse in the amount of in-process bytes that need to be thrown away. Interactivity, in my opinion, suggests shrinking the pipeline because, with networks, there is no quick way to throw away stale data rather every forwarding device continues forward with invalid data. That's bad for the network too, spending resources on something that's no longer valid. We in the test & measurement community never measure this.<br>
<br>
One of my all time favorite demos was of stuart's remote desktop<br>
scenario, where he moved the mouse and the window moved with it.<br>
<br>
> There have been a few requests that iperf 2 measure the "bytes thrown away" per a fork (user moves a video pointer, etc.) I haven't come up with a good test yet. I'm still trying to get basic awareness about existing latency, OWD and responsiveness metrics. I do think measuring the amount of resources spent on stale data is sorta like food waste, few really pay attention to it.<br>
><br>
> Bob<br>
><br>
> FYI, iperf 2 supports TCP_NOTSENT_LOWAT for those interested.<br>
><br>
> --tcp-write-prefetch n[kmKM]<br>
> Set TCP_NOTSENT_LOWAT on the socket and use event based writes per select() on the socket.<br>
><br>
><br>
> On Thu, Oct 20, 2022 at 11:32 AM Stuart Cheshire via Make-wifi-fast <<a href="mailto:make-wifi-fast@lists.bufferbloat.net" target="_blank">make-wifi-fast@lists.bufferbloat.net</a>> wrote:<br>
>><br>
>> On 20 Oct 2022, at 02:36, Sebastian Moeller <<a href="mailto:moeller0@gmx.de" target="_blank">moeller0@gmx.de</a>> wrote:<br>
>><br>
>> > Hi Stuart,<br>
>> ><br>
>> > [SM] That seems to be somewhat optimistic. We have been there before, short of mandating actually-working oracle schedulers on all end-points, intermediate hops will see queues some more and some less transient. So we can strive to minimize queue build-up sure, but can not avoid queues and long queues completely so we need methods to deal with them gracefully.<br>
>> > Also not many applications are actually helped all that much by letting information get stale in their own buffers as compared to an on-path queue. Think an on-line reaction-time gated game, the need is to distribute current world state to all participating clients ASAP.<br>
>><br>
>> I’m afraid you are wrong about this. If an on-line game wants low delay, the only answer is for it to avoid generating position updates faster than the network carry them. One packet giving the current game player position is better than a backlog of ten previous stale ones waiting to go out. Sending packets faster than the network can carry them does not get them to the destination faster; it gets them there slower. The same applies to frames in a screen sharing application. Sending the current state of the screen *now* is better than having a backlog of ten previous stale frames sitting in buffers somewhere on their way to the destination. Stale data is not inevitable. Applications don’t need to have stale data if they avoid generating stale data in the first place.<br>
>><br>
>> Please watch this video, which explains it better than I can in a written email:<br>
>><br>
>> <<a href="https://developer.apple.com/videos/play/wwdc2015/719/?time=892" rel="noreferrer" target="_blank">https://developer.apple.com/videos/play/wwdc2015/719/?time=892</a>><br>
>><br>
>> Stuart Cheshire<br>
>><br>
>> _______________________________________________<br>
>> Make-wifi-fast mailing list<br>
>> <a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br>
>> <a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a><br>
><br>
><br>
> This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it._______________________________________________<br>
> Make-wifi-fast mailing list<br>
> <a href="mailto:Make-wifi-fast@lists.bufferbloat.net" target="_blank">Make-wifi-fast@lists.bufferbloat.net</a><br>
> <a href="https://lists.bufferbloat.net/listinfo/make-wifi-fast" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/make-wifi-fast</a><br>
<br>
<br>
<br>
-- <br>
This song goes out to all the folk that thought Stadia would work:<br>
<a href="https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-6981366665607352320-FXtz" rel="noreferrer" target="_blank">https://www.linkedin.com/posts/dtaht_the-mushroom-song-activity-6981366665607352320-FXtz</a><br>
Dave Täht CEO, TekLibre, LLC<br>
</blockquote></div>

<br>
<span style="background-color:rgb(255,255,255)"><font size="2">This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.</font></span>