Hi Jonathan,
> On Nov 30, 2019, at 02:39, Jonathan Morton <chromati...@gmail.com> wrote: > >> I don't see what you gain by going after the Prague requirements. They're >> internal requirements for a TCP that would fulfill the L4S goals if >> classified into the L4S side of a DualQ AQM: 'Packet Identification' means >> that the L4S AQM can identify L4S supporting flows. This seems like a >> distraction from your main pitch to me. It would seem better to compare >> against the actual goals of L4S (AFAICT, low latency at the 99th percentile, >> in the presence of Reno-compatible flows, with some fairness requirement >> which I increasingly don't understand). > > We're certainly not treating the Prague Requirements as our only goals. We > just looked over them and realised we do sufficiently well on them already to > compare favourably against L4S. They are failing on their own merits. Like > it or not, we are somewhat in competition with them in IETF space, so this > sort of comparison should help to bolster our standing. > > A brief summary of the Prague Requirements: > > > 1: Packet Identifier. > > We ID ourselves as RFC-3168 compliant using ECT(0), because we are. > > L4S has to identify itself more specifically to the network, because it is > *not* RFC-3168 compliant. It additionally relies on AQMs in the network > understanding this distinction, which at present none do. We would much > prefer that they use a DSCP for this purpose, but at present they use ECT(1). > > > 2: Accurate ECN Feedback. > > We use a spare bit in the header of TCP acks to feed back SCE marks, and the > existing ECE/CWR mechanism from RFC-3168 unchanged for CE marks. The SCE > feedback is "accurate" but not "reliable", because it can tolerate large > errors (as much as 100% relative) without departing the control loop. The > scheme is very simple and straightforward to implement at the receiver, and > interpret at the sender. > > L4S uses AccECN to give CE mark feedback that is both "accurate" and > "reliable". It is a somewhat complex specification which takes over three > TCP header bits, including the two used for RFC-3168 feedback. Question: How feasible would it be for any SCE aware transport protocol to evaluate AccECN? This might make sense if not viewed from a technical but from a ietf politics perspective? I personally believe, that if the ECN feedback woukd e really important it should be packeged into TCP data as the payload has some delivery guarantees, while ACKs are effectively best effort (tangent: and this is why I consider ACK filtering/compression as abominations which should be counted against any guarantee the contract with the traffic-carrier entails, not that this helps end customers). > > > 3: TCP-friendly response to packet loss. > > Both SCE and L4S do this without difficulty. > > > 4: TCP-friendly response to RFC-3168 CE marking. > > SCE does this by design, retaining the existing feedback mechanism for CE > marks and implementing an RFC-8511 (ABE) compliant response in each of the > TCP algorithms presented so far. We can do this easily because CE and SCE > information from the network is unambiguous. > > L4S presently does not do this, largely because CE marks from RFC-3168 AQMs > are not easily distinguished vice CE marks from an L4S AQM. They seem to be > working on some sort of solution, but it has not yet been demonstrated to > work, and their paper describing it leaves a lot of open questions (including > tuning constants). That we saw no demonstration of it at IETF-106 (indeed > they even skipped over their planned talk on it in a side session dedicated > to L4S) suggests to me that they found flaws that were difficult to overcome > at short notice, and possibly even managed to look bad next to our > demonstration of jitter tolerance at the Hackathon. I fear that they will come up with something that in reality will a) by opt-out, that is they will assume L4S-style feedback until reluctantly convinced that the bottleneck marker is rfc3160-compliant and hence wib) trigger too late c) trigger to rarely to be actually helpful in reality, but might show a good enough effort to push L4S past issue #16. > > This point has always been the main difference between L4S and SCE. > ll > > 5: Reduced RTT dependence > > This is a mathematically interesting requirement which, at present, neither > L4S nor SCE meets. > > Fundamentally, any two flows following the same congestion-signal response > which makes average cwnd dependent solely on marking probability, and which > share the same bottleneck queue and AQM and therefore experience the same > marking probability, will converge to the same average cwnd and their > relative throughputs will therefore be inversely proportional to their RTTs. > This adequately describes both the pure AIMD response of Reno, and the > so-called 1/p response of DCTCP (which TCP Prague apes slavishly). > > The steady-state cwnd formula for CUBIC, however, is a function of both p(CE) > and RTT, such that its throughput should be proportional to the reciprocal > quartic root of RTT, rather than linearly reciprocal. This assumes that > CUBIC is not in its Reno compatibility regime, of course. So CUBIC is the > standard to beat, or at least match, for this requirement. "Funny" story, looking at figure 6 of Høiland-Jørgensen T, Hurtig P, Brunstrom A (2015) The Good, the Bad and the WiFi: Modern AQMs in a residential setting. Computer Networks 89:90–106. shows clearly that a) single queue Pie (the AQM L4S inflicts upon at least the standard compliant traffic) causes worse RTT dependence than pfifo_fast and that fq_codel actually does (mostly) better, so by avoiding FQ like the devil, the L4S team shoots their own foot. Best Regards Sebastian > > As I mentioned, I have an idea for how to do this. I've seen no evidence > that the L4S team have any equivalent ideas; again, they're failing their own > requirements. > > > 6: Scale down to fractional effective cwnd. > > We technically achieve this with our preferred choice of pacing parameters, > reducing send rate to 80% of a segment per RTT at the min-cwnd of 2 segments. > We could easily do better with different pacing ratios. > > L4S have apparently implemented a packet size adjustment. We haven't tried > it out yet, but we'll take their word for it for the moment. There's no > inherent technical reason why we couldn't do the same. > > > 7: Reordering tolerance on time basis (ie. RACK). > > Both SCE and L4S inherit this capability from the Linux TCP stack, so it's > not a problem. FreeBSD also has a RACK compliant TCP stack which is being > stabilised. > > > Other criteria which we are actively considering are listed in, for example, > RFC-5033. That makes a fun read if you're a masochist; I wonder about Pete > sometimes. :-) > > - Jonathan Morton > > _______________________________________________ > Ecn-sane mailing list > ecn-s...@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/ecn-sane _______________________________________________ Bloat mailing list Bloat@lists.bufferbloat.net https://lists.bufferbloat.net/listinfo/bloat