Skip to content

Convert node-wide request rate limiter to a per-channel outstanding request limiter.#4211

Merged
clemahieu merged 1 commit intonanocurrency:developfrom
clemahieu:bootstrap_channel_scoring
Apr 17, 2023
Merged

Convert node-wide request rate limiter to a per-channel outstanding request limiter.#4211
clemahieu merged 1 commit intonanocurrency:developfrom
clemahieu:bootstrap_channel_scoring

Conversation

@clemahieu
Copy link
Copy Markdown
Contributor

This patch adds channel scoring functionality to the ascending bootstrapper. It prioritises using the most responsive channels first, e.g. the channels with the lowest outstanding requests.

Since there is no guarantee requests will be responded to, the scores periodically "decay" when timeouts are calculated.

This scoring opens up future possibilities for additional metrics; an example would be tracking telemetry information and not requesting nodes that report low block counts.

Performance wise this looks to have ~2x improvement over randomly selecting channels as was done previously.

@clemahieu clemahieu added this to the V25.0 milestone Apr 5, 2023
@clemahieu clemahieu requested review from pwojcikdev and thsfs April 5, 2023 17:07
@clemahieu clemahieu force-pushed the bootstrap_channel_scoring branch from 1ed7c33 to 1f7136b Compare April 13, 2023 16:28
@clemahieu clemahieu marked this pull request as ready for review April 13, 2023 16:28
@clemahieu clemahieu force-pushed the bootstrap_channel_scoring branch 3 times, most recently from 6c9f9d6 to 442f0cd Compare April 13, 2023 16:51
@thsfs thsfs force-pushed the bootstrap_channel_scoring branch from 02ef3a1 to 23e7268 Compare April 13, 2023 21:59
…equest limiter.

Adding prioritizing for selecting channels, picking most responsive channel first.
@clemahieu clemahieu force-pushed the bootstrap_channel_scoring branch from 1c83e83 to 8df88cd Compare April 14, 2023 17:43
@clemahieu clemahieu merged commit d3fcc4d into nanocurrency:develop Apr 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants