-
Notifications
You must be signed in to change notification settings - Fork 12
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
v7: Process-based parallelism #60
Comments
SimpleIPC seems to be included in the default FPC distribution, I'll start with that. |
Hi @PMeira, I have 2 processes and on each process, I have an OpenDSS instance. These 2 instances could run independently without blocking each other? Is there any chance that they would wait for each other to use the solver? |
Hi, @toanngosy , The processes are independent, the only issue would be if you produce, for example, text files ( A couple of versions of the official OpenDSS 8+ on Windows had some issues but that never affected DSS C-API. |
Thank you so much, I will look into it. |
Closing since a release in the coming future will still use threads, initially. If that doesn't turn out great, we'll get back to the process approach. |
Comparing the performance, past bugs and some remaining issues with the Version 8 codebase compared to Version 7, I can think of two general approaches for porting the actor-based parallel-machine features for Version 7:
Encapsulate an OpenDSS instance in an object, removing most of the global state from OpenDSS to make it more thread-safe. This could be a large task, so it might be better to do it in a whole alternative implementation.
Use an IPC mechanism and shared memory constructs to simplify actors, while still maintaining most of the features from Version 8 in Version 7.
IPC should be easier to implement, so we can at least give it a try. If it's successful, we can drop our Version 8 implementation and be confident that most of the Version 8 bugs won't be present.
The text was updated successfully, but these errors were encountered: