Re: [Lsr] Dynamic flow control for flooding

tony.li@tony.li Wed, 24 July 2019 22:20 UTC

Return-Path: <tony1athome@gmail.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1F8E7120372 for <lsr@ietfa.amsl.com>; Wed, 24 Jul 2019 15:20:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.558
X-Spam-Level:
X-Spam-Status: No, score=-1.558 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.091, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=no 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 rayUB0q13CHE for <lsr@ietfa.amsl.com>; Wed, 24 Jul 2019 15:20:20 -0700 (PDT)
Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) (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 8C8201202EC for <lsr@ietf.org>; Wed, 24 Jul 2019 15:20:20 -0700 (PDT)
Received: by mail-pg1-x52b.google.com with SMTP id l21so21898267pgm.3 for <lsr@ietf.org>; Wed, 24 Jul 2019 15:20:20 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=x+vlOAPiSj4jvUM7KTTOisK//EBglNUL+Je3J/1ROC0=; b=tqT1jgNdZ2Qreya24GT/qDaQ/IZdFYT+GHunZuZPP/7FN49ynCcWZWlPorl36MfvEr 1eT7ATKp+Zs513ZKhNtNLtUpRZkyWYqFmeh98VD2WD2yHiturM4eLWTstkUAcxk6yqxX piRlQw+xOmbU0r1vvI9YzlX+EJ9eoeCs1k6KT5akHSKsQZI1Ih1KEigGNmAlxeuUPKHU AfbgDobB2/PBQaU3nloFSXU51xpClzjbcUsvtRt/obVYqfJWQVE+EsjcE4QNQvKylF7b YH6fynGyXsD/StEU7W7tq4IerVdVj20DHQZNKej/9KgghIQ93JTu+pmzGWfVDZfEcjxP FlgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=x+vlOAPiSj4jvUM7KTTOisK//EBglNUL+Je3J/1ROC0=; b=um8crHwC/wF/+8VpxkzP9BRoigZbHREZzgWt3cN1v53S6ytGpWBY8hD7xQX4ySBG1+ Ud1nznYxe22XZsl0namzBr3nFvYb3W3sYDc2wEfJkq1L/5sWii++Ctuvh1IFroC98kpi nh5Ks+Kp82my0SdL9S5PAMAc79qbybGBURNxkBJvKbUXbMCiGh6IlCkP3vo2GwKgFcCt D6bTbYcnSocpn3LLlukfMqkp79rbZ4qqxIvPNlPf3JeJNx0lg5GbDjk3WfdcyDiM/itg /KwA8qZ2HlahJZPBbOhj7Ns87zJ82Gsn6nrTK5dbLyfxLA/9yXyPVlga6QO9jfW+Deia nW1g==
X-Gm-Message-State: APjAAAWeD0krN2/L7nCoxTZL+uBk2hBPBeWONtThRGQcdYGXu0+XdxSp KBAqRazrz1yoDB17qpWXq+o=
X-Google-Smtp-Source: APXvYqynukIlIQJcN+YFp3h5zR+Ry/hF3P4lMrK/+YMDY13LkbwhsdhJNLEa/d5/f2DBHsTVjlCYfg==
X-Received: by 2002:a17:90a:2190:: with SMTP id q16mr86831244pjc.23.1564006819904; Wed, 24 Jul 2019 15:20:19 -0700 (PDT)
Received: from [172.22.228.115] ([162.210.130.3]) by smtp.gmail.com with ESMTPSA id z63sm14833114pfb.98.2019.07.24.15.20.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Jul 2019 15:20:19 -0700 (PDT)
Sender: Tony Li <tony1athome@gmail.com>
From: tony.li@tony.li
Message-Id: <723895D3-028F-40B0-A40D-01C5471CD3A5@tony.li>
Content-Type: multipart/alternative; boundary="Apple-Mail=_98456B7B-A9D7-48F8-824A-871D5FE95EE1"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Wed, 24 Jul 2019 15:20:18 -0700
In-Reply-To: <BYAPR11MB363873CFAF558329DE1AEB7CC1C60@BYAPR11MB3638.namprd11.prod.outlook.com>
Cc: "lsr@ietf.org" <lsr@ietf.org>
To: Les Ginsberg <ginsberg@cisco.com>
References: <CAMj-N0LdaNBapVNisWs6cbH6RsHiXd-EMg6vRvO_U+UQsYVvXw@mail.gmail.com> <BYAPR11MB36382C89363202D1B5659614C1C70@BYAPR11MB3638.namprd11.prod.outlook.com> <593D6ED8-A568-4B41-8882-3D32A6D0111F@tony.li> <BYAPR11MB36381F5B3EC20BC8BE2217D5C1C60@BYAPR11MB3638.namprd11.prod.outlook.com> <63EC078F-795D-4A20-9EBC-F87EE28C5EAB@tony.li> <BYAPR11MB3638734DA7246449F68FB7F2C1C60@BYAPR11MB3638.namprd11.prod.outlook.com> <C748D21A-26EF-4AA4-B5C8-307016E0638B@tony.li> <BYAPR11MB363873CFAF558329DE1AEB7CC1C60@BYAPR11MB3638.namprd11.prod.outlook.com>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/nZuV01dEJBCOh-LsU1SG2UbmCWU>
Subject: Re: [Lsr] Dynamic flow control for flooding
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jul 2019 22:20:23 -0000

Les,


> This thread reminds me of how easy it is to miscommunicate – and I bear some of the responsibility for that.


Communications takes two.  The receiver must also be focused on the input. My bad too.


> I don’t see anything in there about changing the PSNP signaling rate.  From your comments to Henk, I infer that you’re open to changing that rate.
> [Les:] The proposal in the slides is simply an example/straw man. I did not spend a lot of time on it – in fact in the first draft of the slides I did not even provide a proposal. It certainly needs more refinement.
> It is meant only to illustrate how we can do things w/o requiring the receive side to do calculations for which the raw data may be difficult and w/o requiring new TLVs.


Understood.  The difficulty in implementation is not our primary concern and something of a chicken and egg situation: if we do not ask to get the data about the input critical path, we will not get it.

We’ve had a very similar situation with IP option handling: IP header options used to be very, very rare, so the first generation of forwarding ASICs passed off options for software-based forwarding. This made options slow.  IPv6 designers then decided that options were slow, so they weren’t going to use options.  ;-)

