[Cbor] Re: Early allocation for packed CBOR (Re: Reminder: CBOR WG Virtual Meeting on 2024-12-11)

Carsten Bormann <cabo@tzi.org> Wed, 11 December 2024 16:39 UTC

Return-Path: <cabo@tzi.org>
X-Original-To: cbor@ietfa.amsl.com
Delivered-To: cbor@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6A208C1519AB for <cbor@ietfa.amsl.com>; Wed, 11 Dec 2024 08:39:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.908
X-Spam-Level:
X-Spam-Status: No, score=-1.908 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] 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 IRNc8_v71Slc for <cbor@ietfa.amsl.com>; Wed, 11 Dec 2024 08:39:51 -0800 (PST)
Received: from smtp.zfn.uni-bremen.de (smtp.zfn.uni-bremen.de [IPv6:2001:638:708:32::21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0C6B4C16941F for <cbor@ietf.org>; Wed, 11 Dec 2024 08:39:51 -0800 (PST)
Received: from [192.168.217.145] (p548dc3ec.dip0.t-ipconnect.de [84.141.195.236]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.zfn.uni-bremen.de (Postfix) with ESMTPSA id 4Y7hCT3mQKzDCh2; Wed, 11 Dec 2024 17:39:49 +0100 (CET)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 13.4 \(3608.120.23.2.7\))
From: Carsten Bormann <cabo@tzi.org>
In-Reply-To: <CAKoiRuYJZN=h2Qtw1MPMrVTTGS56iBixiOcB8+qHt4jhgXbs5g@mail.gmail.com>
Date: Wed, 11 Dec 2024 17:39:49 +0100
X-Mao-Original-Outgoing-Id: 755627989.056599-a3554cf43a01021c4b7589e8c2f9e5f5
Content-Transfer-Encoding: quoted-printable
Message-Id: <AF9B53D2-625E-4E4C-AAE6-FAE718A33DCC@tzi.org>
References: <CALaySJKDFscUBGw4CPspXJvUTkXywVHc_FrmhO3ybBWTrwjGXw@mail.gmail.com> <CALaySJJ8-M9x8irtmF2pfDE3GRXU1am9n2a3XeDcmPT+kww+KA@mail.gmail.com> <CALaySJKTQT_9CC-wVVd+fY1NYJ73M8CP22hn=rWrFeTJSJDEsA@mail.gmail.com> <CALaySJKG3oagg6ffLTx8LgvLvnjHHA2DMGgY74E0q=rReAc4PA@mail.gmail.com> <CALaySJLtUR1=G_WH4H+zoJ5LCrHjBgEf1oW104zDtFQighY+gg@mail.gmail.com> <CALaySJLnKxU9m3BNPq4XayrSrorRBG2vuBz1AF-CsEBoSZe7Xg@mail.gmail.com> <CALaySJKaz7C=GN5E=saiDY4KxL+9xCfM0ocZuMStEQ96FnQ4KA@mail.gmail.com> <CALaySJJEXkey9vLAp8VqDXmPsWpxiWN9jjtVnGio1nMQ4K+mDQ@mail.gmail.com> <CALaySJJfc+tET4Vm5UQjHPK5mf61O0iR-1i6=X32CYtWxZLWTQ@mail.gmail.com> <CALaySJKdrk7aPzhT=kbE1B8pq1EBw74nmx_peSJMAoHsG5jyVQ@mail.gmail.com> <CALaySJ+fWX4zEnE5v-Q9R6eCv=kSJjnc-fsXL5PGPgac1GJAcA@mail.gmail.com> <B807C9D3-39A4-4024-BC1D-85DD84EA1735@tzi.org> <DFE56705-CCDD-4172-B577-C873E3DB4898@tzi.org> <5FEA5C07-4A39-4B58-B2AE-F261D111FCE6@cursive.net> <D0618F67-4868-4745-A526-F73DF1A98E1B@tzi.org> <98C6BEDA-C4B2-4657-ABE2-19FE637CE782@cursive.net> <2A875D49-DD88-42D9-969D-0841A6B41F95@tzi.org> <CAKoiRuYJZN=h2Qtw1MPMrVTTGS56iBixiOcB8+qHt4jhgXbs5g@mail.gmail.com>
To: Rohan Mahy <rohan.mahy@gmail.com>
X-Mailer: Apple Mail (2.3608.120.23.2.7)
Message-ID-Hash: 4O6LDAKX2T3Y7OZRVAOTJHSJDQSE2TFI
X-Message-ID-Hash: 4O6LDAKX2T3Y7OZRVAOTJHSJDQSE2TFI
X-MailFrom: cabo@tzi.org
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cbor.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Joe Hildebrand <hildjj@cursive.net>, CBOR <cbor@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Cbor] Re: Early allocation for packed CBOR (Re: Reminder: CBOR WG Virtual Meeting on 2024-12-11)
List-Id: "Concise Binary Object Representation (CBOR)" <cbor.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/kXoecG9sO-UcNmiJUQgNqs5lCVc>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Owner: <mailto:cbor-owner@ietf.org>
List-Post: <mailto:cbor@ietf.org>
List-Subscribe: <mailto:cbor-join@ietf.org>
List-Unsubscribe: <mailto:cbor-leave@ietf.org>

On 2024-12-11, at 16:18, Rohan Mahy <rohan.mahy@gmail.com> wrote:
> 
> I agree with Joe on this one.
> 
> > What would be the right size then? 250 million?  220 million?
> How many 1+1 tags and 1+2 tags should you be able to consume?  FIVE per RFC seems like a reasonable limit. I have no objection to allocating as many 1+4 or 1+8 tags as you'd like.

What we discussed previously is that we have a budget to spend.

Here is the bank account statement of today:

$ tag-report.rb
range  used     %                 free                total
0 1+0    13 54.17                   11                   24
1 1+1    73 31.47                  159                  232
2 1+2  1087  1.67                64193                65280
3 1+4 65539  0.00           4294836221           4294901760
4 1+8     2  0.00 18446744069414584318 18446744069414584320

Counting RFCs is unlikely to be the best way to manage the budget.
Counting years is more like the “design for decades” Mantra that underlies the CBOR design.

So let’s assume we want to have 30 more years before CBOR 2.0 (or whatever the next big thing will be called) takes over.
As people have said 1+4 and 1+8 seem relatively uncritical, but of course we don’t want to give them away all in one piece.
Let’s focus on the ranges that have usage different from 0.00 %.

1+0 has 11 free code points, this means we should not spend one more than about every three years, and I think we all understand that these will be used for some important purposes only.  RFC 7049 came with 9 code points taken, and we have since spent 4 more (on COSE, which is rather foundational but maybe didn’t really need four 1+0 tags), which is about 12 years’ worth of our budget and thus slightly faster than we should have.  If cbor-packed gets its share, the next Marshmallow will come up in 2028 then.

1+1 has 159 free code points, or about 5 per year.  (We are slightly above that rate with 73 code points used in 11 years, but not dramatically so, and we have slowed down recently.)  Spending 8 years of budget for cbor-packed may seem preposterous, but many of us believe that cbor-packed is worth that.

1+2 has 60000+ code points, or about 2000 per year, except that half of it is FCFS, so we only have about 1000 per year under expert review control.  Spending 5 years of that budget again may sound preposterous and may partially already be in the diminishing returns space, but the 1+1 allocation is really small in the grand scheme of things so we need to have *some* allocation in 1+2.  Saying “your table sizes will never be as large as your 1+2 allocation” is true for constrained applications; I’m not so sure about general purpose computers though.

Grüße, Carsten