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

Shared validator pubkey #5883

Merged
merged 11 commits into from
Feb 21, 2024
Merged

Shared validator pubkey #5883

merged 11 commits into from
Feb 21, 2024

Commits on Feb 12, 2024

  1. Shared validator pubkey

    This PR allows sharing the pubkey data between validators by using a
    thread-local cache for pubkey data, netting about a 400mb mem usage
    reduction on holesky due to us keeping 3 permanent + several ephemeral
    state copies in memory at all times and each state copy holding a full
    validator.
    
    The PR also introduces a hash cache for the key which gives ~14% speedup
    for a full state `hash_tree_root` - the key makes up for a large part of
    the `Validator` htr time.
    
    Finally, the time it takes to copy a state goes down as well from ~80m
    ms to ~60, for reasons similar to htr.
    
    We use a `ptr` even if a `ref` could in theory have been used - there is
    not much practical benefit to a `ref` (given it's mutable) while a `ptr`
    is cheaper and easier to copy (when copying temporary states).
    
    We could go further and cache a cooked pubkey but it turns out this is
    quite intrusive - in all the relevant places, we're already using a
    cooked key from the immutable validator data so there are no immediate
    performance gains of doing so while managing the compressed -> cooked
    key mapping would become more difficult - something for a future PR
    perhaps.
    arnetheduck committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    71001d7 View commit details
    Browse the repository at this point in the history

Commits on Feb 14, 2024

  1. Configuration menu
    Copy the full SHA
    7b37fd2 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2024

  1. Configuration menu
    Copy the full SHA
    641dede View commit details
    Browse the repository at this point in the history
  2. fix diff / tests

    arnetheduck committed Feb 20, 2024
    Configuration menu
    Copy the full SHA
    c964803 View commit details
    Browse the repository at this point in the history
  3. bump

    arnetheduck committed Feb 20, 2024
    Configuration menu
    Copy the full SHA
    d92f872 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2024

  1. avoid stew/net utils

    arnetheduck committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    504a0ec View commit details
    Browse the repository at this point in the history
  2. bump

    arnetheduck committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    e577428 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    be3ff0d View commit details
    Browse the repository at this point in the history
  4. empty pubkey htr

    arnetheduck committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    f66c288 View commit details
    Browse the repository at this point in the history
  5. Update beacon_chain/spec/eth2_merkleization.nim

    Co-authored-by: Etan Kissling <etan@status.im>
    arnetheduck and etan-status authored Feb 21, 2024
    Configuration menu
    Copy the full SHA
    f448766 View commit details
    Browse the repository at this point in the history
  6. re-generate test report

    etan-status committed Feb 21, 2024
    Configuration menu
    Copy the full SHA
    1a980a2 View commit details
    Browse the repository at this point in the history