If we need data from the platform silicon, then we should ask for it.  We’re not going to get it if we don’t ask.  And without specifics about what’s going on, we’re not going to make good approximations to the optimal rate.


> As soon as you do that, you’re now providing receiver based feedback and creating flow control.  You’re accepting that rates will vary per interface.
>  
> [Les:] Yes – but only when we know that continuing to send at a high rate isn’t useful. It isn’t meant to fix things (as I keep emphasizing) and in a network that works as intended it should never be necessary.


Ok, below you say that you’re willing to be aggressive.  But being aggressive means that we WILL push things into flow control.


> What you’re NOT doing is providing information about the receiver’s input queue and requested input rate.  With less information, the transmitter can only approximate the optimal rate and your proposal seems like a Newton’s method approach to determining that rate.  
>  
> [Les:] For all of the implementations I have worked on (5 now – across 3 different vendors – not all still available 😊 ) such information is not easily determined. Buffer pools are shared among many components, input queues may have multiple stages not all of which are visible to the routing protocol. Plus, since once flow control is needed there is already a problem, this isn’t fixing things – it is just trying to get by.
>  
> A solution which depends on current receiver state “all the time” is hard – and hard to optimize. And I think we don’t need that degree of precision for optimal operation.



No one is suggesting “all the time”.   The point is to provide more information than what’s currently in the PSNP.  The more information the transmitter has, the more accurately it can approximate the optimal transmit rate and maximize goodput.
 

> Your proposal depends on two constants: Usafe and Umax.  How do you know what those are?
>  
> [Les:] Not yet.


That seems like a core problem.


> That’s information about the receiver. 
>  
> [Les:] Happy to agree to that.


Yay!  One more thing that we agree on.  :-)


> I infer that you propose to hard code some conservative values for these.  In my mind, that implies that you will be going more slowly than you could if you had more accurate data.  And pretty much what we’re proposing is that the receiver advertise this type of information so that we don’t have to assume the worst case.  This also is nice because an implementation only has to know about it’s own capabilities.
>  
> [Les:] I expect the values to be aggressive – because the downside of flooding LSPs too fast for (say) a few seconds is small.


Hmmm…. I’m not yet convinced.  Elsewhere on the thread, you said that a good implementation should prioritize receiving IIHs over LSPs and *SNPs.  I concur with that, but in my experience (5 vendors) I only know of one that implemented that in silicon, and that one’s not available (sob!).

Thus, my concern is that without a good approximation for the goodput rate, we will either chronically underestimate, penalizing convergence, or chronically overestimate, risking the stability of the network.

Tony