Re: [tsvwg] thoughts on operational queue settings (Re: CC/bleaching thoughts for draft-ietf-tsvwg-le-phb-04)

Brian E Carpenter <brian.e.carpenter@gmail.com> Thu, 12 April 2018 20:28 UTC

Return-Path: <brian.e.carpenter@gmail.com>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 59C61129C6E for <tsvwg@ietfa.amsl.com>; Thu, 12 Apr 2018 13:28:38 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, RCVD_IN_DNSWL_NONE=-0.0001, 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 hYvwiB72ExKU for <tsvwg@ietfa.amsl.com>; Thu, 12 Apr 2018 13:28:36 -0700 (PDT)
Received: from mail-pl0-x230.google.com (mail-pl0-x230.google.com [IPv6:2607:f8b0:400e:c01::230]) (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 2E1601273B1 for <tsvwg@ietf.org>; Thu, 12 Apr 2018 13:28:36 -0700 (PDT)
Received: by mail-pl0-x230.google.com with SMTP id b6-v6so4660692pla.11 for <tsvwg@ietf.org>; Thu, 12 Apr 2018 13:28:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=ZEZwC7xmVbAyr+donqKd2f7oAgWHbhDl/Oynp4IpLxk=; b=M3BTrF5JHHYcMogbKgpw6OIBFR7MXTJYkcU0fTOSsaC6P7fhnx7N5lhlkmbH/BbYmr Cgz3AIj/sd39/TvYdOEJps4HcuEEfT+EvuiM7HDsjREDyhxcyOdMx7mpX8Mxd0g7eL/G qvoKyxYvwBGGZjD0/vXMXT/Tyws/Dbq8GQbXysoNzIzmsFrmmlOj3v25hLSK39JKysZ6 qJlB/kMXkvks+n//wJzDc4htdn7j5OAbbXFskCD6x7bU4l/1UsEYKH+HedIqfJVSPEKr nOsF6GgUti8lZFazAeXGwAttVpZDM2c4kODQLfaNQ+H2j9OwSpnpj1pB1J39IGEyjaPq 4OLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ZEZwC7xmVbAyr+donqKd2f7oAgWHbhDl/Oynp4IpLxk=; b=tKa4zESLPkw+tS9Wfjvwh36x63QtGLpTC3z97deEZ/AZzevb3z4CMQMnZtNlfvm8j4 R0G051guYDDqM7uCj/4qbkMmTjyKAefxHMSxWL1HDHjVrpAngE5vK0J44sYgXVo5r7EW goSp9xcnV75CqWFmn3/lO8nlmdeIG3HGEId8UzyWjcpwds+Ck+l8OOJxXQDShmHj6HUd PIeSH2l4AjfvH8fNa6oy53+PHn7nCDvMM8k0g+5uddXgI5bcQjX3sG5phv0COzZ8fAf5 soJ0pLPZ3SAudPyTIMLgZQqxuqEr9J0+7vhQ84yB5moH3m58ssBK7AGoTSnE/4NhQEj4 Upcw==
X-Gm-Message-State: ALQs6tA5h6u0TEhvsjsYT6TThGAIB/xsdhIUDq1LBZ/a56wBxpKxaK2Y BymypXK9ZRI/fE5EcUyPCBme3w==
X-Google-Smtp-Source: AIpwx4/JRzHcNqmkG0PqSESJcgKo8vl8wN7uky/GlHTMAprtvf63EFk61LBxUTMY0vqncPLhvau3+g==
X-Received: by 2002:a17:902:654b:: with SMTP id d11-v6mr2525154pln.196.1523564915499; Thu, 12 Apr 2018 13:28:35 -0700 (PDT)
Received: from [192.168.178.26] ([118.148.68.60]) by smtp.gmail.com with ESMTPSA id u68sm8630220pfu.167.2018.04.12.13.28.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 Apr 2018 13:28:34 -0700 (PDT)
Sender: Brian Carpenter <becarpenter46@gmail.com>
To: Mikael Abrahamsson <swmike@swm.pp.se>
Cc: tsvwg@ietf.org
References: <20180406160344.xwfqgzhzfto56jhq@faui48f.informatik.uni-erlangen.de> <5252b232-13df-fb19-227f-95694572b86c@kit.edu> <20180412012544.tmnzec3zddlyrmlb@faui48f.informatik.uni-erlangen.de> <39fb9195-b46f-945f-d414-936f97a59d87@gmail.com> <alpine.DEB.2.20.1804120818210.18650@uplift.swm.pp.se>
From: Brian E Carpenter <brian.e.carpenter@gmail.com>
Message-ID: <d7232866-9301-071a-bd9e-ac59bd99b5c3@gmail.com>
Date: Fri, 13 Apr 2018 08:28:37 +1200
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <alpine.DEB.2.20.1804120818210.18650@uplift.swm.pp.se>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/ML_4gWKpQ29tR82iHeSjlJBxs6c>
Subject: Re: [tsvwg] thoughts on operational queue settings (Re: CC/bleaching thoughts for draft-ietf-tsvwg-le-phb-04)
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Apr 2018 20:28:38 -0000

Mikael,

Very interesting, always nice to hear from the real world. You do
prove one of my favourite sayings: "You can't beat queueing theory".

> I don't think it's a good idea to give CS1/LE no bandwidth at all, that 
> might cause failure cases we can't predict. I prefer to give LE traffic a 
> big disadvantage, so that it might only get 5-10% or something of 
> bandwidth, when there is competing traffic.

Firstly, of course the downside of misusing the CS1 codepoint for LE
is that you might damage traffic intended to use precedence 1 (i.e. better
than default). But secondly, indeed 100% loss of LE will cause
application layer failure - LE applications are *supposed* to fail
when the network is too busy. However, without a router having specific
handling for LE, what you describe seems pretty logical.

Regards
   Brian

On 12/04/2018 18:39, Mikael Abrahamsson wrote:
> On Thu, 12 Apr 2018, Brian E Carpenter wrote:
> 
>> BE and LE PHBs should talk about queueing and dropping behaviour, not 
>> about capacity share, in any case. It's clear that on a congested link, 
>> LE is sacrificed first - peak hour LE throughput might be precisely 
>> zero, which is not acceptable for BE.
> 
> I have received questions from operational people for configuration 
> examples for how to handle LE/BE etc. So I did some work in our lab to 
> give some kind of example.
> 
> So my first goal was to figure out something that'd do something 
> reasonable on a platform that'll only do DSCP based RED (as this is 
> typically available on platforms going back 15 years). This is not 
> optimal, but at least it would be deployable on lots of platforms 
> currently installed and moving packets for customers.
> 
> The test was performed with 30ms of RTT, 10 parallel TCP sessions per 
> diffserv RED curve, 800 megabit/s access speed (it's really gig, but in my 
> lab setup I have some contraints that meant if I set it to gig I might get 
> some uncontrolled packet loss due to other equipment sitting on the same 
> shared link, so I opted for 800 megabit/s as "close enough").
> 
> What I came up with that would give LE ~10% of access bandwidth compared 
> to BE, and a slight advantage for anything that is not BE/LE (goal was to 
> give this traffic a lossless experience) was this:
> 
> This is a Cisco ASR9k that without this RED configuration will buffer 
> packets up to ~90 milliseconds, resulting in 120ms RTT (30ms path RTT and 
> 90ms buffer-bloat).
> 
>   class class-default
>    shape average 800 mbps
>    random-detect dscp 1,8 1 ms 500 ms
>    random-detect dscp 0,2-7 5 ms 1000 ms
>    random-detect dscp 9-63 10 ms 1000 ms
> 
> This basically says that for LE and CS1, start dropping packets at 1ms of 
> buffer fill. Since some applications use CS1 for scavanger, it made sense 
> to me to treat CS1 and LE the same.
> 
> For BE (which I made to be DSCP 0,2-7), start dropping packets at 5ms 
> buffer fill, less agressively compared to LE.
> 
> For the rest, don't start dropping packets until 10ms buffer fill, giving 
> it slight advantage (thought here being that gaming traffic etc should not 
> see much drops even though they will see some induced RTT because of BE 
> traffic).
> 
> This typically results in LE using approximately 30-50 megabit/s when 
> there are 10 LE TCP sessions and 10 BE TCP sessions, all trying to go full 
> out. The BE sessions then get ~750 megabit/s. The added buffer delay is 
> around 5-10ms as that's where the BE sessions settle their BW usage. 
> Platform unfortunately doesn't support ECN marking.
> 
> If I were to spend queues on this traffic instead of using RED, I would do 
> this differently. I will do more tests with lower speeds etc, this was 
> just initial testing for one use-case, but also to give an example of what 
> can be done on currently shipping platforms. I know there are much better 
> ways of doing this, but I want this into networks NOW, not in 5-10 years. 
> So the easier the advice, the better chance we get this into production 
> networks.
> 
> I don't think it's a good idea to give CS1/LE no bandwidth at all, that 
> might cause failure cases we can't predict. I prefer to give LE traffic a 
> big disadvantage, so that it might only get 5-10% or something of 
> bandwidth, when there is competing traffic.
> 
> I will do more testing, I have several typical platforms available to me 
> that are in wide use.
>