You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Channel.RecentlySent is used for choosing priority of a channel. Currently channel selection is done as channel with the minimum channel.RecentlySent / channel.Priority ratio. Every packet message increases channel.RecentlySent by the proto-encoded packet size. channel.RecentlySent gets lowered by 20% at every UpdateStats window (which is just a 2 second timer).
BlockGossip is consensus time critical, and has very large packets. Its current priority weight is 10, vs vote's 7, hasVote's 1, and mempool's 5. Its packets are block parts which are large. This guarantees block gossip will always be the lowest prioritized packet out of all packets, since its recently sent will always be very large (in the 100kb's), which is problematic for fast block gossip. Any of the vote messages or mempool messages to a peer will outcompete block part gossip in the prioritization.
This matches behavior observed that we never hit our bandwidth flow rates in production and that block gossip just occurs slowly.
Instead channel.RecentlySent should first off be based on the number of packets on a channel, not the bandwidth size.
Problem Definition
This should greatly increase the prioritization of block gossip.
Proposal
channel.RecentlySent should first off be based on the number of packets on a channel, not the bandwidth size.
The text was updated successfully, but these errors were encountered:
Can you please re-phrase the issue focusing on the problem that we want to solve, or the feature we want to implement, instead of the implementation steps/change/details? While this part is also important, and should be included, for a general reader would be interesting to understand the actual proposal here.
I am also wondering whether this is a " Protocol change proposal " instead of a feature request, as this change would impact the whole operation of the p2p layer.
ValarDragon
changed the title
Change Channel.RecentlySent to be number of messages, not number of bytes
Make channel de-prioritization based on number of messages in channel (rather than number of bytes sent on channel)
May 13, 2024
ValarDragon
changed the title
Make channel de-prioritization based on number of messages in channel (rather than number of bytes sent on channel)
Make channel prioritization based on number of messages in channel (vs number of bytes sent)
May 13, 2024
Feature Request
Summary
Channel.RecentlySent
is used for choosing priority of a channel. Currently channel selection is done as channel with the minimumchannel.RecentlySent / channel.Priority
ratio. Every packet message increaseschannel.RecentlySent
by the proto-encoded packet size.channel.RecentlySent
gets lowered by 20% at everyUpdateStats
window (which is just a 2 second timer).BlockGossip is consensus time critical, and has very large packets. Its current priority weight is 10, vs vote's 7, hasVote's 1, and mempool's 5. Its packets are block parts which are large. This guarantees block gossip will always be the lowest prioritized packet out of all packets, since its recently sent will always be very large (in the 100kb's), which is problematic for fast block gossip. Any of the vote messages or mempool messages to a peer will outcompete block part gossip in the prioritization.
This matches behavior observed that we never hit our bandwidth flow rates in production and that block gossip just occurs slowly.
Instead channel.RecentlySent should first off be based on the number of packets on a channel, not the bandwidth size.
Problem Definition
This should greatly increase the prioritization of block gossip.
Proposal
channel.RecentlySent should first off be based on the number of packets on a channel, not the bandwidth size.
The text was updated successfully, but these errors were encountered: