Re: Fibonaccing CID lengths

Christian Huitema <huitema@huitema.net> Wed, 22 May 2019 17:19 UTC

Return-Path: <huitema@huitema.net>
X-Original-To: quic@ietfa.amsl.com
Delivered-To: quic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA0121201E3 for <quic@ietfa.amsl.com>; Wed, 22 May 2019 10:19:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.6
X-Spam-Level:
X-Spam-Status: No, score=-2.6 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 3fFKYJXJZ7wE for <quic@ietfa.amsl.com>; Wed, 22 May 2019 10:19:55 -0700 (PDT)
Received: from mx43-out1.antispamcloud.com (mx43-out1.antispamcloud.com [138.201.61.189]) (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 73B0F1201C5 for <quic@ietf.org>; Wed, 22 May 2019 10:19:55 -0700 (PDT)
Received: from [66.113.192.14] (helo=xsmtp11.mail2web.com) by mx36.antispamcloud.com with esmtps (TLSv1:AES256-SHA:256) (Exim 4.89) (envelope-from <huitema@huitema.net>) id 1hTUu7-0003PQ-2M for quic@ietf.org; Wed, 22 May 2019 19:19:52 +0200
Received: from [10.5.2.16] (helo=xmail06.myhosting.com) by xsmtp11.mail2web.com with esmtp (Exim 4.63) (envelope-from <huitema@huitema.net>) id 1hTUtz-00031P-F1 for quic@ietf.org; Wed, 22 May 2019 13:19:44 -0400
Received: (qmail 8548 invoked from network); 22 May 2019 17:19:40 -0000
Received: from unknown (HELO [172.16.0.40]) (Authenticated-user:_huitema@huitema.net@[194.168.27.109]) (envelope-sender <huitema@huitema.net>) by xmail06.myhosting.com (qmail-ldap-1.03) with ESMTPA for <quic@ietf.org>; 22 May 2019 17:19:40 -0000
To: Mikkel Fahnøe Jørgensen <mikkelfj@gmail.com>, Dmitri Tikhonov <dtikhonov@litespeedtech.com>, IETF QUIC WG <quic@ietf.org>
References: <20190522141238.GA23472@ubuntu-dmitri> <CAN1APdfBMeKGzsdLR__OLUHQ7pg=YM76C2Qxn6VDCXu680JQyA@mail.gmail.com>
From: Christian Huitema <huitema@huitema.net>
Openpgp: preference=signencrypt
Autocrypt: addr=huitema@huitema.net; prefer-encrypt=mutual; keydata= mQENBFIRX8gBCAC26usy/Ya38IqaLBSu33vKD6hP5Yw390XsWLaAZTeQR64OJEkoOdXpvcOS HWfMIlD5s5+oHfLe8jjmErFAXYJ8yytPj1fD2OdSKAe1TccUBiOXT8wdVxSr5d0alExVv/LO I/vA2aU1TwOkVHKSapD7j8/HZBrqIWRrXUSj2f5n9tY2nJzG9KRzSG0giaJWBfUFiGb4lvsy IaCaIU0YpfkDDk6PtK5YYzuCeF0B+O7N9LhDu/foUUc4MNq4K3EKDPb2FL1Hrv0XHpkXeMRZ olpH8SUFUJbmi+zYRuUgcXgMZRmZFL1tu6z9h6gY4/KPyF9aYot6zG28Qk/BFQRtj7V1ABEB AAG0J0NocmlzdGlhbiBIdWl0ZW1hIDxodWl0ZW1hQGh1aXRlbWEubmV0PokBOQQTAQIAIwUC UhFfyAIbLwcLCQgHAwIBBhUIAgkKCwQWAgMBAh4BAheAAAoJEJNDCbJVyA1yhbYH/1ud6x6m VqGIp0JcZUfSQO8w+TjugqxCyGNn+w/6Qb5O/xENxNQ4HaMQ5uSRK9n8WKKDDRSzwZ4syKKf wbkfj05vgFxrjCynVbm1zs2X2aGXh+PxPL/WHUaxzEP7KjYbLtCUZDRzOOrm+0LMktngT/k3 6+EZoLEM52hwwpIAzJoscyEz7QfqMOZtFm6xQnlvDQeIrHx0KUvwo/vgDLK3SuruG1CSHcR0 D24kEEUa044AIUKBS3b0b8AR7f6mP2NcnLpdsibtpabi9BzqAidcY/EjTaoea46HXALk/eJd 6OLkLE6UQe1PPzQC4jB7rErX2BxnSkHDw50xMgLRcl5/b1a5AQ0EUhFfyAEIAKp7Cp8lqKTV CC9QiAf6QTIjW+lie5J44Ad++0k8gRgANZVWubQuCQ71gxDWLtxYfFkEXjG4TXV/MUtnOliG 5rc2E+ih6Dg61Y5PQakm9OwPIsOx+2R+iSW325ngln2UQrVPgloO83QiUoi7mBJPbcHlxkhZ bd3+EjFxSLIQogt29sTcg2oSh4oljUpz5niTt69IOfZx21kf29NfDE+Iw56gfrxI2ywZbu5o G+d0ZSp0lsovygpk4jK04fDTq0vxjEU5HjPcsXC4CSZdq5E2DrF4nOh1UHkHzeaXdYR2Bn1Y wTePfaHBFlvQzI+Li/Q6AD/uxbTM0vIcsUxrv3MNHCUAEQEAAYkCPgQYAQIACQUCUhFfyAIb LgEpCRCTQwmyVcgNcsBdIAQZAQIABgUCUhFfyAAKCRC22tOSFDh1UOlBB/94RsCJepNvmi/c YiNmMnm0mKb6vjv43OsHkqrrCqJSfo95KHyl5Up4JEp8tiJMyYT2mp4IsirZHxz/5lqkw9Az tcGAF3GlFsj++xTyD07DXlNeddwTKlqPRi/b8sppjtWur6Pm+wnAHp0mQ7GidhxHccFCl65w uT7S/ocb1MjrTgnAMiz+x87d48n1UJ7yIdI41Wpg2XFZiA9xPBiDuuoPwFj14/nK0elV5Dvq 4/HVgfurb4+fd74PV/CC/dmd7hg0ZRlgnB5rFUcFO7ywb7/TvICIIaLWcI42OJDSZjZ/MAzz BeXm263lHh+kFxkh2LxEHnQGHCHGpTYyi4Z3dv03HtkH/1SI8joQMQq00Bv+RdEbJXfEExrT u4gtdZAihwvy97OPA2nCdTAHm/phkzryMeOaOztI4PS8u2Ce5lUB6P/HcGtK/038KdX5MYST Fn8KUDt4o29bkv0CUXwDzS3oTzPNtGdryBkRMc9b+yn9+AdwFEH4auhiTQXPMnl0+G3nhKr7 jvzVFJCRif3OAhEm4vmBNDE3uuaXFQnbK56GJrnqVN+KX5Z3M7X3fA8UcVCGOEHXRP/aubiw Ngawj0V9x+43kUapFp+nF69R53UI65YtJ95ec4PTO/Edvap8h1UbdEOc4+TiYwY1TBuIKltY 1cnrjgAWUh/Ucvr++/KbD9tD6C8=
Message-ID: <ab64bdc2-805b-a86d-c525-41d076deac40@huitema.net>
Date: Wed, 22 May 2019 10:19:38 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
In-Reply-To: <CAN1APdfBMeKGzsdLR__OLUHQ7pg=YM76C2Qxn6VDCXu680JQyA@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------05FD530BC4DE2BF1BE1DA939"
Content-Language: en-US
Subject: Re: Fibonaccing CID lengths
X-Originating-IP: 66.113.192.14
X-Spampanel-Domain: xsmtpout.mail2web.com
X-Spampanel-Username: 66.113.192.14
Authentication-Results: antispamcloud.com; auth=pass smtp.auth=66.113.192.14@xsmtpout.mail2web.com
X-Spampanel-Outgoing-Class: unsure
X-Spampanel-Outgoing-Evidence: Combined (0.15)
X-Recommended-Action: accept
X-Filter-ID: Mvzo4OR0dZXEDF/gcnlw0fbJ1LThpDP3PaEa+mzHFASpSDasLI4SayDByyq9LIhVUZbR67CQ7/vm /hHDJU4RXkTNWdUk1Ol2OGx3IfrIJKywOmJyM1qr8uRnWBrbSAGDcnqpk5VeF3xR4kF6iVwRtbgN zB/4Jkrw1eDLcif59fuTrZj0FJleUq89vtPcS92c/sevPPdLVvjz7b14RFNIS30ONArWHUY/dwk7 0VyeflhfZdf1siwYNJirk4ABKayR03+K7Ju/qxRhvHDAT5LyR61Qv/sjUDXLdm6w1gNv1euKTrwh UfUHUrPvTkTGu7YwVDQ0hbqcLWUbjgHMZS6COdI/uLAeALf3vLWnw0F/4+fmuTv/CYIzmchrGsA6 CN6O7qbWTdT56xh4Rya20+oBtwahqtg42IMQXC/e/thfmehs05Web8nJyEMtLxwhnYinDFrKlNc7 qNKmpnIY9d8cOJUa+B0z/Xg2ESGxDSOWWoTyIUtK8Miz//+1AD61I8sOcFFSGcngeU5u06zO01Ld 6NjlDHh8k6TTdHl8m1/8O//LcKgaYLn9Y2q9E0HrGD+jIHjY8SMqrVnLB8zxJZ2gRYJc0fBCmpgg jy0UKnyK8P7MO43A0fmmeeY6um8aEqFSOt2OIZNKhGSfBClMxIRKWn/p5S8STECj5CmwQ/HLD+lZ grf8O4fCcE58MPRP63lGgm8BxMqbV4LFlyV46oL0QvpitEUswqzQUazHtjXfNyLWhuGcMiZMw32k gmUMjt0Kf1EFHNqDSgIqYM1jvxNdwN242ySziaAO3+KgxwSs6rxc9aUV1oY4fX3W5eOCNA39+Unl G6+NjwHqPIX/LAm6V+FBIvayVTsIQIBDLijve/q4nmQbNZtkLGXkdb9MK/DUo4eLRFi+U5i8mhS0 Ju9L9gabCWcFl8Cgf6PtjbUPOWcwrYUp/ijFdSqarEyNDJVZ32H2SUbz3g7i+R0UfgKk7Nuw6GQf Xaxj/Hs3Tgs9mpgmbmeTgFKBgc4kmBS2brus/2P6101zTyk48iFA4BWf3Q==
X-Report-Abuse-To: spam@quarantine9.antispamcloud.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/quic/8L2tjefWNOtFT6FyretB84wGrbw>
X-BeenThere: quic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Main mailing list of the IETF QUIC working group <quic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/quic>, <mailto:quic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/quic/>
List-Post: <mailto:quic@ietf.org>
List-Help: <mailto:quic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/quic>, <mailto:quic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 22 May 2019 17:19:58 -0000

On 5/22/2019 9:10 AM, Mikkel Fahnøe Jørgensen wrote:
> Another benefit: I get to use Fibonachi numbers again :)
>
> But, it would arbitrarily consume more bandwidth than necessary, much
> more than what is saved in a single byte SCIL/DCIL field.
>
> If we keep the recenlty proposes 1 byte DCIL  and 1 byte SCIL fields
> we have 0..255 bytes.
> If we need more without the complexity of varints that are bad for
> hardware and fast routing in general, we could make all lengths <= 127
> single byte multiples, and all above 127 8 byte multiples. That gives
> you 2K of routing bits and is stil easy to decode in hardware.
>
>
> On 22 May 2019 at 16.13.07, Dmitri Tikhonov
> (dtikhonov@litespeedtech.com <mailto:dtikhonov@litespeedtech.com>) wrote:
>
>> Idea: we can keep the one-byte SCIDL/DCIDL field but map the 4-bit
>> parts to a larger range of values. For example, we could map the
>> 16 values to a range of Fibonacci numbers:
>>
>> 0 -> 0
>> 1 -> 1

Hey, wait a minute. Doesn't the Fibonacci sequence start by 1,1,2,3? Why
do you have a zero there?

>> 2 -> 2
>> 3 -> 3
>> 4 -> 5
>> 5 -> 8
>> 6 -> 13
>> 7 -> 21
>> 8 -> 34
>> 9 -> 55
>> 10 -> 89
>> 11 -> 144
>> 12 -> 233
>> 13 -> 377
>> 14 -> 610
>> 15 -> 987
>>
>> This particular mapping has several profitable properties:
>>
>> - It covers the whole range of values from zero to the
>> practical maximum imposed by the protocol (about 1K).
>>
>> - There is a good selection of small values.
>>
>> - 8 is one of the values, convenient for storage in
>> uint64_t.
>>
>> - Each step up is not too large (double or more) or too
>> small (less than 50% increase).
>>
>> - The mapping can be easily generated: its name says how.

Yes, that looks like a proposal that we should seriously consider.

-- Christian Huitema