[tcpm] Introduce RFC 6937 bis (Proportional Rate Reduction) as a tcpm work item? INPUT NEEDED

Matt Mathis <mattmathis@google.com> Thu, 19 November 2020 03:56 UTC

Return-Path: <mattmathis@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 2B3DC3A09BB for <tcpm@ietfa.amsl.com>; Wed, 18 Nov 2020 19:56:17 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.589
X-Spam-Level:
X-Spam-Status: No, score=-17.589 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, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01, 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 SEj7n0sKEzeL for <tcpm@ietfa.amsl.com>; Wed, 18 Nov 2020 19:56:14 -0800 (PST)
Received: from mail-io1-xd32.google.com (mail-io1-xd32.google.com [IPv6:2607:f8b0:4864:20::d32]) (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 7A3103A09B7 for <tcpm@ietf.org>; Wed, 18 Nov 2020 19:56:14 -0800 (PST)
Received: by mail-io1-xd32.google.com with SMTP id o11so4475059ioo.11 for <tcpm@ietf.org>; Wed, 18 Nov 2020 19:56:14 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=1GZeKcyPTEZpoPIYBozvaI8+vj0cffGln8Ys2i4QmMo=; b=l56CK/hMOTFHZc1ord+3GL1gmpxzG7u+uD6TWWJXCWPtU4IWHfFjGx6wpIVaJ7Kx8p gm7Kv53Yp0ve+Mc/BRvU00K/xpQ5EWskY8sdYnAQUkcGMGWMpIDNgNRt5Poq2B2o04xF w3iDZcIv+UhIam4J4gwfiD8gPw+QsdzVEykjJqO1d0CfIv60SLSPRxU8W1iyuox7MV1w 5OgwKe7D/NN7DG3T6BDLmRgUQHql8sxm0yPpEy3gdWXdSj+00O5swcA8OSzOEqyE6eSx dlzXpAOwCZpsWqV4bq90o43bavXRpZIxho9oxBwBGkkrvYS+J9Q89IAiXhbuzxxu0RAP +lSA==
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=1GZeKcyPTEZpoPIYBozvaI8+vj0cffGln8Ys2i4QmMo=; b=fIkDNAfpq5WacwOoSiHAwlIASOvp2AFDpWmxwNgMEYH6r6tNDRSlth5Gg0eS5pzm0S b2wMgn8gAHmBVkNAM+i1WCbDA7IzDoJlNZgTnHB7qD9rB/Afwa+eFcmQyL4b8gsGoVP8 Tgz4Nem3/GmuRgOei2fPjgxzCA7rurt2NmXssOjIjlR3+jdkBIbrnDVYSPNWIs98ckqV LFFOluzum61CeLbEKbLZSBf3rG5YpzgspBMvVNobZYix/deNYtROpPhbNhYpI0mG6r0A GtJMPV3s902ttMCY8Zd1VFEVC8xFAEq9nw9VXShtfhCF93kFb0Ciuax5PsLRvmTOlDd0 fz3g==
X-Gm-Message-State: AOAM530XtSeTvRzTO62AtB8PnPTafVXBGvWZDWU/+k2/zXsankLqDiQy 5rntKz9yIX7HfP6IMct2VmyJNgAiE2eeDnwHlKsqKGTgdt0=
X-Google-Smtp-Source: ABdhPJznwsxEQ+osQlAj07NXJUVZqQzAtl235TSn4z3JWUwjHemdgJGYiFkpGC9ju/87ssUwHl8iqTTl0iyvvWGo8iY=
X-Received: by 2002:a5d:964a:: with SMTP id d10mr14784931ios.5.1605758172486; Wed, 18 Nov 2020 19:56:12 -0800 (PST)
MIME-Version: 1.0
From: Matt Mathis <mattmathis@google.com>
Date: Wed, 18 Nov 2020 19:56:00 -0800
Message-ID: <CAH56bmCkmtvqTRaEC-AFd-_W1nWeE0JE9SMt=w8E5JoHvvnVtQ@mail.gmail.com>
To: tcpm IETF list <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000077d42405b46db515"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/ZyvEj_LUcd-MTWjdajNfqre-jLg>
Subject: [tcpm] Introduce RFC 6937 bis (Proportional Rate Reduction) as a tcpm work item? INPUT NEEDED
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, 19 Nov 2020 03:56:17 -0000

The authors of PRR would like to update PRR to Proposed Standard status.
This entails introducing a new document as an tcpm work item.

*Please indicate (non) support and/or comment.*

For more details see the tcpm meeting materials from IETF 109
minutes:
https://datatracker.ietf.org/meeting/109/materials/minutes-109-tcpm-00
slides: https://tools.ietf.org/html/draft-mathis-tcpm-rfc6937bis-00

There were about four "I support this work" remarks at the mic (not
recorded in the minutes), and about as many in the Meetecho chat.

Abridged IETF/tcpm/PRRbis slides:
--
PRR  recap (RFC6937 experimental)
PRR is a special congestion control effective only during fast recovery

   - When inflight >= ssthresh, send at loss_beta*rate_before_loss (e.g.
   loss_beta = 0.5 for Reno (aka rate-halving), 0.7 for Cubic)
   - When inflight < ssthresh, send at the same or twice the delivery_rate
   (more later)
   - Used by all congestion control modules in Linux during fast recovery
      - Can be more dominant than the actual C.C. for lossy flows that’re
      in fast recovery constantly (e.g. video streaming through policers)

--
Current Status

   -

   PRR is widely deployed
   -

      At least three major OSs: Linux, Windows, (NetFlix) BSD
      -

      Vast majority of Web traffic for years
      -

   No changes to algorithms published in RFC 6937
   -

      PRR-CRB - Conservative Reduction Bound - strict packet conversion
      during loss recovery
      -

      PRR-SSRB - Slowstart Reduction Bound - one extra segment per ACK
      during loss recovery
      -

   2015 Heuristic to dynamically select which reduction bound
   -

      Only use PRR-SSRB when making good forward progress
      -

         ACKs that advanced snd.una and report no new losses
         -

      Resolves some pathological cases with token bucket policers
      -

         CC estimates ssthresh before it can possibly measure the token rate
         -

         The heuristic makes the best of a bad situation

--
Tentative path forward

   -

   Adopt as a tcpm work item
   -

   Update the text
   -

      Normative RFC 2119 language
      -

      Add MAY use the heuristic...
      -

      Trim redundant and obsolete language
      -

         RFC 6937 repeats itself and is much longer than necessary
         -

         Focus on what an implementer needs to know
         -

         Use non-normative references to RFC 6937 for prior measurement
         work, etc

Thanks,
--MM--
The best way to predict the future is to create it.  - Alan Kay

We must not tolerate intolerance;
       however our response must be carefully measured:
            too strong would be hypocritical and risks spiraling out of
control;
            too weak risks being mistaken for tacit approval.