Re: [tcpm] On Sender Control of Delayed Acks in TCP

Neal Cardwell <ncardwell@google.com> Wed, 29 April 2020 21:08 UTC

Return-Path: <ncardwell@google.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8B1FA3A1804 for <tcpm@ietfa.amsl.com>; Wed, 29 Apr 2020 14:08:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.6
X-Spam-Level:
X-Spam-Status: No, score=-17.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YrS_rp4BG8tG for <tcpm@ietfa.amsl.com>; Wed, 29 Apr 2020 14:08:11 -0700 (PDT)
Received: from mail-ej1-x644.google.com (mail-ej1-x644.google.com [IPv6:2a00:1450:4864:20::644]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9E4883A1802 for <tcpm@ietf.org>; Wed, 29 Apr 2020 14:08:10 -0700 (PDT)
Received: by mail-ej1-x644.google.com with SMTP id k8so2822984ejv.3 for <tcpm@ietf.org>; Wed, 29 Apr 2020 14:08:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ny7X+PNkhiOZjA6reOB74Nuo+fW7y0kHI28xbDcyOlo=; b=ragffGD+YpwJ+4lbM0WmAalCjeyGWI6xRs+hm96W7y6a61rXut5uY0YuiCP10Gc898 T6SB8FdjK51sYq/JGC3NaZbKudNbP1Aqa/TwfIxsjJklVGAv5IflivZaHfEBEY/rvUMO +v5UwC6UOmSQkgRTQBrJMJPUiww1rrY1r2Z5F+bXuaLy2T7okO6mXMFnjovD8/oEKx7e u4ie/UMIt6qi6qeOlx2mh4NCYS95z37GF7ycre9LHK+pRYuVRmBYc1qu+5oqsvOoaRSP dljKrf3p3IhVEMeW7Uf02zrlXy4C4dZRbHD7C0rV4nQz9XCBhsYN8imlhRAjh5beVBr/ LRwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ny7X+PNkhiOZjA6reOB74Nuo+fW7y0kHI28xbDcyOlo=; b=alYpv+9jCEHvhmwgVQfgEO3i8RmrvZyqIN7KlRYNIh3ZGBASpmbDBKuQAsiyuJHKUZ 9fOjsZPofpNx6HTr5YHsiRMB80d0fzzyutNBBrqnfIWn6Um2hofJMnELCMu/Dl7/dDTP ZsefFY1fnbS6gqRcbht6PAzbQ2G7v9MC8wsZY7/9shqJ8l1orvZ1FAckwz+7WtbY0LP9 8d9QKboCSO4BqYP1i3obkO3L75LQVkXzEW3Fm+znaUztxGsHLelHJMGBBm3BecrCSTND eAxY/7z2yrk52uV7fzUsQx8ZN5teeLk72WSDGNpEaIa7tIPxL8qMldaAnLhyS0O45QRs iBfg==
X-Gm-Message-State: AGi0PuZEmbSUVegAIWkxJ3qW9e091o6lMyAd2E6D+OyORaQjSjt/3bni KICkuyiS+rMSKQ/GffS+bsEQlMm5EQvQWTlzYyVNRw==
X-Google-Smtp-Source: APiQypILzN/k0+jXP3YhN1zrAZ03FN7ynRhcV0I/WHb2V5tAmkXcJIkP+lBU7heQ7NgcHI0Ofap7xl+AABkYLWqA3gk=
X-Received: by 2002:a17:906:74c:: with SMTP id z12mr4608748ejb.87.1588194488179; Wed, 29 Apr 2020 14:08:08 -0700 (PDT)
MIME-Version: 1.0
References: <683902e8-a2af-cfb7-ffd0-c5c5742e5bd5@gmx.at>
In-Reply-To: <683902e8-a2af-cfb7-ffd0-c5c5742e5bd5@gmx.at>
From: Neal Cardwell <ncardwell@google.com>
Date: Wed, 29 Apr 2020 17:07:51 -0400
Message-ID: <CADVnQykY3OqXy=RcEfa-OpfK2x=W5_FTrdrx7PvKuqgEt92uNw@mail.gmail.com>
To: "Scheffenegger, Richard" <rs.ietf@gmx.at>
Cc: "tcpm@ietf.org" <tcpm@ietf.org>, Gorry Fairhurst <gorry@erg.abdn.ac.uk>, carlesgo@entel.upc.edu, Bob Briscoe <ietf@bobbriscoe.net>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/IJ7hiubUJbOSVS11GbiuxIQVlEQ>
Subject: Re: [tcpm] On Sender Control of Delayed Acks in TCP
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 29 Apr 2020 21:08:14 -0000

On Wed, Apr 29, 2020 at 1:03 PM Scheffenegger, Richard <rs.ietf@gmx.at> wrote:
> Eliciting an ACK under certain circumstances, for a timely continuation
> of the data transmission / growth of the congestion window is a known
> method to reduce network delay.
>
> E.g. Linux has been using the CWR flag for the purpose of sending out an
> immediate ACK by the receiver, since there is an increased chance of a
> very small cwnd when the sender had just reduced it's congestion window.
>
> https://lore.kernel.org/patchwork/patch/970486/
>
> and we also found latency improvements doing this when running
> ECN-enabled sessions
>
> https://reviews.freebsd.org/D22670

Yes, agreed.

IMHO an explicit ACK-pull mechanism would be very nice for the cwnd<=1 case.

In datacenter networks the BDPs tend to be so small, and the numbers
of flows can be so large, that it's not unusual for a flow's fair
share of the BDP to be one packet or less. If the flows want to
maintain low queuing delays, then ideally they would be able to reduce
their cwnd to 1 packet (or effectively even lower, with pacing). But
the current behavior of TCP delayed ACKs often causes terrible delays
with a cwnd of 1.

The Linux TCP approach of sending an immediate ACK upon receiving a
packet with CWR set (see Richard's link above) helps a lot with this
case. But that's a non-standard heuristic, and doesn't help for
senders that have a congestion control that does not use ECN CWR
signals (e.g. Accurate ECN). Unless I'm missing something, it seems
like endpoints using Accurate ECN are going to run into this same
latency issue. To avoid this, I guess they may want to either use a
cwnd >= 2, or make use of some new explicit ACK-pull mechanism.

best,
neal