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
  • Ingress network traffic far exceeds egress by 10:1
  • The light gossip client should not need to process nearly as much as it does

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 light gossip client can throw away all received CRDS updates unless the network relies on all gossip participants to relay it.
  • 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?
  • 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