Re: [babel] RFT: Babel RTT extension in Bird

Juliusz Chroboczek <jch@irif.fr> Sat, 30 April 2022 11:32 UTC

Return-Path: <jch@irif.fr>
X-Original-To: babel@ietfa.amsl.com
Delivered-To: babel@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D7DEC14F741 for <babel@ietfa.amsl.com>; Sat, 30 Apr 2022 04:32:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.9
X-Spam-Level:
X-Spam-Status: No, score=-6.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OQJwY4t2EnCY for <babel@ietfa.amsl.com>; Sat, 30 Apr 2022 04:32:58 -0700 (PDT)
Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1CC3AC14F612 for <babel@ietf.org>; Sat, 30 Apr 2022 04:32:56 -0700 (PDT)
Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 23UBWo9f015807 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Sat, 30 Apr 2022 13:32:50 +0200
Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 23UBWnnm027029; Sat, 30 Apr 2022 13:32:49 +0200
Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 9D08DB68B1; Sat, 30 Apr 2022 13:32:49 +0200 (CEST)
X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr
Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id SSI098afZGtn; Sat, 30 Apr 2022 13:32:47 +0200 (CEST)
Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id 8FD96B68AA; Sat, 30 Apr 2022 13:32:47 +0200 (CEST)
Date: Sat, 30 Apr 2022 13:32:47 +0200
Message-ID: <87czgyvmao.wl-jch@irif.fr>
From: Juliusz Chroboczek <jch@irif.fr>
To: Ondrej Zajicek <santiago@crfreenet.org>
Cc: bird-users@network.cz, babel-users@alioth-lists.debian.net, babel@ietf.org
In-Reply-To: <YmgXJcC9O3Xg7/MJ@finarfin>
References: <87y1zyf15t.fsf@toke.dk> <YmLLO1sZMpg+SM/N@feanor.crfreenet.org> <87tualat7j.wl-jch@irif.fr> <YmgXJcC9O3Xg7/MJ@finarfin>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.1 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset="US-ASCII"
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Sat, 30 Apr 2022 13:32:50 +0200 (CEST)
X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Sat, 30 Apr 2022 13:32:50 +0200 (CEST)
X-Miltered: at korolev with ID 626D1E62.001 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-Miltered: at potemkin with ID 626D1E61.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)!
X-j-chkmail-Enveloppe: 626D1E62.001 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/<jch@irif.fr>
X-j-chkmail-Enveloppe: 626D1E61.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/<jch@irif.fr>
X-j-chkmail-Score: MSGID : 626D1E62.001 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Score: MSGID : 626D1E61.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000
X-j-chkmail-Status: Ham
X-j-chkmail-Status: Ham
Archived-At: <https://mailarchive.ietf.org/arch/msg/babel/cGiOeJ6TYJSX0IccUBZbKlt7DRc>
Subject: Re: [babel] RFT: Babel RTT extension in Bird
X-BeenThere: babel@ietf.org
X-Mailman-Version: 2.1.34
Precedence: list
List-Id: "A list for discussion of the Babel Routing Protocol." <babel.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/babel>, <mailto:babel-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/babel/>
List-Post: <mailto:babel@ietf.org>
List-Help: <mailto:babel-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/babel>, <mailto:babel-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 30 Apr 2022 11:32:59 -0000

>> Yes, it would make sense.  The reason why we calculate an exponential
>> average is that it is cheaper to compute, and works quite well in
>> practice.  The goal here is not to compute an accurate metric, it is to
>> reliably choose the best route: the metric only needs to be accurate
>> enough to ensure that the right route is being picked.

> I guess that how much that works in practice depends on many circumstances.
> 
> For example, consider this case: a mobile device connected by wifi to
> local AP, with VPNs to two endpoints, one local (< 1ms base latency), one
> in different town (~10ms base latency), but the communication is subject
> to wifi latency, which is noisy (mostly ~1ms, but in <5% cases there is
> 100-1000ms spike). Then both exponencial running averages are random
> variables with expected value shifted by 10 ms, but with big enough
> variance than it may often come out in reverse.

It's a little more complicated than that: we don't directly add the RTTs,
we map the smoothed RTT to a a cost (the mapping is not linear), then add
the resulting costs.  As I've said: we've done a lot of tweaking to make
it stable, but unfortunately I don't understand why it works as well as it
does.

Neither disagreeing nor agreeing with your suggestion: I willingly confess
that I don't understand why our algorithm work as well as it does, all I'm
able to do is test, somebody smarter will need to do the theoretical analysis.

-- Juliusz