Skip to content

Mitigate excessive gossip client CPU, network and memory usage #53

Open
@nyetwurk

Description

@nyetwurk

Known?

  • The gossip CRDS (Cluster Replicated Data Store) is huge
  • Egress traffic is still signfiicant (50Mbps) which makes deploying in cloud expensive
  • The light gossip client should not need to process nearly as much as it does (sigverify on ingress on all packets)

Guesses

  • Validators (voting or non-voting) do not need all peer information for non-voting validators
  • All peers do need bare minimum information needed for downloading snapshots
  • Non-voting validators likely should not push nearly as much CRDS data as they currently do
  • The gossip stack is doing sigverify on frames it will throw away later anyway
  • The light gossip client does not need to transmit as much gossip traffic as it does
  • It may be necessary for all gossip participants to process all CRDS updates if that is a requirement for propagation.

Solutions

  • Is there a way to prune all unneeded CRDS updates as they are received, before sigverify?
  • Is there a much smaller set of CRDS updates that non-voting validators (including the light weight gossip client) should be pushing?

Scope

What changes can be done locally w/o any upstream anza-xyz/agave changes?
What changes can be done locally but only by forking anza-xyz/agave?
What changes require upstream changes to anza-xyz/agave directly?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghelp wantedExtra attention is neededrustPull requests that update rust code

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions