DUALPI2 - Low Latency, Low Loss and Scalable (L4S) AQM

Speakers

Olga Albisser, Koen De Schepper, Bob Briscoe, Olivier Tilmans, Henrik Steen

Label

Nuts-n-Bolts

Session Type

Talk

Contents

Description

We implemented the ‘DUALPI2 AQM’ as a Linux qdisc, and
submitted the patch to the net-next mailing list. In
this talk, we would like to present the details of
DUALPI2 implementation and explain which problems it
can solve. The largest benefit of our solution is the
ability to deploy congestion controls like DCTCP on the
public Internet and allow a mix of DCTCP and Internet
congestion controls in the Data Center. The
standardization of the DualPI2 AQM and the way the Low
Latency, Low Loss and Scalable traffic (L4S) is
identified, are being finalized in the IETF.

Traditionally, classic loss-based congestion controls
like Cubic or Reno need a relatively “large” queue to
utilize the network efficiently and with reasonable
loss levels. These large queues introduce unnecessary
delay. Like in Data Centers, the problem can be
partially solved by using scalable congestion controls
that can use shallow immediate ECN marking thresholds
instead of loss as congestion signal. But then, another
problem is introduced - classic and scalable TCP
congestion controls are not able to coexist without
classic TCP starving itself. This starvation occurs due
to the difference in how classic and scalable
congestion controls respond to congestion signals. We
explain how DUALPI2 solves this problem and can be used
to mix Internet and Datacenter TCP traffic both on the
Internet and in Data Centers, without compromising on
neither the ultra-low latency performance of DCTCP, nor
the Reno/Cubic throughput performance. It uses a
scheduler with only 2 queues, coupled for fairness, and
a classifier that uses only IP header inspection, being
transport protocol independent (supporting TCP, SCTP,
QUIC, …).