-
Notifications
You must be signed in to change notification settings - Fork 3.9k
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
moves shreds deduper to shred-sigverify stage #30786
Conversation
Instead the thread-pool is passed explicitly from higher in the call stack so that: solana-labs#30786 can use the same thread-pool for shred deduplication.
Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication.
Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication.
2336ac2
to
4ba3396
Compare
Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication.
cbff905
to
88a4c86
Compare
Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication.
4ba3396
to
cbff905
Compare
If turbine_disabled is true, the commit discards turbine packets earlier in the pipeline so that they won't interfere with the deduper and the packets can get through once turbine is enabled again. This is a pre-requisite of: solana-labs#30786 so that local-cluster tests pass.
If turbine_disabled is true, the commit discards turbine packets earlier in the pipeline so that they won't interfere with the deduper and the packets can get through once turbine is enabled again. This is a prerequisite of: solana-labs#30786 so that local-cluster tests pass.
Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication.
88a4c86
to
6baea00
Compare
If turbine_disabled is true, the commit discards turbine packets earlier in the pipeline so that they won't interfere with the deduper and the packets can get through once turbine is enabled again. This is a prerequisite of: solana-labs#30786 so that local-cluster tests pass.
Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication.
6baea00
to
86b3b0d
Compare
Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication.
86b3b0d
to
6af63ec
Compare
Instead the thread-pool is passed explicitly from higher in the call stack so that #30786 can use the same thread-pool for shred deduplication.
If turbine_disabled is true, the commit discards turbine packets earlier in the pipeline so that they won't interfere with the deduper and the packets can get through once turbine is enabled again. This is a prerequisite of: #30786 so that local-cluster tests pass.
1e9a73c
to
92f2d3b
Compare
Shreds arriving at tvu/tvu_forward/repair sockets are each processed in a separate thread, and since each thread has its own deduper, the duplicates across these sockets are not filtered out. Using a common deduper across these threads will require an RwLock wrapper and may introduce lock contention. The commit instead moves the shred-deduper to shred-sigverify-stage where all these shreds arrive through the same channel.
92f2d3b
to
bc280c3
Compare
If turbine_disabled is true, the commit discards turbine packets earlier in the pipeline so that they won't interfere with the deduper and the packets can get through once turbine is enabled again. This is a prerequisite of: #30786 so that local-cluster tests pass. (cherry picked from commit e66edeb) # Conflicts: # core/src/shred_fetch_stage.rs
Codecov Report
@@ Coverage Diff @@
## master #30786 +/- ##
=======================================
Coverage 81.4% 81.4%
=======================================
Files 725 725
Lines 203596 203602 +6
=======================================
+ Hits 165833 165866 +33
+ Misses 37763 37736 -27 |
…t of #30787) (#30827) * removes lazy-static thread-pool from sigverify-shreds (#30787) Instead the thread-pool is passed explicitly from higher in the call stack so that #30786 can use the same thread-pool for shred deduplication. (cherry picked from commit c6e7aaf) # Conflicts: # core/src/sigverify_shreds.rs # ledger/src/sigverify_shreds.rs * resolves mergify merge conflicts --------- Co-authored-by: behzad nouri <behzadnouri@gmail.com>
…30799) (#30828) * moves turbine-disabled check to shred-fetch-stage (#30799) If turbine_disabled is true, the commit discards turbine packets earlier in the pipeline so that they won't interfere with the deduper and the packets can get through once turbine is enabled again. This is a prerequisite of: #30786 so that local-cluster tests pass. (cherry picked from commit e66edeb) # Conflicts: # core/src/shred_fetch_stage.rs * resolves mergify merge conflicts --------- Co-authored-by: behzad nouri <behzadnouri@gmail.com>
…t of solana-labs#30787) removes lazy-static thread-pool from sigverify-shreds solana-labs#30787 Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication. (cherry picked from commit c6e7aaf)
…t of solana-labs#30787) removes lazy-static thread-pool from sigverify-shreds solana-labs#30787 Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication. (cherry picked from commit c6e7aaf)
…t of solana-labs#30787) removes lazy-static thread-pool from sigverify-shreds solana-labs#30787 Instead the thread-pool is passed explicitly from higher in the call stack so that solana-labs#30786 can use the same thread-pool for shred deduplication. (cherry picked from commit c6e7aaf)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any concerns here wrt extra load on the shred sigverify channel? afaict we're going from up to one copy of the shred per source to all sanitized shreds going over that channel. should we consider introducing some load shedding?
hmmm, that is not change compared to before. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Shreds arriving at tvu/tvu_forward/repair sockets are each processed in a separate thread, and since each thread has its own deduper, the duplicates across these sockets are not filtered out. Using a common deduper across these threads will require an RwLock wrapper and may introduce lock contention. The commit instead moves the shred-deduper to shred-sigverify-stage where all these shreds arrive through the same channel. (cherry picked from commit 25b7811) # Conflicts: # core/src/shred_fetch_stage.rs # core/src/sigverify_shreds.rs
) (#30861) * moves shreds deduper to shred-sigverify stage (#30786) Shreds arriving at tvu/tvu_forward/repair sockets are each processed in a separate thread, and since each thread has its own deduper, the duplicates across these sockets are not filtered out. Using a common deduper across these threads will require an RwLock wrapper and may introduce lock contention. The commit instead moves the shred-deduper to shred-sigverify-stage where all these shreds arrive through the same channel. (cherry picked from commit 25b7811) # Conflicts: # core/src/shred_fetch_stage.rs # core/src/sigverify_shreds.rs * resolves mergify merge conflicts --------- Co-authored-by: behzad nouri <behzadnouri@gmail.com>
Problem
Shreds arriving at tvu/tvu_forward/repair sockets are each processed in
a separate thread, and since each thread has its own deduper, the
duplicates across these sockets are not filtered out.
Using a common deduper across these threads will require an RwLock
wrapper and may introduce lock contention.
Summary of Changes
The commit instead moves the shred-deduper to shred-sigverify-stage
where all these shreds arrive through the same channel.