[Lsr] Dynamic flow control for flooding

Tony Li <tony.li@tony.li> Tue, 23 July 2019 13:34 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 1297A12006D for <lsr@ietfa.amsl.com>; Tue, 23 Jul 2019 06:34:33 -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, 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
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 Ii-2kMcpNgul for <lsr@ietfa.amsl.com>; Tue, 23 Jul 2019 06:34:31 -0700 (PDT)
Received: from mail-vs1-f41.google.com (mail-vs1-f41.google.com [209.85.217.41]) (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 6AB48120033 for <lsr@ietf.org>; Tue, 23 Jul 2019 06:34:31 -0700 (PDT)
Received: by mail-vs1-f41.google.com with SMTP id u3so28767094vsh.6 for <lsr@ietf.org>; Tue, 23 Jul 2019 06:34:31 -0700 (PDT)
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=+QiECiXZx7OKK3zhSKGuLxenrFm5gj+jZCz0uoKV/iM=; b=c0+09ECI3ao5AeuGsvpNoo3zjGFQ8ICJRlCBXiHV7miK/vrVCg8C6mB+CaMrnR/sDu pgssVTPfL+IREy+Foc3y8pYXrr+EYp89cxs+ht/1fbEwewIxzSRW8dJdAbMuscj6x20G u60iPbqiig61IEn2S3f5oRfXjOnjWOsf/q5RrvXHk8G9L3XWdvbTObUMJ3LYnJ18ah5k 2Q070MfnTdHXPY49n5HVEf91dTmFjGIXFdY7iRODayRmaE9xFuyEXDFSIaHxuP2VcyhO 8Gt/3AxvzI8Ckagq5YRtafLUsW2uiNUxwz4UWHroo9tsRvCa8GcQKTsJWAcOmnwdc1EJ twkw==
X-Gm-Message-State: APjAAAXZAIrkwv61cWjDzhVDUZRp2TSgxQT67lBwnaL2zbCkTbpazmPy 5q863DB1AG9FTUV5/7+mJKclRSPKW/CplwgURpWUBfsK
X-Google-Smtp-Source: APXvYqxABqDnH7tuv+ujOb59SV7nEnhj2JeHs5wAw2dW8Xn5Atjr/K51UMTSm6dPj8h4CR5dpJ42mSskHnuD+shlX0g=
X-Received: by 2002:a67:2bc4:: with SMTP id r187mr6114092vsr.102.1563888870211; Tue, 23 Jul 2019 06:34:30 -0700 (PDT)
MIME-Version: 1.0
From: Tony Li <tony.li@tony.li>
Date: Tue, 23 Jul 2019 09:34:19 -0400
Message-ID: <CAMj-N0LdaNBapVNisWs6cbH6RsHiXd-EMg6vRvO_U+UQsYVvXw@mail.gmail.com>
To: "lsr@ietf.org" <lsr@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000093c728058e594095"
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/T0Y_ivCMckdpjikjYFm6Ub4pk9A>
Subject: [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: Tue, 23 Jul 2019 13:34:33 -0000

Hi all,

I’d like to continue the discussion that we left off with last night.

The use case that I posited was a situation where we had 1000 LSPs to
flood. This is an interesting case that can happen if there was a large
network that partitioned and has now healed.  All LSPs from the other side
of the partition are going to need to be updated.

Let’s further suppose that the LSPs have an average size of 1KB.  Thus, the
entire transfer is around 1MB.

Suppose that we’re doing this on a 400Gb/s link. If we were to transmit the
whole batch of LSPs at once, it takes a whopping 20us.  Not milliseconds,
microseconds.  2x10^-5s.  Clearly, we are not going to be rate limited by
bandwidth.

Note that 20us is an unreasonable lower bound: we cannot reasonably expect
a node to absorb 1k PDUs back to back without loss today, in addition to
all of it’s other responsibilities.

At the opposite end of the spectrum, suppose we transmit one PDU every
33ms.  That’s then going to take us 33 seconds to complete. Unreasonably
slow.

How can we then maximize our goodput?  We know that the receiver has a set
of buffers and a processing rate that it can support. The processing rate
will vary, depending on other loads.

What we would like the transmitter to do is to transmit enough to create a
small processing queue on the receiver and then transmit at the receiver’s
processing rate.

Can we agree on this goal?

Tony