On 2/6/2025 8:15 PM, Martin Thomson wrote:
On Fri, Feb 7, 2025, at 13:53, Neal Cardwell wrote:
[...] (X less than, say, 10ms), then it may be worth the user's
5G cell phone modem buffering received packets for X milliseconds to
try to deliver in-order data to the receiver if this can be done in a
low-latency manner.
These decisions have knock-on effects (what if every hop in the chain were to 
do the same?), but that does sound reasonable on the surface of it.  That is, 
there might be some value where spending that time on restoring order is more 
productive than exposing the receiver to the out of order stuff.  It's possible 
that retransmissions on a short hop of a link fit that.  It's possible that 
reordering at that layer is - in the aggregate - more efficient, though I'm 
less convinced of that.

Actually, +- 10ms does have bad effects. It creates jitter, and it will throw time-based congestion control algorithms out of whack. I saw that first hand when testing Cubic, and especially Hystart, on an LTE connection. Hystart will mistake a jitter event for a sudden increase of the queuing delay, get out of Slow-Start early, and then the Cubic algorithm will take a long time to recover. The occasional 10ms for L2 error correction may seem right at first sight, the error correction might help some ancient implementation of TCP, but it does hurt some modern implementations of Cubic and Hystart.

However, I would suggest that this is only true if the 10ms would otherwise be 
gainfully occupied by the receiver OR the receiver would not be able to use the 
data 10ms faster.  If the receiver is eager for work to do, then why deprive it 
of that opportunity?  If you don't know, why presume?

Yes. When the network tries to "help the end points", that ends up counter productive more often than not.

-- Christian Huitema

Reply via email to