Skip to content

Slim down PersistedForkChoice #7760

@dapplion

Description

@dapplion

The fork-choice state is persistsed often and it's big, causing a lot of I/O. Currently, its size also grows during non-finality.

Some ideas:

  • Don't persist fork-choice nodes, instead re-compute them on start-up from stored blocks. We would need to compute the cost of doing so in long non-finality. Probably we need to store the payload status of them, or maybe start them all as syncing
  • Just persist the last votes once in a while. Persisting just votes should be smaller and constant size. We can experiment with how often we need to persist those votes too, or only persisting them on a clean shut-down. Worst case we will get new votes on the epoch after start-up. We can also run a compression algorithm on the votes as most of them have the same roots.

@michaelsproul

Metadata

Metadata

Labels

optimizationSomething to make Lighthouse run more efficiently.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions