-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Integrate, benchmark, and optimize the nv21 SectorInfo migration #11071
Comments
i think the first two tasks are already done in https://github.com/filecoin-project/lotus/tree/feat/nv21-skeleton |
7 tasks
7 tasks
This has been benchmarked and the optimization for AMT diffing has been verified to be correct via correct stateroot cids. In addition it meets the requirement of migration timing.
below without optimizations in go-state-type version:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Background
State migrations are events that occur during Filecoin network upgrades. At minimum, they involve iterating over all entries in the Filecoin state tree. Simpler migrations require updating actor code CIDs, while complex migrations might involve processing other parts of state such as deals, sector infos, submitted proofs, etc.
In particular, we have twice performed migrations over all SectorInfos. These are slow, and so rely heavily on previous work ("pre-migrations") in order to complete the migration in ~sub-epoch time. Migrations that take longer than a single epoch result in null rounds on the blockchain.
User Story
I, someone running a Lotus node, want to be able to sync network upgrades that include network upgrades with minimal disruption. This means that the migration runs in < 1 min for SPs with good hardware, < 5 mins for most users, and < 2 hours for all cases (including archival nodes). Additionally, the node's memory usage during the migration period should not cause the node to fall out of sync.
Technical Breakdown
With an eye on the nv21 migration, we need to hook up the migration (already written) to the existing benchmarking tool, and performance test. We should then investigate various performance ideas.
Tasks
The text was updated successfully, but these errors were encountered: