-
Notifications
You must be signed in to change notification settings - Fork 2.1k
perf: rm pending queue from MultiproofManager #19178
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
Conversation
4db576c to
22715cc
Compare
mattsse
left a comment
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, we need this anyway for #19183
| chunks += 1; | ||
| }; | ||
|
|
||
| if should_chunk && let Some(chunk_size) = self.chunk_size { |
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.
leaving a comment to not forget to need to fix this, because now we always chunk even if all workers are busy
we should look into this for this PR leaving a note (cc @shekhirin @mediocregopher @mattsse ) ref: |
|
@mattsse @shekhirin @mediocregopher just added in a way for us to track avaliable worker and chunk if we have avaliable worker. In the future we should prob go for dynamic logic but this is a simple one for now |
This reverts commit 9419424.
- Introduced a counter for available workers to manage task processing. - Updated multiproof spawning logic to utilize worker availability for chunking. - Enhanced worker decrement/increment logic during task execution.
…ultiproof manager - Eliminated the worker count variable and associated logic from the multiproof manager. - Updated multiproof spawning to check for available account workers instead of a general worker count. - Cleaned up related comments and code for clarity and maintainability.
- We no longer seed the counters with the worker count. In ProofWorkerHandle::new we switched to zero-initializing both atomics
9b484a2 to
74d8d3c
Compare
- Added histograms for pending storage and account tasks in the MultiproofManager. - Implemented methods in ProofWorkerHandle to retrieve the count of pending storage and account tasks. - Updated multiproof processing logic to record these new metrics.
- Added recording of pending storage and account tasks in the MultiproofManager upon calculation completion. - Enhanced metrics tracking to provide better insights into task management.
BenchmarksPerformance Changes: Statistics: |


closes: #19177
This is a follow up from #19171 where we removed the cli args. here, we remove the inflight limits completely.
The core changes are instead of manually allocating task from a VecDeque, we make use of the unbounded crossbeam channel as queue to allocate tasks and perform backpressure.