Sebastian Moeller wrote: > Hi Benjamin, > > To go off onto a tangent: > > On Jun 12, 2015, at 06:45 , Benjamin Cronce > <[email protected]> wrote: > >> [...] >> Under load while doing P2P(About 80Mb down and 20Mb up just as I started >> the test) HFSC: P2P in 20% queue and 80/443/8080 in 40% queue with ACKs >> going to a 20% realtime queue http://www.dslreports.com/speedtest/622452 > > I know this is not really your question, but I think the ACKs should go > into the same queue as the matching data packets. Think about it that way, > if the data is delayed due to congestion it does not make too much sense > to tell the sender to send more faster (which essentially is what ACK > prioritization does) as that will not really reduce the congestion but > rather increase it. There is one caveat though: when ECN is used it might > make sense to send out the ACK that will signal the congestion state back > to the sender faster… So if you prioritize ACKs only select those with an > ECN-Echo flag ;) @bloat : What do you all think about this refined ACK > prioritization scheme?
I'd say that this is wrongly attempting to bind upstream congestion to downstream congestion. Let's have two endpoints, A and B. There exists a stream sent from A towards B. If A does not receive an ack from B in a timely manner, it draws inference as to the congestion on the path _towards_ B. Prioritizing acks from B to A thus makes this _more accurate to reality_ - a lost ack (rather than the absence of an ack due to a lost packet) actually behaves as misinformation to the sender, causing them to 1.) back off sending when the sending channel is not congested and 2.) resend a packet that _already arrived_. The latter point is a big one: Prioritized ACKs (may) reduce spurious resends, especially on asymmetric connections - and suprious resends are pure network inefficiency. Especially since the data packets are likely far larger than the ACKs. Which would _also_ get resent. _______________________________________________ Bloat mailing list [email protected] https://lists.bufferbloat.net/listinfo/bloat
