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

feat: subscribe to 2 long lived subnets per node #5704

Merged
merged 5 commits into from
Jul 11, 2023

Conversation

twoeths
Copy link
Contributor

@twoeths twoeths commented Jun 26, 2023

Motivation

Description

  • Currently we subscribe to n long lived & random subnets per n validator
  • This changes to consistently subscribe to SUBNETS_PER_NODE (2) long lived subnet based on node id
  • Implement another IAttnetsService called DLLAttnetsService for this
  • Add --deterministicLongLivedAttnets feature flag for this, disabled by default

Closes #5546

@github-actions
Copy link
Contributor

github-actions bot commented Jun 26, 2023

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: b80dcc6 Previous: 1de881b Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 913.15 us/op 984.46 us/op 0.93
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 45.963 us/op 48.839 us/op 0.94
BLS verify - blst-native 1.2114 ms/op 1.2627 ms/op 0.96
BLS verifyMultipleSignatures 3 - blst-native 2.4730 ms/op 2.5589 ms/op 0.97
BLS verifyMultipleSignatures 8 - blst-native 5.1531 ms/op 5.5259 ms/op 0.93
BLS verifyMultipleSignatures 32 - blst-native 19.122 ms/op 20.010 ms/op 0.96
BLS aggregatePubkeys 32 - blst-native 25.372 us/op 26.753 us/op 0.95
BLS aggregatePubkeys 128 - blst-native 99.669 us/op 104.24 us/op 0.96
getAttestationsForBlock 50.927 ms/op 58.667 ms/op 0.87
isKnown best case - 1 super set check 263.00 ns/op 266.00 ns/op 0.99
isKnown normal case - 2 super set checks 248.00 ns/op 255.00 ns/op 0.97
isKnown worse case - 16 super set checks 245.00 ns/op 255.00 ns/op 0.96
CheckpointStateCache - add get delete 5.0180 us/op 5.8060 us/op 0.86
validate gossip signedAggregateAndProof - struct 2.7627 ms/op 2.8317 ms/op 0.98
validate gossip attestation - struct 1.3189 ms/op 1.3537 ms/op 0.97
pickEth1Vote - no votes 1.2504 ms/op 1.3381 ms/op 0.93
pickEth1Vote - max votes 10.408 ms/op 11.704 ms/op 0.89
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.5955 ms/op 9.3203 ms/op 0.92
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.725 ms/op 16.628 ms/op 0.89
pickEth1Vote - Eth1Data fastSerialize value x2048 694.73 us/op 740.25 us/op 0.94
pickEth1Vote - Eth1Data fastSerialize tree x2048 8.3205 ms/op 5.2671 ms/op 1.58
bytes32 toHexString 514.00 ns/op 549.00 ns/op 0.94
bytes32 Buffer.toString(hex) 362.00 ns/op 390.00 ns/op 0.93
bytes32 Buffer.toString(hex) from Uint8Array 554.00 ns/op 604.00 ns/op 0.92
bytes32 Buffer.toString(hex) + 0x 357.00 ns/op 397.00 ns/op 0.90
Object access 1 prop 0.16700 ns/op 0.18000 ns/op 0.93
Map access 1 prop 0.16900 ns/op 0.16400 ns/op 1.03
Object get x1000 6.6430 ns/op 6.6030 ns/op 1.01
Map get x1000 0.63100 ns/op 0.64500 ns/op 0.98
Object set x1000 52.207 ns/op 59.775 ns/op 0.87
Map set x1000 43.953 ns/op 47.754 ns/op 0.92
Return object 10000 times 0.24500 ns/op 0.24880 ns/op 0.98
Throw Error 10000 times 4.2696 us/op 4.4212 us/op 0.97
fastMsgIdFn sha256 / 200 bytes 3.4790 us/op 3.7200 us/op 0.94
fastMsgIdFn h32 xxhash / 200 bytes 283.00 ns/op 334.00 ns/op 0.85
fastMsgIdFn h64 xxhash / 200 bytes 383.00 ns/op 452.00 ns/op 0.85
fastMsgIdFn sha256 / 1000 bytes 11.642 us/op 12.005 us/op 0.97
fastMsgIdFn h32 xxhash / 1000 bytes 406.00 ns/op 456.00 ns/op 0.89
fastMsgIdFn h64 xxhash / 1000 bytes 469.00 ns/op 521.00 ns/op 0.90
fastMsgIdFn sha256 / 10000 bytes 103.34 us/op 106.31 us/op 0.97
fastMsgIdFn h32 xxhash / 10000 bytes 1.9250 us/op 2.0300 us/op 0.95
fastMsgIdFn h64 xxhash / 10000 bytes 1.4020 us/op 1.4630 us/op 0.96
enrSubnets - fastDeserialize 64 bits 1.3070 us/op 1.4460 us/op 0.90
enrSubnets - ssz BitVector 64 bits 480.00 ns/op 586.00 ns/op 0.82
enrSubnets - fastDeserialize 4 bits 171.00 ns/op 194.00 ns/op 0.88
enrSubnets - ssz BitVector 4 bits 477.00 ns/op 552.00 ns/op 0.86
prioritizePeers score -10:0 att 32-0.1 sync 2-0 106.53 us/op 120.53 us/op 0.88
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 134.08 us/op 159.66 us/op 0.84
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 164.59 us/op 193.01 us/op 0.85
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 302.43 us/op 360.78 us/op 0.84
prioritizePeers score 0:0 att 64-1 sync 4-1 372.24 us/op 443.84 us/op 0.84
array of 16000 items push then shift 1.5981 us/op 1.7121 us/op 0.93
LinkedList of 16000 items push then shift 8.5200 ns/op 9.2090 ns/op 0.93
array of 16000 items push then pop 82.939 ns/op 111.60 ns/op 0.74
LinkedList of 16000 items push then pop 8.5070 ns/op 8.9420 ns/op 0.95
array of 24000 items push then shift 2.3672 us/op 2.4249 us/op 0.98
LinkedList of 24000 items push then shift 8.8010 ns/op 9.7730 ns/op 0.90
array of 24000 items push then pop 78.530 ns/op 91.895 ns/op 0.85
LinkedList of 24000 items push then pop 8.6360 ns/op 9.4110 ns/op 0.92
intersect bitArray bitLen 8 13.702 ns/op 14.079 ns/op 0.97
intersect array and set length 8 74.579 ns/op 84.893 ns/op 0.88
intersect bitArray bitLen 128 44.256 ns/op 46.338 ns/op 0.96
intersect array and set length 128 1.0330 us/op 1.1663 us/op 0.89
Buffer.concat 32 items 2.6300 us/op 3.0450 us/op 0.86
Uint8Array.set 32 items 2.7660 us/op 2.3010 us/op 1.20
transfer serialized Status (84 B) 2.2320 us/op 2.1190 us/op 1.05
copy serialized Status (84 B) 1.8840 us/op 1.8050 us/op 1.04
transfer serialized SignedVoluntaryExit (112 B) 2.3540 us/op 2.1600 us/op 1.09
copy serialized SignedVoluntaryExit (112 B) 1.9490 us/op 1.7610 us/op 1.11
transfer serialized ProposerSlashing (416 B) 3.0230 us/op 2.4540 us/op 1.23
copy serialized ProposerSlashing (416 B) 3.3550 us/op 2.8360 us/op 1.18
transfer serialized Attestation (485 B) 3.2950 us/op 2.4520 us/op 1.34
copy serialized Attestation (485 B) 2.7940 us/op 2.1140 us/op 1.32
transfer serialized AttesterSlashing (33232 B) 3.2700 us/op 2.5240 us/op 1.30
copy serialized AttesterSlashing (33232 B) 6.1580 us/op 6.2040 us/op 0.99
transfer serialized Small SignedBeaconBlock (128000 B) 3.2190 us/op 2.9310 us/op 1.10
copy serialized Small SignedBeaconBlock (128000 B) 13.518 us/op 16.968 us/op 0.80
transfer serialized Avg SignedBeaconBlock (200000 B) 3.4420 us/op 3.2320 us/op 1.06
copy serialized Avg SignedBeaconBlock (200000 B) 50.119 us/op 20.748 us/op 2.42
transfer serialized BlobsSidecar (524380 B) 3.4500 us/op 3.3390 us/op 1.03
copy serialized BlobsSidecar (524380 B) 187.90 us/op 76.840 us/op 2.45
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7460 us/op 3.8280 us/op 0.98
copy serialized Big SignedBeaconBlock (1000000 B) 312.18 us/op 258.18 us/op 1.21
pass gossip attestations to forkchoice per slot 2.7394 ms/op 2.9253 ms/op 0.94
forkChoice updateHead vc 100000 bc 64 eq 0 2.1276 ms/op 2.1549 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 0 11.387 ms/op 12.488 ms/op 0.91
forkChoice updateHead vc 1000000 bc 64 eq 0 22.165 ms/op 24.177 ms/op 0.92
forkChoice updateHead vc 600000 bc 320 eq 0 17.627 ms/op 17.458 ms/op 1.01
forkChoice updateHead vc 600000 bc 1200 eq 0 85.179 ms/op 90.044 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 1000 21.039 ms/op 22.252 ms/op 0.95
forkChoice updateHead vc 600000 bc 64 eq 10000 23.917 ms/op 24.022 ms/op 1.00
forkChoice updateHead vc 600000 bc 64 eq 300000 31.526 ms/op 33.278 ms/op 0.95
computeDeltas 3.0675 ms/op 3.2723 ms/op 0.94
computeProposerBoostScoreFromBalances 1.7911 ms/op 2.0087 ms/op 0.89
altair processAttestation - 250000 vs - 7PWei normalcase 2.1235 ms/op 3.4879 ms/op 0.61
altair processAttestation - 250000 vs - 7PWei worstcase 3.3135 ms/op 5.1668 ms/op 0.64
altair processAttestation - setStatus - 1/6 committees join 137.41 us/op 158.78 us/op 0.87
altair processAttestation - setStatus - 1/3 committees join 271.09 us/op 311.97 us/op 0.87
altair processAttestation - setStatus - 1/2 committees join 362.11 us/op 413.01 us/op 0.88
altair processAttestation - setStatus - 2/3 committees join 456.67 us/op 524.75 us/op 0.87
altair processAttestation - setStatus - 4/5 committees join 644.45 us/op 751.72 us/op 0.86
altair processAttestation - setStatus - 100% committees join 744.75 us/op 889.19 us/op 0.84
altair processBlock - 250000 vs - 7PWei normalcase 17.128 ms/op 22.993 ms/op 0.74
altair processBlock - 250000 vs - 7PWei normalcase hashState 26.279 ms/op 31.703 ms/op 0.83
altair processBlock - 250000 vs - 7PWei worstcase 50.731 ms/op 66.383 ms/op 0.76
altair processBlock - 250000 vs - 7PWei worstcase hashState 66.713 ms/op 88.704 ms/op 0.75
phase0 processBlock - 250000 vs - 7PWei normalcase 2.1500 ms/op 2.8287 ms/op 0.76
phase0 processBlock - 250000 vs - 7PWei worstcase 27.491 ms/op 36.698 ms/op 0.75
altair processEth1Data - 250000 vs - 7PWei normalcase 528.07 us/op 653.72 us/op 0.81
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 7.1970 us/op 12.857 us/op 0.56
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 20.134 us/op 34.819 us/op 0.58
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 8.5710 us/op 13.932 us/op 0.62
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 6.6950 us/op 9.3570 us/op 0.72
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 74.600 us/op 112.12 us/op 0.67
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 641.48 us/op 708.70 us/op 0.91
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 905.36 us/op 926.93 us/op 0.98
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 882.97 us/op 929.15 us/op 0.95
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 2.2178 ms/op 2.8703 ms/op 0.77
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 1.4976 ms/op 1.6444 ms/op 0.91
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 3.8341 ms/op 4.8783 ms/op 0.79
Tree 40 250000 create 302.57 ms/op 383.95 ms/op 0.79
Tree 40 250000 get(125000) 174.78 ns/op 215.83 ns/op 0.81
Tree 40 250000 set(125000) 889.15 ns/op 1.1681 us/op 0.76
Tree 40 250000 toArray() 16.886 ms/op 24.148 ms/op 0.70
Tree 40 250000 iterate all - toArray() + loop 16.992 ms/op 24.631 ms/op 0.69
Tree 40 250000 iterate all - get(i) 65.135 ms/op 81.581 ms/op 0.80
MutableVector 250000 create 10.578 ms/op 12.367 ms/op 0.86
MutableVector 250000 get(125000) 6.3960 ns/op 6.8660 ns/op 0.93
MutableVector 250000 set(125000) 261.13 ns/op 331.76 ns/op 0.79
MutableVector 250000 toArray() 2.8151 ms/op 4.6915 ms/op 0.60
MutableVector 250000 iterate all - toArray() + loop 3.1752 ms/op 4.3761 ms/op 0.73
MutableVector 250000 iterate all - get(i) 1.4989 ms/op 1.6486 ms/op 0.91
Array 250000 create 2.5468 ms/op 3.7896 ms/op 0.67
Array 250000 clone - spread 1.0931 ms/op 1.3139 ms/op 0.83
Array 250000 get(125000) 0.54900 ns/op 0.60700 ns/op 0.90
Array 250000 set(125000) 0.62100 ns/op 0.68700 ns/op 0.90
Array 250000 iterate all - loop 81.893 us/op 93.991 us/op 0.87
effectiveBalanceIncrements clone Uint8Array 300000 26.346 us/op 43.743 us/op 0.60
effectiveBalanceIncrements clone MutableVector 300000 334.00 ns/op 377.00 ns/op 0.89
effectiveBalanceIncrements rw all Uint8Array 300000 169.28 us/op 179.12 us/op 0.95
effectiveBalanceIncrements rw all MutableVector 300000 77.667 ms/op 94.461 ms/op 0.82
phase0 afterProcessEpoch - 250000 vs - 7PWei 112.19 ms/op 130.47 ms/op 0.86
phase0 beforeProcessEpoch - 250000 vs - 7PWei 42.208 ms/op 44.216 ms/op 0.95
altair processEpoch - mainnet_e81889 309.51 ms/op 338.86 ms/op 0.91
mainnet_e81889 - altair beforeProcessEpoch 50.954 ms/op 68.892 ms/op 0.74
mainnet_e81889 - altair processJustificationAndFinalization 16.858 us/op 17.714 us/op 0.95
mainnet_e81889 - altair processInactivityUpdates 6.7123 ms/op 5.8193 ms/op 1.15
mainnet_e81889 - altair processRewardsAndPenalties 71.135 ms/op 66.402 ms/op 1.07
mainnet_e81889 - altair processRegistryUpdates 2.8860 us/op 2.7130 us/op 1.06
mainnet_e81889 - altair processSlashings 574.00 ns/op 514.00 ns/op 1.12
mainnet_e81889 - altair processEth1DataReset 589.00 ns/op 563.00 ns/op 1.05
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2708 ms/op 1.3490 ms/op 0.94
mainnet_e81889 - altair processSlashingsReset 4.8650 us/op 4.2900 us/op 1.13
mainnet_e81889 - altair processRandaoMixesReset 4.4910 us/op 10.727 us/op 0.42
mainnet_e81889 - altair processHistoricalRootsUpdate 847.00 ns/op 2.2930 us/op 0.37
mainnet_e81889 - altair processParticipationFlagUpdates 2.5670 us/op 3.4640 us/op 0.74
mainnet_e81889 - altair processSyncCommitteeUpdates 644.00 ns/op 1.1210 us/op 0.57
mainnet_e81889 - altair afterProcessEpoch 117.29 ms/op 134.66 ms/op 0.87
phase0 processEpoch - mainnet_e58758 319.49 ms/op 407.14 ms/op 0.78
mainnet_e58758 - phase0 beforeProcessEpoch 119.72 ms/op 166.38 ms/op 0.72
mainnet_e58758 - phase0 processJustificationAndFinalization 16.520 us/op 24.653 us/op 0.67
mainnet_e58758 - phase0 processRewardsAndPenalties 52.203 ms/op 72.179 ms/op 0.72
mainnet_e58758 - phase0 processRegistryUpdates 7.4780 us/op 8.7240 us/op 0.86
mainnet_e58758 - phase0 processSlashings 560.00 ns/op 1.1390 us/op 0.49
mainnet_e58758 - phase0 processEth1DataReset 579.00 ns/op 552.00 ns/op 1.05
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.0044 ms/op 1.0531 ms/op 0.95
mainnet_e58758 - phase0 processSlashingsReset 3.1640 us/op 4.3310 us/op 0.73
mainnet_e58758 - phase0 processRandaoMixesReset 4.9800 us/op 4.9150 us/op 1.01
mainnet_e58758 - phase0 processHistoricalRootsUpdate 778.00 ns/op 997.00 ns/op 0.78
mainnet_e58758 - phase0 processParticipationRecordUpdates 4.0190 us/op 5.2720 us/op 0.76
mainnet_e58758 - phase0 afterProcessEpoch 98.536 ms/op 102.28 ms/op 0.96
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2411 ms/op 1.2997 ms/op 0.95
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4239 ms/op 1.6501 ms/op 0.86
altair processInactivityUpdates - 250000 normalcase 19.445 ms/op 26.447 ms/op 0.74
altair processInactivityUpdates - 250000 worstcase 21.006 ms/op 27.062 ms/op 0.78
phase0 processRegistryUpdates - 250000 normalcase 6.7880 us/op 7.5320 us/op 0.90
phase0 processRegistryUpdates - 250000 badcase_full_deposits 243.43 us/op 266.04 us/op 0.92
phase0 processRegistryUpdates - 250000 worstcase 0.5 127.19 ms/op 130.00 ms/op 0.98
altair processRewardsAndPenalties - 250000 normalcase 52.841 ms/op 68.428 ms/op 0.77
altair processRewardsAndPenalties - 250000 worstcase 59.514 ms/op 70.486 ms/op 0.84
phase0 getAttestationDeltas - 250000 normalcase 6.5713 ms/op 7.7426 ms/op 0.85
phase0 getAttestationDeltas - 250000 worstcase 6.7914 ms/op 6.9577 ms/op 0.98
phase0 processSlashings - 250000 worstcase 3.5256 ms/op 3.7399 ms/op 0.94
altair processSyncCommitteeUpdates - 250000 169.98 ms/op 183.80 ms/op 0.92
BeaconState.hashTreeRoot - No change 260.00 ns/op 271.00 ns/op 0.96
BeaconState.hashTreeRoot - 1 full validator 50.476 us/op 54.495 us/op 0.93
BeaconState.hashTreeRoot - 32 full validator 528.79 us/op 496.24 us/op 1.07
BeaconState.hashTreeRoot - 512 full validator 5.2164 ms/op 5.1719 ms/op 1.01
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 62.492 us/op 68.020 us/op 0.92
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 919.34 us/op 912.45 us/op 1.01
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 11.875 ms/op 12.173 ms/op 0.98
BeaconState.hashTreeRoot - 1 balances 49.847 us/op 51.570 us/op 0.97
BeaconState.hashTreeRoot - 32 balances 459.95 us/op 467.63 us/op 0.98
BeaconState.hashTreeRoot - 512 balances 4.5557 ms/op 4.3964 ms/op 1.04
BeaconState.hashTreeRoot - 250000 balances 75.442 ms/op 78.123 ms/op 0.97
aggregationBits - 2048 els - zipIndexesInBitList 16.047 us/op 17.208 us/op 0.93
regular array get 100000 times 33.255 us/op 34.031 us/op 0.98
wrappedArray get 100000 times 33.179 us/op 34.113 us/op 0.97
arrayWithProxy get 100000 times 15.236 ms/op 17.674 ms/op 0.86
ssz.Root.equals 565.00 ns/op 569.00 ns/op 0.99
byteArrayEquals 556.00 ns/op 572.00 ns/op 0.97
shuffle list - 16384 els 6.9695 ms/op 7.0876 ms/op 0.98
shuffle list - 250000 els 99.499 ms/op 104.13 ms/op 0.96
processSlot - 1 slots 9.0240 us/op 9.4990 us/op 0.95
processSlot - 32 slots 1.3316 ms/op 1.3933 ms/op 0.96
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 31.658 ms/op 36.077 ms/op 0.88
getCommitteeAssignments - req 1 vs - 250000 vc 2.9336 ms/op 3.0018 ms/op 0.98
getCommitteeAssignments - req 100 vs - 250000 vc 4.1407 ms/op 4.2662 ms/op 0.97
getCommitteeAssignments - req 1000 vs - 250000 vc 4.5596 ms/op 4.5952 ms/op 0.99
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 4.8500 ns/op 4.9100 ns/op 0.99
state getBlockRootAtSlot - 250000 vs - 7PWei 573.40 ns/op 616.77 ns/op 0.93
computeProposers - vc 250000 10.283 ms/op 11.119 ms/op 0.92
computeEpochShuffling - vc 250000 101.70 ms/op 108.83 ms/op 0.93
getNextSyncCommittee - vc 250000 169.14 ms/op 195.11 ms/op 0.87
computeSigningRoot for AttestationData 13.481 us/op 14.130 us/op 0.95
hash AttestationData serialized data then Buffer.toString(base64) 2.4615 us/op 2.5838 us/op 0.95
toHexString serialized data 1.0904 us/op 1.2612 us/op 0.86
Buffer.toString(base64) 321.95 ns/op 346.90 ns/op 0.93

by benchmarkbot/action

@twoeths
Copy link
Contributor Author

twoeths commented Jun 29, 2023

since there are only 2 long lived subnets anymore, node has to unsubscribe and resubscribe a lot which make it unstable

need to wait for #5506 and a couple of new gossipsub PRs regarding backoff time

@twoeths
Copy link
Contributor Author

twoeths commented Jul 11, 2023

with new libp2p, this branch has stable peers, but it's not as stable as "unstable" branch because node has to subscribe/unsubscribe a lot based on duties.

  • lg1k has same performance because there are 1k validators
Screenshot 2023-07-11 at 08 53 52 Screenshot 2023-07-11 at 08 54 06 Screenshot 2023-07-11 at 08 56 19
  • md16 has better missed ratio because it connects to less subnet topics
Screenshot 2023-07-11 at 08 54 41 Screenshot 2023-07-11 at 08 54 50 Screenshot 2023-07-11 at 08 56 39

@twoeths
Copy link
Contributor Author

twoeths commented Jul 11, 2023

this is ready for review

@twoeths twoeths marked this pull request as ready for review July 11, 2023 01:57
@twoeths twoeths requested a review from a team as a code owner July 11, 2023 01:57
@philknows philknows added this to the v1.10.0 milestone Jul 11, 2023
Copy link
Member

@wemeetagain wemeetagain left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, as you say, this is disabled by default. We can do more testing before turning this on.

Comment on lines +200 to +202
const attnetsService = opts.deterministicLongLivedAttnets
? new DLLAttnetsService(config, clock, gossip, metadata, logger, metrics, nodeId, opts)
: new AttnetsService(config, clock, gossip, metadata, logger, metrics, opts);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@wemeetagain wemeetagain merged commit 0640e06 into unstable Jul 11, 2023
12 checks passed
@wemeetagain wemeetagain deleted the tuyen/subnets_per_node branch July 11, 2023 15:51
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.10.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Subnet backbone structure based on beacon nodes
3 participants