-
-
Notifications
You must be signed in to change notification settings - Fork 72
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
Thunk cost estimation, chunk caching, benchmark updates #210
Conversation
This file contains 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
vchuravy
reviewed
Apr 19, 2021
78be8b7
to
2f22449
Compare
Adds a linked list-based cache of available processors (O(N)->O(1) best case) Adds round-robin scheduling option to SchedulerOptions Concretizes some Ref types in ComputeState
Measure and cache task cost in scheduler (per-function) Use estimated task cost to indicate expected pressure Batch up per-processor task launches into one remote_do Record load average for future usage Reorganization of Sch.jl Fix init_proc capacity detection
Start only a single render server in live mode Add Context copy ctor Allow rendering to fail, not hang Disable rendering by default Reduce bench samples from 5 to 3 Summarize bench results with minimum Add option to automatically run visualize script post-benchmarks
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.
This PR adds runtime estimation of thunk costs (per signature) to get as close to max utilization as possible (without impacting total runtime). It also adds chunk data caches to workers, which will be freed by the scheduler once they're no longer needed.
Depends on JuliaData/MemPool.jl#49Not doing this for now, wrong API for performance reasons.Closes #205
Todo:
Scale thunk cost by number of running thunks on same processorSomething for later, possiblyAdd lots more benchmarks from https://blog.dask.org/2017/07/03/scalingAdd Dask scheduler performance benchmarks #220