-
Notifications
You must be signed in to change notification settings - Fork 10
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
Improve parallel clocks #31
Comments
Unfortunately I cannot see the following comment by @SamRodkey here on Github its link should be #31 (comment)
|
@SamRodkey posted another comment not visible here:
I post it here from my emails in order to work on it. |
@SamRodkey thank you for this report. First DiagnosisI can reproduce those failures. I am not sure about the further failure stack into random number generation, but the call is doing the wrong thing: after a call to Instead a process running under a parallel clock must schedule an event to the same clock, not to another random one. In order to do so it must call |
@SamRodkey : In your first comment you reported:
I know of "very poor performance" with lots and lots of processes (in the thousands or so). But I have to investigate performance degradation beyond "10 or so processes". That should not be the case.
I agree that often it is the more appropriate approach. And therefore there should be no performance degradation with numbers of processes in a reasonable range. One first impression: In your |
ok, regarding the above Task failures the problem was the use of To doThere remains the problem with a call to |
Register v0.3.4@JuliaRegistrator register Release notes: This is a bugfix release:
|
Registration pull request created: JuliaRegistries/General/34111 After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version. This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
|
Sorry for the super delayed reply @pbayer. I ended up deleting my comment originally because I think after working on it for a little while, I was not sure if it was user error and me doing something dumb that isn't how the code is intended to be used. Your comments above indicate that at least it wasn't expected behavior.
I am pretty aggressively using Channels to communicate certain data between parallel processes. I kind of figured that was the most "simple" approach when I have multiple agents all taking from the same queue, but maybe this isn't optimal for performance? I definitely do see my sim grinding alot and running slower than I think I expected when I have 16-32 agents all taking from a common task queue. I will investigate further this week. |
I close this issue since in my view parallel clocks have to be rewritten to make it stable, see issue #47 . So, sorry, back to the drawing board 😥 |
Facilitate the use of parallel clocks:
This will improve greatly the speed of single- and multi-threaded simulations.
It eliminates the need to use
onthread
to speedup task-based single-threaded simulations.The text was updated successfully, but these errors were encountered: