Long Term R&D: Scalability (proposal)

Also, on a separate scalability discussion vector, I had this thought a week or so about using local replicas to clone canisters in order to scale horizontally (one can pull in a replica and then split a canister’s data in half between the canister and its clone, say through the right and left sub-trees of a Red-Black Tree).

Curious if there are any initiatives and thoughts on how feasible this would be, and how hard it would be for multiple new local replicas to be spun up (for resilience) in order to replace the local replica which was used as a clone, and to then spin up new replicas for the fresh clone.

If it takes awhile to spin up additional replicas, would love it if this functionality could be given to developers. As a canister is starting to reach capacity, start spinning up 5-10 more replicas, and then when this is complete, split the canister and its local replicas in 2 all at once, effectively creating an instant clone.

I could call “start spinning up additional replicas” at 65% capacity and then perform the split at 75% capacity, or something like that.