[iccrg] LEDBAT++, rLEDBAT, and slowdowns
Neal Cardwell <ncardwell@google.com> Wed, 24 July 2019 00:36 UTC
Return-Path: <ncardwell@google.com>
X-Original-To: iccrg@ietfa.amsl.com
Delivered-To: iccrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EA7761200B9 for <iccrg@ietfa.amsl.com>; Tue, 23 Jul 2019 17:36:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.501
X-Spam-Level:
X-Spam-Status: No, score=-17.501 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, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-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 2W7Cbp6eaBTU for <iccrg@ietfa.amsl.com>; Tue, 23 Jul 2019 17:36:28 -0700 (PDT)
Received: from mail-oi1-x22b.google.com (mail-oi1-x22b.google.com [IPv6:2607:f8b0:4864:20::22b]) (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 C9B0B1209A8 for <iccrg@irtf.org>; Tue, 23 Jul 2019 17:36:28 -0700 (PDT)
Received: by mail-oi1-x22b.google.com with SMTP id v186so33739384oie.5 for <iccrg@irtf.org>; Tue, 23 Jul 2019 17:36:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=cJrfn2s7QBndfBHSEElzeSU3JuCBJwE1gVQVCxUmXnM=; b=KWr1OasCty2o/3TpOCfWfwwxAiM7i5OWS0mWmb8/RAMgn1bmCJPa7Qf4reS4YyvI2x izxIaO3rxPOMWXOC/7aYLLuPEkvvMBrerMBpD2QuaT0AAhvIKjSwsfO+N+IK3b5JwI0d 9h/xSsCEpSFMMxmXT7VO8oiQvtnRlYsBBmh9SVUYY98ASh8pceR70dORvpi1NC8hA0i4 zPSd8VuELvZIyE5eFTM8W3MICyAdQkYZ9+zEdJsqnb7y3zQptHSda3s77Z8iQLs9KmL0 AL7Y9ITOlToTMN41hcXrJwtTHhCUiiHwzCrPJZEed4wfYIZ7YIWg6uBNLt9hPklQLRso cjTw==
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:cc; bh=cJrfn2s7QBndfBHSEElzeSU3JuCBJwE1gVQVCxUmXnM=; b=keM3W91YX9fQzrg50KFqrUTkj6QvRCkL4ARNm/u69xx4vhzfOMW3cqYt0W4dd0pm0P f3wUHkcWizKc+3eKmdoqq5Ui+oMqFK10mLVC7kWcRn98EiwEqkgeD3n9YGbyLrzvY5KE 5VK+M8LxJeF3MAAXpPjNHyK7S4qMzM+SLIs6RQJJkLhLHMl7xL1NDPdirWaT2pmw9j7Z 6KoIyonnYi3SEl9IIRHUpQ0YWjOCIuSukq6BxvPS0GJlZ/bZ2D8XwTleSy23bauZxixL cxTdSi2WtdGMhOyokhFtqTsMICEuFSYuc0ftMBfpnAfOfiRudB9EgH0afUKy4TwIEHzI sMkg==
X-Gm-Message-State: APjAAAWz9XlEnDQuE6XU00S5WN8QJRVy56v37duQLNhBrkXYtex4BNYI 5xLziw7TtymA6PtsCEIzDi/pf6+tk/E9v5tsrYrmyqJSAUaYXpyd
X-Google-Smtp-Source: APXvYqyPjgnwd/MFdJBi7Sl1pdwn8rbI6tJRdu3Qy5jZ1FDByUtRyd4txOPPoi+kwabZy7VaVKZqauWz7V9y89YUAOU=
X-Received: by 2002:aca:4ad2:: with SMTP id x201mr38637055oia.129.1563928587488; Tue, 23 Jul 2019 17:36:27 -0700 (PDT)
MIME-Version: 1.0
From: Neal Cardwell <ncardwell@google.com>
Date: Tue, 23 Jul 2019 20:36:11 -0400
Message-ID: <CADVnQynJY8xkqkghhCWhPpbF+4Ev_3c7OZf_tDEb_J5xr0FV9A@mail.gmail.com>
To: iccrg IRTF list <iccrg@irtf.org>, Praveen Balasubramanian <pravb@microsoft.com>, marcelo bagnulo braun <marcelo@it.uc3m.es>
Cc: Yuchung Cheng <ycheng@google.com>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/iccrg/Na2BK4aTlin01gIN7O2fQ9H0C04>
Subject: [iccrg] LEDBAT++, rLEDBAT, and slowdowns
X-BeenThere: iccrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Discussions of Internet Congestion Control Research Group \(ICCRG\)" <iccrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/iccrg>, <mailto:iccrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iccrg/>
List-Post: <mailto:iccrg@irtf.org>
List-Help: <mailto:iccrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/iccrg>, <mailto:iccrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jul 2019 00:36:31 -0000
Thanks for today's presentations on LEDBAT++ and rLEDBAT. These are nice work, and I agree they are important improvements on LEDBAT, and worth pursuing as working group efforts, with a goal of standardizing these algorithms in some form. I had two related questions on slowdowns: (1) Regarding LEDBAT++ and slowdowns: https://tools.ietf.org/html/draft-balasubramanian-iccrg-ledbatplusplus-00#section-4.4 To try to avoid latency drift in the base delay, the LEDBAT++ design describes periodic slowdowns that cut cwnd to 2 packets. As far as I'm aware, the only way the flows would be able to refresh an accurate notion of the base delay would be if there is at least one slowdown during the base delay filter window in which the bottleneck queue is essentially empty. But if a LEDBAT++ flow has a fair share of the BDP that is less than the depth of the queue, then having that flow remove all of its packets from the path, by itself, will not fully drain the bottleneck queue (the packets from the remaining flows that are not in slowdown will be enough to fill the pipe and create a non-zero queue, obscuring the base delay). So AFAICT uncoordinated slow-downs won't drain the queue; then the only approach I can think of to achieve this would be for the flows to coordinate in some fashion to all do a slowdown during overlapping time intervals (as in BBR's PROBE_RTT mechanism). But AFAICT in the design described in the draft, if there are many flows then I did not see a mechanism described in the draft that would achieve this. The IETF 100 LEDBAT++ slides show a multi-flow example, on page 14: https://datatracker.ietf.org/meeting/100/materials/slides-100-iccrg-ledbat-low-priority-tcp-congestion-control-in-windows-01 But that example has just two flows. And two flows is an easy case for this kind of scheme: if there are two flows that are sharing a link equally, then when one of them stops sending then this will almost always drain the queue quite well. Do you have test results you can share with more flows, showing how the slowdown mechanism works for cases with more flows? Or is there a way to add more text in the draft to explain how the slowdown design in LEDBAT++ handles this issue already? (2) The rLEDBAT draft: https://tools.ietf.org/html/draft-bagnulo-iccrg-rledbat-00 mentions: "rLEDBAT estimates the Base RTT (i.e. the RTT when there is no queuing delay) as the minimum observed RTT in the last n minutes." However it doesn't seem to mention a slowdown mechanism to try to refresh the estimate of the base RTT. Does it have such a mechanism? AFAICT rLEDBAT, like LEDBAT++, would need a mechanism to do a coordinated cut in cwnds, like BBR's PROBE_RTT mechanism, if multiple rLEDBAT flows are to all maintain a good estimate of the base RTT of the path. Any thoughts on that question? Apologies if I'm missing something on either of these issues. :-) And thank you both for presenting these respective algorithms. I think both algorithms are important advances, and standardizing something like each of them would be valuable for the community. thanks, neal
- [iccrg] LEDBAT++, rLEDBAT, and slowdowns Neal Cardwell
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns marcelo bagnulo braun
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Neal Cardwell
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns marcelo bagnulo braun
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns marcelo bagnulo braun
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Neal Cardwell
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Neal Cardwell
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Matt Mathis
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns marcelo bagnulo braun
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns marcelo bagnulo braun
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns marcelo bagnulo braun
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Bless, Roland (TM)
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Neal Cardwell
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Neal Cardwell
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Luca Muscariello
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns marcelo bagnulo braun
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Bless, Roland (TM)
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Luca Muscariello
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Michael Welzl
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Luca Muscariello
- Re: [iccrg] LEDBAT++, rLEDBAT, and slowdowns Praveen Balasubramanian