Skip to content

Commit 677f8b2

Browse files
committed
test aot
1 parent 0dc9252 commit 677f8b2

File tree

2 files changed

+154
-72
lines changed

2 files changed

+154
-72
lines changed

binaryVersion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
feat/supernova-async-exec
1+
test-aot-selection+size-limit-block-proposal

config.toml

Lines changed: 153 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,6 @@ ProcessConfigsByRound = [
6767
MaxSyncWithErrorsAllowed = 10,
6868
MaxRoundsToKeepUnprocessedMiniBlocks = 300,
6969
MaxRoundsToKeepUnprocessedTransactions = 300,
70-
NumFloodingRoundsFastReacting = 10,
71-
NumFloodingRoundsSlowReacting = 2,
72-
NumFloodingRoundsOutOfSpecs = 2,
7370
# MaxConsecutiveRoundsOfRatingDecrease represents the max number of consecutive rounds in which a block is not proposed
7471
# on a shard and the validators' rating could be decreased. If, for instance, a shard gets stuck for more rounds
7572
# than this value, then the validators rating decrease should stop so they won't get jailed
@@ -86,9 +83,6 @@ ProcessConfigsByRound = [
8683
MaxSyncWithErrorsAllowed = 100,
8784
MaxRoundsToKeepUnprocessedMiniBlocks = 3000,
8885
MaxRoundsToKeepUnprocessedTransactions = 3000,
89-
NumFloodingRoundsFastReacting = 100,
90-
NumFloodingRoundsSlowReacting = 20,
91-
NumFloodingRoundsOutOfSpecs = 20,
9286
MaxConsecutiveRoundsOfRatingDecrease = 6000,
9387
MaxRoundsOfInactivityAccepted = 30
9488
}
@@ -519,6 +513,12 @@ ConsensusConfigsByEpoch = [
519513
SelectionGasBandwidthIncreaseScheduledPercent = 260
520514
SelectionGasRequested = 10_000_000_000
521515

516+
[AOTSelection]
517+
# Ahead-of-Time transaction selection - pre-selects transactions before consensus round
518+
Enabled = true
519+
CacheSize = 10 # Number of pre-selection results to cache
520+
SelectionTimeoutMs = 150 # Max time for AOT selection in milliseconds
521+
522522
[TrieNodesChunksDataPool]
523523
Name = "TrieNodesDataPool"
524524
Capacity = 400
@@ -573,6 +573,9 @@ ConsensusConfigsByEpoch = [
573573
Type = "SizeLRU"
574574
SizeInBytes = 104857600 # 100MB
575575

576+
[HeaderBodyCacheConfig]
577+
Capacity = 1000
578+
576579
#PublicKeyPeerId represents the main cache used to map MultiversX block signing public keys to their associated peer id's.
577580
[PublicKeyPeerId]
578581
Name = "PublicKeyPeerId"
@@ -626,71 +629,150 @@ ConsensusConfigsByEpoch = [
626629

627630
[Antiflood]
628631
Enabled = true
629-
NumConcurrentResolverJobs = 50
630-
NumConcurrentResolvingTrieNodesJobs = 3
631-
[Antiflood.FastReacting]
632-
IntervalInSeconds = 1
633-
ReservedPercent = 20.0
634-
[Antiflood.FastReacting.PeerMaxInput]
635-
BaseMessagesPerInterval = 280
636-
TotalSizePerInterval = 4194304 #4MB/s
637-
[Antiflood.FastReacting.PeerMaxInput.IncreaseFactor]
638-
Threshold = 10 #if consensus size will exceed this value, then
639-
Factor = 1.0 #increase the base value with [factor*consensus size]
640-
[Antiflood.FastReacting.BlackList]
641-
ThresholdNumMessagesPerInterval = 1000
642-
ThresholdSizePerInterval = 8388608 #8MB/s
643-
PeerBanDurationInSeconds = 300
644-
645-
[Antiflood.SlowReacting]
646-
IntervalInSeconds = 30
647-
ReservedPercent = 20.0
648-
[Antiflood.SlowReacting.PeerMaxInput]
649-
BaseMessagesPerInterval = 6000
650-
TotalSizePerInterval = 18874368 # 18MB/interval
651-
[Antiflood.SlowReacting.PeerMaxInput.IncreaseFactor]
652-
Threshold = 10 #if consensus size will exceed this value, then
653-
Factor = 0.0 #increase the base value with [factor*consensus size]
654-
[Antiflood.SlowReacting.BlackList]
655-
ThresholdNumMessagesPerInterval = 10000
656-
ThresholdSizePerInterval = 37748736 # 36MB/interval
657-
PeerBanDurationInSeconds = 3600
658-
659-
[Antiflood.OutOfSpecs]
660-
IntervalInSeconds = 1
661-
ReservedPercent = 0.0
662-
[Antiflood.OutOfSpecs.PeerMaxInput]
663-
BaseMessagesPerInterval = 2000
664-
TotalSizePerInterval = 10485760 # 10MB/interval
665-
[Antiflood.OutOfSpecs.PeerMaxInput.IncreaseFactor]
666-
Threshold = 0 #if consensus size will exceed this value, then
667-
Factor = 0.0 #increase the base value with [factor*consensus size]
668-
[Antiflood.OutOfSpecs.BlackList]
669-
ThresholdNumMessagesPerInterval = 3600
670-
ThresholdSizePerInterval = 12582912 # 12MB/interval
671-
PeerBanDurationInSeconds = 3600
672-
673-
[Antiflood.PeerMaxOutput]
674-
BaseMessagesPerInterval = 150
675-
TotalSizePerInterval = 2097152 #2MB/s
676-
677-
[Antiflood.Cache]
678-
Name = "Antiflood"
679-
Capacity = 7000
680-
Type = "LRU"
681-
[Antiflood.Topic]
682-
DefaultMaxMessagesPerSec = 15000
683-
MaxMessages = [{ Topic = "shardBlocks*", NumMessagesPerSec = 30 },
684-
{ Topic = "metachainBlocks", NumMessagesPerSec = 30 }]
685-
686-
[Antiflood.TxAccumulator]
687-
# MaxAllowedTimeInMilliseconds is used as a time frame in which the node gathers transactions.
688-
# After this period, collected transactions will be sent on the p2p topics
689-
MaxAllowedTimeInMilliseconds = 250
690-
# MaxDeviationTimeInMilliseconds represents the time in miliseconds that will cause the effectual time frame be
691-
# less than the specified max value. This is used to create desynchronizations between senders as to not
692-
# clutter the network exactly in the same moment
693-
MaxDeviationTimeInMilliseconds = 25
632+
[[Antiflood.ConfigsByRound]]
633+
Round = 0
634+
NumConcurrentResolverJobs = 50
635+
NumConcurrentResolvingTrieNodesJobs = 3
636+
[Antiflood.ConfigsByRound.FastReacting]
637+
IntervalInSeconds = 1
638+
ReservedPercent = 20.0
639+
[Antiflood.ConfigsByRound.FastReacting.PeerMaxInput]
640+
BaseMessagesPerInterval = 280
641+
TotalSizePerInterval = 4194304 #4MB/s
642+
[Antiflood.ConfigsByRound.FastReacting.PeerMaxInput.IncreaseFactor]
643+
Threshold = 10 #if consensus size will exceed this value, then
644+
Factor = 1.0 #increase the base value with [factor*consensus size]
645+
[Antiflood.ConfigsByRound.FastReacting.BlackList]
646+
ThresholdNumMessagesPerInterval = 1000
647+
ThresholdSizePerInterval = 8388608 #8MB/s
648+
NumFloodingRounds = 10
649+
PeerBanDurationInSeconds = 300
650+
651+
[Antiflood.ConfigsByRound.SlowReacting]
652+
IntervalInSeconds = 30
653+
ReservedPercent = 20.0
654+
[Antiflood.ConfigsByRound.SlowReacting.PeerMaxInput]
655+
BaseMessagesPerInterval = 6000
656+
TotalSizePerInterval = 18874368 # 18MB/interval
657+
[Antiflood.ConfigsByRound.SlowReacting.PeerMaxInput.IncreaseFactor]
658+
Threshold = 10 #if consensus size will exceed this value, then
659+
Factor = 0.0 #increase the base value with [factor*consensus size]
660+
[Antiflood.ConfigsByRound.SlowReacting.BlackList]
661+
ThresholdNumMessagesPerInterval = 10000
662+
ThresholdSizePerInterval = 37748736 # 36MB/interval
663+
NumFloodingRounds = 2
664+
PeerBanDurationInSeconds = 3600
665+
666+
[Antiflood.ConfigsByRound.OutOfSpecs]
667+
IntervalInSeconds = 1
668+
ReservedPercent = 0.0
669+
[Antiflood.ConfigsByRound.OutOfSpecs.PeerMaxInput]
670+
BaseMessagesPerInterval = 2000
671+
TotalSizePerInterval = 10485760 # 10MB/interval
672+
[Antiflood.ConfigsByRound.OutOfSpecs.PeerMaxInput.IncreaseFactor]
673+
Threshold = 0 #if consensus size will exceed this value, then
674+
Factor = 0.0 #increase the base value with [factor*consensus size]
675+
[Antiflood.ConfigsByRound.OutOfSpecs.BlackList]
676+
ThresholdNumMessagesPerInterval = 3600
677+
ThresholdSizePerInterval = 12582912 # 12MB/interval
678+
NumFloodingRounds = 2
679+
PeerBanDurationInSeconds = 3600
680+
681+
[Antiflood.ConfigsByRound.PeerMaxOutput]
682+
[Antiflood.ConfigsByRound.PeerMaxOutput.PeerMaxInput]
683+
BaseMessagesPerInterval = 150
684+
TotalSizePerInterval = 2097152 #2MB/s
685+
686+
[Antiflood.ConfigsByRound.Cache]
687+
Name = "Antiflood"
688+
Capacity = 7000
689+
Type = "LRU"
690+
[Antiflood.ConfigsByRound.Topic]
691+
DefaultMaxMessagesPerSec = 15000
692+
MaxMessages = [{ Topic = "shardBlocks*", NumMessagesPerSec = 30 },
693+
{ Topic = "metachainBlocks", NumMessagesPerSec = 30 }]
694+
695+
[Antiflood.ConfigsByRound.TxAccumulator]
696+
# MaxAllowedTimeInMilliseconds is used as a time frame in which the node gathers transactions.
697+
# After this period, collected transactions will be sent on the p2p topics
698+
MaxAllowedTimeInMilliseconds = 250
699+
# MaxDeviationTimeInMilliseconds represents the time in miliseconds that will cause the effectual time frame be
700+
# less than the specified max value. This is used to create desynchronizations between senders as to not
701+
# clutter the network exactly in the same moment
702+
MaxDeviationTimeInMilliseconds = 25
703+
704+
[[Antiflood.ConfigsByRound]]
705+
Round = 99999999
706+
NumConcurrentResolverJobs = 50
707+
NumConcurrentResolvingTrieNodesJobs = 3
708+
[Antiflood.ConfigsByRound.FastReacting]
709+
IntervalInSeconds = 1
710+
ReservedPercent = 20.0
711+
[Antiflood.ConfigsByRound.FastReacting.PeerMaxInput]
712+
BaseMessagesPerInterval = 280
713+
TotalSizePerInterval = 4194304 #4MB/s
714+
[Antiflood.ConfigsByRound.FastReacting.PeerMaxInput.IncreaseFactor]
715+
Threshold = 10 #if consensus size will exceed this value, then
716+
Factor = 1.0 #increase the base value with [factor*consensus size]
717+
[Antiflood.ConfigsByRound.FastReacting.BlackList]
718+
ThresholdNumMessagesPerInterval = 1000
719+
ThresholdSizePerInterval = 8388608 #8MB/s
720+
NumFloodingRounds = 100
721+
PeerBanDurationInSeconds = 300
722+
723+
[Antiflood.ConfigsByRound.SlowReacting]
724+
IntervalInSeconds = 30
725+
ReservedPercent = 20.0
726+
[Antiflood.ConfigsByRound.SlowReacting.PeerMaxInput]
727+
BaseMessagesPerInterval = 6000
728+
TotalSizePerInterval = 18874368 # 18MB/interval
729+
[Antiflood.ConfigsByRound.SlowReacting.PeerMaxInput.IncreaseFactor]
730+
Threshold = 10 #if consensus size will exceed this value, then
731+
Factor = 0.0 #increase the base value with [factor*consensus size]
732+
[Antiflood.ConfigsByRound.SlowReacting.BlackList]
733+
ThresholdNumMessagesPerInterval = 10000
734+
ThresholdSizePerInterval = 37748736 # 36MB/interval
735+
NumFloodingRounds = 20
736+
PeerBanDurationInSeconds = 3600
737+
738+
[Antiflood.ConfigsByRound.OutOfSpecs]
739+
IntervalInSeconds = 1
740+
ReservedPercent = 0.0
741+
[Antiflood.ConfigsByRound.OutOfSpecs.PeerMaxInput]
742+
BaseMessagesPerInterval = 2000
743+
TotalSizePerInterval = 10485760 # 10MB/interval
744+
[Antiflood.ConfigsByRound.OutOfSpecs.PeerMaxInput.IncreaseFactor]
745+
Threshold = 0 #if consensus size will exceed this value, then
746+
Factor = 0.0 #increase the base value with [factor*consensus size]
747+
[Antiflood.ConfigsByRound.OutOfSpecs.BlackList]
748+
ThresholdNumMessagesPerInterval = 3600
749+
ThresholdSizePerInterval = 12582912 # 12MB/interval
750+
NumFloodingRounds = 20
751+
PeerBanDurationInSeconds = 3600
752+
753+
[Antiflood.ConfigsByRound.PeerMaxOutput]
754+
[Antiflood.ConfigsByRound.PeerMaxOutput.PeerMaxInput]
755+
BaseMessagesPerInterval = 150
756+
TotalSizePerInterval = 2097152 #2MB/s
757+
758+
[Antiflood.ConfigsByRound.Cache]
759+
Name = "Antiflood"
760+
Capacity = 7000
761+
Type = "LRU"
762+
[Antiflood.ConfigsByRound.Topic]
763+
DefaultMaxMessagesPerSec = 15000
764+
MaxMessages = [{ Topic = "shardBlocks*", NumMessagesPerSec = 30 },
765+
{ Topic = "metachainBlocks", NumMessagesPerSec = 30 }]
766+
767+
[Antiflood.ConfigsByRound.TxAccumulator]
768+
# MaxAllowedTimeInMilliseconds is used as a time frame in which the node gathers transactions.
769+
# After this period, collected transactions will be sent on the p2p topics
770+
MaxAllowedTimeInMilliseconds = 80
771+
# MaxDeviationTimeInMilliseconds represents the time in miliseconds that will cause the effectual time frame be
772+
# less than the specified max value. This is used to create desynchronizations between senders as to not
773+
# clutter the network exactly in the same moment
774+
MaxDeviationTimeInMilliseconds = 25
775+
# Antiflood config ends here for Supernova
694776

695777
[WebServerAntiflood]
696778
WebServerAntifloodEnabled = true

0 commit comments

Comments
 (0)