[tcpm] Review: draft-balasubramanian-tcpm-hystartplusplus-01
Martin Duke <martin.h.duke@gmail.com> Wed, 08 January 2020 20:58 UTC
Return-Path: <martin.h.duke@gmail.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 A3F2A12021C for <tcpm@ietfa.amsl.com>; Wed, 8 Jan 2020 12:58:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 Y6DLxeb1UTx9 for <tcpm@ietfa.amsl.com>; Wed, 8 Jan 2020 12:58:12 -0800 (PST)
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com [IPv6:2a00:1450:4864:20::329]) (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 F0BD812012A for <tcpm@ietf.org>; Wed, 8 Jan 2020 12:58:11 -0800 (PST)
Received: by mail-wm1-x329.google.com with SMTP id b19so417273wmj.4 for <tcpm@ietf.org>; Wed, 08 Jan 2020 12:58:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=njDPFFOtMgWz2/R01MFqLqlfupMPEP1MQ73Ux2X6Opc=; b=HncYI3Vv4wFcT13h5QeorqchLBEI4s9nr1T73R6uJGKQOeAUzpSf8T1EJ2Jd24e5km 8JBO0pt0WiDQRvz5aob/1XquOcdfCR0Pwj47e/OVQlTHCKdXyLAI2COHiQgxKdV7Qmiq WQpNQPapEvirdFsDlG5m1J1FC3kRPzFS229/pMFJKo+bBhxFIiI+V/NQNBfWhvInpvlD Jdomlt89GahtK1LJFVYCx5hFpSIU6iBY+1t+qOguEspVRsMJyxMQjdMPoz8H/3rLVJ39 gqkKcXdpD0+cuFR9aud0mhXKhqULwSQgVIJzlMmOydCMCf+xRva+N+Io9ShtaxN2293D bfQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=njDPFFOtMgWz2/R01MFqLqlfupMPEP1MQ73Ux2X6Opc=; b=nMtl/eaCW+Qhv4XNilvVhNzf6Af0n3NVJoU0gxgR7vJed+lJMNw48F02A96UGT5FYE /ThO0OxMHTovodNyTj1/86yqM/fTf0gGHgZ//GSc262MViXVA9n9Ph4lzFZZazOc8l+C DMQsydeiQlcMwrQh0FKmu5C5wEuW/C0D5ql+06/qLMtaHJlPZbmdh8nwBuo+a3R3EfC4 iJ0gdT4x+IgR0JdT+iSYSJjVSeB/NHMzXGA7/+BdrvRyWQBzazeDAPZInQh5hNOi915W 1XCHIeltCH54OZ+ZAZtTpuun8XmIywhbB5lrK93OB3AhXCqFTGBUifs/+uBHLWRxVCg3 VjCQ==
X-Gm-Message-State: APjAAAVo/1tno3wS0fjfQSpNMnA5BUdcoClKuEC6Mw9zMCSIoE371xAQ /tph7ceWWlEcxQ+/ZF1PLve+8Zopa6ACI24ldDCcHBRe9b8=
X-Google-Smtp-Source: APXvYqyCVkHS7bfGW9OCpgMfuZJFHsja75YMP/vy58p3OO5fokn34KPefF6XpZ4rswLL1iO9qOKjuDwXFG3mTGK72z8=
X-Received: by 2002:a05:600c:2c13:: with SMTP id q19mr578801wmg.144.1578517090290; Wed, 08 Jan 2020 12:58:10 -0800 (PST)
MIME-Version: 1.0
From: Martin Duke <martin.h.duke@gmail.com>
Date: Wed, 08 Jan 2020 12:57:58 -0800
Message-ID: <CAM4esxT1_dCoRFvnrN3u7Wjxw9vj4WoQ5dQ4oo2qay8cef+ZaQ@mail.gmail.com>
To: "tcpm@ietf.org Extensions" <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000705223059ba726ab"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/RH0fsDarhZJs5HfGh7AZSNOg2q0>
Subject: [tcpm] Review: draft-balasubramanian-tcpm-hystartplusplus-01
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, 08 Jan 2020 20:58:14 -0000
Hi Praveen, Thanks for writing this up. It's great to hear what's actually happening out there with major implementations. 1. I think this draft has a somewhat uncomfortable relationship with ABC (RFC 3465), which for some reason is still Experimental. In each description of Slow Start (Sec 1 and 3.2) you say one MSS per ack, which is the non-ABC Reno behavior. But then the actual LSS algorithm uses bytes counted. Note that for a non-ABC implementation that also uses HyStart++, this means an LSS_DIVISOR as low as 0.5 can cause LSS to be *more* aggressive than regular slow start if the receiver acks every other packet. In the non-RFC but common case where ACKs are aggregated even more aggressively, LSS can be more aggressive than slow start for arbitrarily low divisor values. I'm not sure the design has to change, but there ought to be some discussion of these considerations. 2. in section 3.2, you set the ssthresh to cwnd upon entering LSS. But then later you say "HyStart++ ends when cwnd exceeds ssthresh..." which by definition is immediately. I think you mean the normal Reno/Cubic ssthresh; perhaps it would be better to invent a new name for the value that is used in computing K. Similarly, I don't believe MIN_SSTHRESH has any relationship to the conventional ssthresh (i.e. it is not a minimum) and therefore should also be renamed. 3. Section 3.3 could use some further considerations for setting these parameters. In particular, values of LSS_DIVISOR > 1 will be more aggressive than slow start, at least for low values of cwnd/ssthresh. Depending on the result of #1 above, the warning may need to be for a lower value. 4. Though not necessary to make this draft worthwhile, some data from Microsoft's deployment showing the value of this would be helpful. If I were to try to sell this feature to our customers, they would probably want to see that it was providing benefits to large traffic generators rather than backing off for the good of the internet. In particular, I wonder whether Reno/Cubic is fair to Hystart++ as regular slow start would seem to cause LSS to cut the throttle. Nits: - Please spell out SMSS before using it. - Title of 3.3: s/Constant/Constants - 3.3. You are little sloppy with units. MIN_SSTHRESH is clearly measured in bytes in Sec 3.2 but is reported in segments in this section. Martin