-
Notifications
You must be signed in to change notification settings - Fork 742
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test how many fully loaded cores we can support with multiple collators #4696
Comments
Local Zombienet based testing results for scaling up the collators to 5 collators. HW spec: MacBook Pro M2 3 relay chain validators and 3 cores. Config below:
Glutton pallet configuration:
Collations sizes produced in the test are ~5MB, burning 2s of ref hw cpu time in roughly 1.3s due to the better specs of M2.
5 collators with 2s slot time, 1.3s executionParachains manages to include on average 1.5 parachain candidates per relay chain block, leading to an effective block time of 4s. Two parachain forks are created per relay chain block as parachain block authorship is fully asynchronous and only obeys slot. The import time windows spans from previous slot into the current slot, and parachain will build on best block available at the start of it's slot. The slot based collator implements an offset for the parachain slots. So if relay chain slot times starts at A summary of what happens below:
As this loop goes on, the number of included candidates per relay chain block creates this pattern: 1, 2, 1, 2, 1. The spikes happen at session boundary. 5 collators with 3s slot time, 1.3s executionWith an authoring duration of just 1.3s and slots of 3s, the collators can fully utilize the block space, yielding straight 3s blocks. 5 collators with 3s slot time, ~2s executionNow bumping glutton parameter:
In this configuration, parachain always produces 2 forks per relay chain, so, it's effective block time will remain 6s. Below is a summary on slot/import timings:
Preliminary conclusionAs pointed out by these local zombienet experiments, parachains will waste slots by forking if With reference hardware and current implementation peak performance is:
The upper bound on networking overhead is 400ms. Next steps
|
Interesting results! Nice work! Leaving some thoughts here:
|
I don't think we can do this easily:
|
Yes, I got that problem myself, but I have stopped |
This issue has been mentioned on Polkadot Forum. There might be relevant details there: https://forum.polkadot.network/t/elastic-scaling-mvp-launched/9392/1 |
Goal: Have some data on how far we can go without needing optimistic block production.
The text was updated successfully, but these errors were encountered: