mbox series

[net-next,0/2] tcp_bbr: Improving TCP BBR performance for WiFi and cellular networks

Message ID 20190123200454.260121-1-priyarjha@google.com
Headers show
Series tcp_bbr: Improving TCP BBR performance for WiFi and cellular networks | expand

Message

Priyaranjan Jha Jan. 23, 2019, 8:04 p.m. UTC
Ack aggregation is quite prevalent with wifi, cellular and cable modem
link tchnologies, ACK decimation in middleboxes, and common offloading
techniques such as TSO and GRO, at end hosts. Previously, BBR was often
cwnd-limited in the presence of severe ACK aggregation, which resulted in
low throughput due to insufficient data in flight.

To achieve good throughput for wifi and other paths with aggregation, this
patch series implements an ACK aggregation estimator for BBR, which
estimates the maximum recent degree of ACK aggregation and adapts cwnd
based on it. The algorithm is further described by the following
presentation:
https://datatracker.ietf.org/meeting/101/materials/slides-101-iccrg-an-update-on-bbr-work-at-google-00

(1) A preparatory patch, which refactors bbr_target_cwnd for generic
    inflight provisioning.

(2) Implements BBR ack aggregation estimator and adapts cwnd based
    on measured degree of ACK aggregation.

Priyaranjan Jha (2):
  tcp_bbr: refactor bbr_target_cwnd() for general inflight provisioning
  tcp_bbr: adapt cwnd based on ack aggregation estimation

 include/net/inet_connection_sock.h |   4 +-
 net/ipv4/tcp_bbr.c                 | 180 +++++++++++++++++++++++++----
 2 files changed, 161 insertions(+), 23 deletions(-)

Comments

Eric Dumazet Jan. 24, 2019, 4:36 p.m. UTC | #1
On 01/23/2019 12:04 PM, Priyaranjan Jha wrote:
> Ack aggregation is quite prevalent with wifi, cellular and cable modem
> link tchnologies, ACK decimation in middleboxes, and common offloading
> techniques such as TSO and GRO, at end hosts. Previously, BBR was often
> cwnd-limited in the presence of severe ACK aggregation, which resulted in
> low throughput due to insufficient data in flight.
> 
> To achieve good throughput for wifi and other paths with aggregation, this
> patch series implements an ACK aggregation estimator for BBR, which
> estimates the maximum recent degree of ACK aggregation and adapts cwnd
> based on it. The algorithm is further described by the following
> presentation:
> https://datatracker.ietf.org/meeting/101/materials/slides-101-iccrg-an-update-on-bbr-work-at-google-00
> 
> (1) A preparatory patch, which refactors bbr_target_cwnd for generic
>     inflight provisioning.
> 
> (2) Implements BBR ack aggregation estimator and adapts cwnd based
>     on measured degree of ACK aggregation.
> 
> Priyaranjan Jha (2):
>   tcp_bbr: refactor bbr_target_cwnd() for general inflight provisioning
>   tcp_bbr: adapt cwnd based on ack aggregation estimation
> 
>  include/net/inet_connection_sock.h |   4 +-
>  net/ipv4/tcp_bbr.c                 | 180 +++++++++++++++++++++++++----
>  2 files changed, 161 insertions(+), 23 deletions(-)
> 

Very nice work Priyaranjan
Thanks !

Signed-off-by: Eric Dumazet <edumazet@google.com>
David Miller Jan. 25, 2019, 6:27 a.m. UTC | #2
From: Priyaranjan Jha <priyarjha@google.com>
Date: Wed, 23 Jan 2019 12:04:52 -0800

> Ack aggregation is quite prevalent with wifi, cellular and cable modem
> link tchnologies, ACK decimation in middleboxes, and common offloading
> techniques such as TSO and GRO, at end hosts. Previously, BBR was often
> cwnd-limited in the presence of severe ACK aggregation, which resulted in
> low throughput due to insufficient data in flight.
> 
> To achieve good throughput for wifi and other paths with aggregation, this
> patch series implements an ACK aggregation estimator for BBR, which
> estimates the maximum recent degree of ACK aggregation and adapts cwnd
> based on it. The algorithm is further described by the following
> presentation:
> https://datatracker.ietf.org/meeting/101/materials/slides-101-iccrg-an-update-on-bbr-work-at-google-00
> 
> (1) A preparatory patch, which refactors bbr_target_cwnd for generic
>     inflight provisioning.
> 
> (2) Implements BBR ack aggregation estimator and adapts cwnd based
>     on measured degree of ACK aggregation.

Looks great.

Series applied, thanks!