Re: [tcpm] Request for feedback on WG adoption of draft-balasubramanian-tcpm-hystartplusplus-03

Neal Cardwell <ncardwell@google.com> Thu, 14 May 2020 15:14 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 594413A0AC3 for <tcpm@ietfa.amsl.com>; Thu, 14 May 2020 08:14:08 -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 ruQvs7MJir4b for <tcpm@ietfa.amsl.com>; Thu, 14 May 2020 08:14:06 -0700 (PDT)
Received: from mail-vk1-xa34.google.com (mail-vk1-xa34.google.com [IPv6:2607:f8b0:4864:20::a34]) (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 50A913A0AD7 for <tcpm@ietf.org>; Thu, 14 May 2020 08:14:06 -0700 (PDT)
Received: by mail-vk1-xa34.google.com with SMTP id v23so848363vke.13 for <tcpm@ietf.org>; Thu, 14 May 2020 08:14:06 -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=WccJAMZme9/f4DUcwDr6eztDOMfWiVCWRLuJ34uOeYw=; b=dXI6FWk0kaRzbZoCof3Z4BtdwqazWqJztFpt0uXiajm3C7lShPidtw1Rs86kY5ditq IKbO1g9k6mm8ZWRG8fu98zt9NdgjCVEXbpWV3qGPbj1Z8xn4SCjfXOKuQ97VfDPfsYuq n4ciLOQEme+pdbd2s9W4FKDkS4HMEJPfh4ESvXofDBY4V8S80W/7yH4sDOICB0uioeYI YgPuRSqrdee8XuoHPALz7kcF2BX6NHWyEzZAWCvQ+xpme2PJe2VzSOx8PMf1sIneUGJl k+nFoTnMGDhv0GFLpV3c7gDnqvy8kQKKo5g1xLxh2JrO8cxqr1cJumgqw8+FBqgZoJ+S 5Chw==
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=WccJAMZme9/f4DUcwDr6eztDOMfWiVCWRLuJ34uOeYw=; b=mb+09jTDIZterPCw3USk/l5ZOHd4ODPG99voxUl4YoNy71legmdciqHfeX0OLMVWYs DUFkljtFMEej3r/BUuQsBLfyJMYeGP2hdl2xOQwfP+JV69eQCt+5Cr7Snz3PdtN+d3eo d29JLgWNMpoAuDMKsoaBm2j4HtJlMAYGcT+Ia1JWHm5kh3oDGaoccZi89xA1bpEeiUJN W4G2xcTTsQq5tAobUkPh5eLtAobBQhki/VDmBpTuCr5I91AkCnvb1SzxlbNQ+oU1Wd+Z r05Y1w4aSoBFIuN0py7eR3Atk+5Cx6r1Tr8m5u8zNg+Rp1DyeN9PsrwHJhFhcbOqo1mv Wang==
X-Gm-Message-State: AOAM532QFXNjklE/LaNIYFsyf6f+nhunQf8ManA0/qHZS4vX0ioUy3m3 vxL9qcxieosaVdanXQF3R5+wBJFaQa41C9yinId16w==
X-Google-Smtp-Source: ABdhPJxs31Kkek3PWziLC5LvjoR2OjvVeFbmkRXPVAUvssSPycdAJ1+hRWB5pQAorIuZLRChBtTZKc0plMPsH14Wtvs=
X-Received: by 2002:a1f:54c5:: with SMTP id i188mr2531792vkb.4.1589469244825; Thu, 14 May 2020 08:14:04 -0700 (PDT)
MIME-Version: 1.0
References: <D963CFA8-5851-40EE-BA70-2522BB99C1C1@fh-muenster.de> <B581E2C0-D2EF-4AAE-951B-27A404A6427F@icir.org>
In-Reply-To: <B581E2C0-D2EF-4AAE-951B-27A404A6427F@icir.org>
From: Neal Cardwell <ncardwell@google.com>
Date: Thu, 14 May 2020 11:13:47 -0400
Message-ID: <CADVnQykh+Srg++Yp2-c5yh8ikVHgBQvxDWeLpOp=7B3XV1Vz6g@mail.gmail.com>
To: Mark Allman <mallman@icir.org>
Cc: Michael Tuexen <tuexen@fh-muenster.de>, tcpm IETF list <tcpm@ietf.org>, draft-balasubramanian-tcpm-hystartplusplus@ietf.org
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/K7-2jCqWjVrkdqsnLr0wdcNfQ38>
Subject: Re: [tcpm] Request for feedback on WG adoption of draft-balasubramanian-tcpm-hystartplusplus-03
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: Thu, 14 May 2020 15:14:08 -0000

"On Thu, May 14, 2020 at 8:06 AM Mark Allman <mallman@icir.org> wrote:
>
>
> > this mail starts a WG adoption call for
> > https://tools.ietf.org/html/draft-balasubramanian-tcpm-hystartplusplus-03
> >
> > The intended status would be PS.
>
> Per note from the other day, I think this could get there, but the
> current document doesn't offer enough (any, really) motivation that
> suggests HyStart++ is useful or effective.  Since I can't figure
> that out, I can't support the document for WG adoption at the moment
> (and especially so at PS).

Fair enough. However, I would urge that these concerns be addressed in
future editorial revisions, but that we not allow them to derail
progress toward WG adoption working toward PS for
draft-balasubramanian-tcpm-hystartplusplus-03.

I would make several arguments for WG adoption, working toward the PS
level, for draft-balasubramanian-tcpm-hystartplusplus-03:

(1) From previous production experience with large-scale Internet
services, our team has seen that Hystart is very important in reducing
packet loss rates from new flows entering the public Internet. So
Hystart is important and very useful on a technical level.

(2) The original Hystart has already been ubiquitously deployed on the
Internet for a decade, since it has been default-enabled in Linux TCP
for a decade (as part of the default-enabled CUBIC congestion control
module for Linux). Just as it was important, IMHO, to document the
core CUBIC algorithm in RFC8312, I think it's important to document
some version of Hystart as an RFC.

(3) At an algorithmic level, I see several important improvements that
Hystart++ makes over the original Hystart; at least:

  (a) using only the delay-based variant of Hystart, and not the
ack-train-based variant of Hystart (the ack-train-based variant our
team has also found is liable to false positives, especially with
paced flows)

 (b) "mitigating poor performance which can result from false
positives when HyStart is used alone", by ensuring that after
triggering Hystart++, a connection increases its cwnd at least as fast
as Limited Slow Start allows.

  (c) decoupling the delay-based algorithm from the global min_rtt of
the connection, and instead using lastRoundMinRTT

Presuming that multiple implementations or deployments can validate
that these changes are indeed resulting in good performance, I think
it would be good to document this improved version, Hystart++, rather
than the 10-year-old original Hystart.

(4) Yes, there are magic numbers in Hystart++, but (aside from the new
LSS_DIVISOR)  those other four magic numbers are all identical to the
magic numbers in the Hystart code that has been doing a good job of
improving performance for much of the traffic on the Internet for the
last decade (see (2)). So the fact that the magic numbers are not
discussed or justified is a point that can be cleared up in the
editing process, and IMHO need not delay progress through the RFC
process. I would argue that, like the constants used for SRTT and RTO
calculations, in the future we could try to do more science to try
other values and quantify the performance of the alternative values,
but long-term experience has shown that these magic values work well
enough in practice, and thus we do not need to bikeshed them now, and
so we should not let the magicness of these numbers hold back their
publication as a PS RFC. We should just document the rationale for
each magic number in the RFC, and explain in the document that they
have stood the test of time and wide deployment/use. Slides at the
meetings can quantify the performance impact of alternative values.

best regards,
neal