multiquic support in solana_streamer -- rebase of #634 to latest master#1452
Merged
lijunwangs merged 13 commits intoanza-xyz:masterfrom Jun 21, 2024
Merged
multiquic support in solana_streamer -- rebase of #634 to latest master#1452lijunwangs merged 13 commits intoanza-xyz:masterfrom
lijunwangs merged 13 commits intoanza-xyz:masterfrom
Conversation
cf9ae04 to
8250821
Compare
|
I've re-re-re-reviewed this. It looks great (😏), except for the manual range thing, which I would try to undo. See this commit: solana-labs@fb0eea2. I think if we revert this - so we don't set reuseport=true in multi_bind_in_range - it should work (tm). I don't think that reverting that commit actually breaks anything. In most other places we don't set reuseport=true, so WSL will break there anyway. I'd just revert it. |
alessandrod
reviewed
Jun 15, 2024
e5126e4 to
34e5f28
Compare
tpu: use multiple quic endpoints cluster-info: manage port range by hand... local-cluster: keep udp tpu socket around for tests
… to use the same QUIC ports
92a59f4 to
3198b88
Compare
alessandrod
approved these changes
Jun 21, 2024
samkim-crypto
pushed a commit
to samkim-crypto/agave
that referenced
this pull request
Jul 31, 2024
…est master (anza-xyz#1452) * net-utils: support SO_REUSEPORT tpu: use multiple quic endpoints cluster-info: manage port range by hand... local-cluster: keep udp tpu socket around for tests * Missing cargo file * sort cargo.toml * divide the concurrent_connections among the endpoints for multiquic * Change default multiquic endpoint count to 1 * Missing Cargo.lock changes * revert reuseaddr changes * revert reuseaddr changes;fmt code * reverted port range changes * revert DEFAULT_TPU_ENABLE_UDP change in local_cluster * Turn tpu_enable_udp to true to prevent concurrent local cluster tests to use the same QUIC ports * changed QUIC_ENDPOINTS to 10 for testing * Turn QUIC_ENDPOINTS to 1 for now --------- Co-authored-by: Trent Nelson <trent@solana.com> Co-authored-by: Lijun Wang <lijun.wang@oracle.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
We have found in production that the quic streamer endpoint is overwhelmed with connections and txn packets that cause large number of connection timeout or send transaction time out. With multiple endpoints, multiple threads can be utilized to ingest the input packets.
Summary of Changes
tpu: use multiple quic endpoints
cluster-info: manage port range by hand...
local-cluster: keep udp tpu socket around for tests
First set the number of endpoint to 1 -- pending more test results in the latest v1.18 on skip rage problem.
Fixes #