From 857d4e256b4daabe5d7a4e4001c21f9f239e886c Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 28 Jun 2023 15:17:51 -0500 Subject: [PATCH 1/2] increase push fanout from 6 to 9. leave active set size at 12 --- gossip/src/crds_gossip_push.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gossip/src/crds_gossip_push.rs b/gossip/src/crds_gossip_push.rs index ee0b88db83ab64..4fbaafa1249f44 100644 --- a/gossip/src/crds_gossip_push.rs +++ b/gossip/src/crds_gossip_push.rs @@ -42,15 +42,15 @@ use { }, }; -const CRDS_GOSSIP_PUSH_FANOUT: usize = 6; -// With a fanout of 6, a 1000 node cluster should only take ~4 hops to converge. +const CRDS_GOSSIP_PUSH_FANOUT: usize = 9; +// With a fanout of 6, a 2000 node cluster should only take ~3.5 hops to converge. // However since pushes are stake weighed, some trailing nodes // might need more time to receive values. 30 seconds should be plenty. pub const CRDS_GOSSIP_PUSH_MSG_TIMEOUT_MS: u64 = 30000; const CRDS_GOSSIP_PRUNE_MSG_TIMEOUT_MS: u64 = 500; const CRDS_GOSSIP_PRUNE_STAKE_THRESHOLD_PCT: f64 = 0.15; const CRDS_GOSSIP_PRUNE_MIN_INGRESS_NODES: usize = 2; -const CRDS_GOSSIP_PUSH_ACTIVE_SET_SIZE: usize = CRDS_GOSSIP_PUSH_FANOUT * 2; +const CRDS_GOSSIP_PUSH_ACTIVE_SET_SIZE: usize = CRDS_GOSSIP_PUSH_FANOUT + 3; pub struct CrdsGossipPush { /// Max bytes per message From 2d7b7de38a65abf7209e8e183c0be59cbcdb1f7d Mon Sep 17 00:00:00 2001 From: greg Date: Wed, 28 Jun 2023 18:58:10 -0500 Subject: [PATCH 2/2] forgot to change comment to reflect push fanout increase --- gossip/src/crds_gossip_push.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gossip/src/crds_gossip_push.rs b/gossip/src/crds_gossip_push.rs index 4fbaafa1249f44..4472576031cb9d 100644 --- a/gossip/src/crds_gossip_push.rs +++ b/gossip/src/crds_gossip_push.rs @@ -43,7 +43,7 @@ use { }; const CRDS_GOSSIP_PUSH_FANOUT: usize = 9; -// With a fanout of 6, a 2000 node cluster should only take ~3.5 hops to converge. +// With a fanout of 9, a 2000 node cluster should only take ~3.5 hops to converge. // However since pushes are stake weighed, some trailing nodes // might need more time to receive values. 30 seconds should be plenty. pub const CRDS_GOSSIP_PUSH_MSG_TIMEOUT_MS: u64 = 30000;