-
Notifications
You must be signed in to change notification settings - Fork 133
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
Simple parallelization framework #4501
base: master
Are you sure you want to change the base?
Simple parallelization framework #4501
Conversation
Out of curiosity, what is the overhead for of spawning a process/moving the data around? I know it depends on the application, but having the timings for a simple example as in the tests would be interesting. |
Unfortunately it seems difficult to reproduce a working version of this right now. We had it yesterday at some point, but I don't seem to figure out what's going wrong now. Once we have it back running, I'll put some communication timings here. This will also be interesting for when it comes comparing with the native Singular serialization. |
The tests added here are running again, thanks to yesterday's work by @antonydellavecchia ! So here are some timings. As far as I understand, without starting a new process, parallel tasks are automatically executed on the parent process. I get these timings:
When I start one other process, as indicated in the tests, I get the following:
@antonydellavecchia : Do you happen to know whether the serialization and deserialization also takes place in the first case? Or do we benefit from some caching there? That would be interesting to know in order to estimate how much time goes into deserialization and how much time is actually spent in sending the things around. Edit: Interestingly timings seem to go up when using more workers. With four processes spawned I get
|
If you repeated the experiment with the same Ring then yes the it will be cached on all processes. |
Based on #4162 by @antonydellavecchia.
At the moment this is WIP and still failing.