Skip to content
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

refactor EOS VM OC's code cache to use serialized file #641

Open
spoonincode opened this issue Jul 11, 2022 · 0 comments
Open

refactor EOS VM OC's code cache to use serialized file #641

spoonincode opened this issue Jul 11, 2022 · 0 comments

Comments

@spoonincode
Copy link
Member

Currently EOS VM OC's code cache is implemented via a boost interprocess allocator that is mapped from a file (much like how chainbase works).

This is over-complication.

It should be refactored to simply de/serialize the code from/to disk on start/stop. This will incur a small performance impact at start/stop but if the serialized file is compressed I expect it to be only a minimal impact even when a slow disk is used. The benefits are substantial:

  • No longer subject to boost version breakage
  • Can eliminate the multi-process view of the cache cache
  • Can eliminate the multi-process architecture needing to track lifecycle of main-process' OC code_cache instances
  • nodeos data-dir can be on a noexec filesystem
  • OC's code cache can be in huge pages
  • It'll be easier to accommodate in-place upgrades
  • Probably more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

1 participant