You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current dagstore time is unsustainable due to a sync startup and slow, unindexed storage backends. The solution space is split up into two kinds of solutions:
Keep a sync startup, but make loading fast enough that loading hundreds of millions of blocks will take under 2 minutes
Develop async startup, allows us to keep the same storage backend
The big question here is how much of a speedup #1 can provide us. This is currently being benchmarked and I will update this issue soon with the results.
If we cannot speed it up enough even with a different backend, we should go for an async startup. This is a bit more complicated and there are many ways to do this, which I will elaborate on once I finish collecting the benchmarks for solution 1. It will be pretty challenging to implement, and add a lot of unwanted complexity, but it may be necessary long term
The text was updated successfully, but these errors were encountered:
I don't think this will be a relevant issue for long, so no need for complex solutions. Once pruning is implemented, this is a non-issue.
A lot of the startup time came from debug logs (3-4x!), which are now deactivated
Multiple backends have been tested, LevelDB for example cuts the time in half but currently has issues on macos
We should definitely keep the sync startup. If we didn't have pruning, this would be problematic
According to napkin math, we have about 1.5 years of blocks before nodes will start needing 2 minutes to start up. So, we should implement pruning by then. If it isn't implemented, we should increase the default timeout again.
Current dagstore time is unsustainable due to a sync startup and slow, unindexed storage backends. The solution space is split up into two kinds of solutions:
The big question here is how much of a speedup #1 can provide us. This is currently being benchmarked and I will update this issue soon with the results.
If we cannot speed it up enough even with a different backend, we should go for an async startup. This is a bit more complicated and there are many ways to do this, which I will elaborate on once I finish collecting the benchmarks for solution 1. It will be pretty challenging to implement, and add a lot of unwanted complexity, but it may be necessary long term
The text was updated successfully, but these errors were encountered: