<div dir="ltr">Is there a paper or spec for RPM?<div><br></div><div>There are at least two different ways to define RPM, both of which might be relevant.</div><div><br></div><div>At the TCP layer: it can be directly computed from a packet capture.  The trick is to time reverse a trace and compute the critical path backwards through the trace: what event triggered each segment or ACK, and count round trips.  This would be super robust but does not include the queueing required in the kernel socket buffers.  I need to think some more about computing TCP RPM from tcp_info or other kernel instrumentation - it might be possible.<br><div><br></div><div>A different RPM can be done in the application, above TCP, for example by ping-ponging messages.  This would include the delays traversing the kernel socket buffers which have to be at least as large as a full network RTT.</div><div><br></div><div>This is perhaps an important point: due to the retransmit and reassuebly queues (which are required to implement robust data delivery) TCP must be able hold at least a full RTT of data in it's own buffers, which means that under some conditions the RTT as seen by the application has be be at least twice the network's RTT, including any bloat in the network.  </div><div><br clear="all"><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>Thanks,</div>--MM--<br>The best way to predict the future is to create it.  - Alan Kay<br><br>We must not tolerate intolerance;</div><div dir="ltr">       however our response must be carefully measured: </div><div>            too strong would be hypocritical and risks spiraling out of control;</div><div>            too weak risks being mistaken for tacit approval.</div></div></div></div></div></div></div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jun 12, 2021 at 9:11 AM Rich Brown <<a href="mailto:richb.hanover@gmail.com" target="_blank">richb.hanover@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 Jun 12, 2021, at 12:00 PM, <a href="mailto:bloat-request@lists.bufferbloat.net" target="_blank">bloat-request@lists.bufferbloat.net</a> wrote:<br>
> <br>
> Some relevant talks / publicity at WWDC -- the first mentioning CoDel,<br>
> queueing, etc. Featuring Stuart Cheshire. iOS 15 adds a developer test for<br>
> loaded latency, reported in "RPM" or round-trips per minute.<br>
> <br>
> I ran it on my machine:<br>
> nowens@mac1015 ~ % /usr/bin/networkQuality<br>
> ==== SUMMARY ====<br>
> Upload capacity: 90.867 Mbps<br>
> Download capacity: 93.616 Mbps<br>
> Upload flows: 16<br>
> Download flows: 20<br>
> Responsiveness: Medium (840 RPM)<br>
<br>
Does anyone know how to get the command-line version for current (not upcoming) macOS? Thanks.<br>
<br>
Rich<br>
_______________________________________________<br>
Bloat mailing list<br>
<a href="mailto:Bloat@lists.bufferbloat.net" target="_blank">Bloat@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/bloat" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/bloat</a><br>
</blockquote></div>