-
Notifications
You must be signed in to change notification settings - Fork 62
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
Multithreading parallelism #599
Labels
Comments
This will be easier to test and benchmark on some of the upcoming MSPFormat problems, in which SDDP.jl performs poorly compared with QUASAR. (A Markovian graph with 22,000+ nodes.) |
One blocker is SDDP.jl/src/plugins/duality_handlers.jl Lines 64 to 80 in e631d22
|
I have something in #758 that seems to work well. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The asynchronous solver currently uses multiprocessing. This causes a lot of excess RAM usage because we need N copies of the full problem.
If we introduced a lock to every subproblem, then we could have the asynchronous threads operating in parallel over a single
PolicyGraph
. We'd just need to be careful to always obtain a lock whenever we modified data inside a node. And potentially avoid some of the plugins that have state, likePSRSamplingScheme
.I don't have plans to implement this, just noting so that I can come back to this in future.
The text was updated successfully, but these errors were encountered: