Proposal to set canister limit

Hello community,

DFINITY plans to submit NNS proposals that set an upper limit of 120k for the number of canisters per subnet. (Links to NNS proposals TBD).

Why set a limit?

There was a lot of progress in terms of supporting a large number of canisters on the IC. Recently, the goal of supporting 100k canisters per subnet has been achieved.

Until now, a maximum number of canisters of roughly 100k has only been a recommendation, but has not been enforced. Based on the insights gained from the protocol optimizations it seems to be a good idea to make this recommendation explicit in the parameters of all subnets to ensure predictable performance.

What does it mean for my canisters?

Probably nothing. Currently there is only one subnet with roughly 80k canisters, so still quite far from the limit. Furthermore, setting the limit does not change the underlying performance considerations that already now limit the number of canisters a subnet can support while maintaining a good user experience.

Should any subnet however reach the limit, any further attempts to create canisters on that subnet will fail. Already existing canisters on that subnet will not be affected. Furthermore, canisters can still be created on other subnets.

Will this limit increase in the future?

Yes, the plan is to keep improving the protocol to support even higher numbers of canisters. There is no concrete timeline for this, so canister devs should not rely on high limits as their scaling plan. See also these recommendations in the IC wiki.

What are the next steps?

DFINITY will submit NNS proposals for community consideration. This is a setting per subnet, so it will require a proposal per subnet. The proposals will be of type “Update Subnet Config” under topic “Subnet Management”.

Proposals

csyj4 eq6en ejbmu shefu 5kdm2 io67a w4asl 4zbus pae4o qxesv snjp4

6 Likes

Thank you for sharing.