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

Compute maximum parallel QUIC streams using client stake #26802

Merged
merged 3 commits into from
Jul 29, 2022

Conversation

pgarg66
Copy link
Contributor

@pgarg66 pgarg66 commented Jul 27, 2022

Problem

QUIC client is always chunking transactions with QUIC_MAX_UNSTAKED_CONCURRENT_STREAMS as maximum number of chunks. This limits staked clients (e.g. nodes forwarding transactions) on how fast the transactions can be sent.

The following graph is from master branch.
image

Summary of Changes

This PR updates client to use the same logic as QUIC streamer to calculate how many transactions can be sent in parallel. The calculation uses client's stake and total stake across cluster. The information is already available on a full validator node.

The following graph is with this PR
image

Fixes #

@pgarg66 pgarg66 force-pushed the client-staked-stream branch from 546eefa to 92f7e5d Compare July 27, 2022 01:41
@pgarg66 pgarg66 marked this pull request as ready for review July 27, 2022 04:38
@pgarg66 pgarg66 requested a review from sakridge July 27, 2022 04:39
Copy link
Member

@sakridge sakridge left a comment

Choose a reason for hiding this comment

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

Lgtm

@pgarg66 pgarg66 merged commit fb922f6 into solana-labs:master Jul 29, 2022
@pgarg66 pgarg66 deleted the client-staked-stream branch July 29, 2022 15:44
lijunwangs pushed a commit to lijunwangs/solana that referenced this pull request Sep 10, 2022
…#26802)

* Compute maximum parallel QUIC streams using client stake

* clippy fixes

* Add unit test
lijunwangs pushed a commit to lijunwangs/solana that referenced this pull request Sep 13, 2022
…#26802)

* Compute maximum parallel QUIC streams using client stake

* clippy fixes

* Add unit test
lijunwangs pushed a commit to lijunwangs/solana that referenced this pull request Sep 13, 2022
…#26802)

* Compute maximum parallel QUIC streams using client stake

* clippy fixes

* Add unit test
lijunwangs pushed a commit to lijunwangs/solana that referenced this pull request Sep 13, 2022
…#26802)

* Compute maximum parallel QUIC streams using client stake

* clippy fixes

* Add unit test
lijunwangs pushed a commit that referenced this pull request Sep 14, 2022
* Compute maximum parallel QUIC streams using client stake

* clippy fixes

* Add unit test
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.

2 participants