Closed EDToaster closed 1 year ago
@EDToaster Good catch, I never noticed this! That's probably because the issue does not occur on my own machines with a lower core count.
@darnellbrawner As the contributor of the solution in question, could you maybe lend your perspective on this?
Something strange -- if I comment out the other MT implementation (with Ractor), the program exits properly after 5 seconds. Maybe it's an implementation issue with Ractor?
Could be. I know for sure I'm not able to address the issue in either case. I also know that a 4-hour run for a single implementation is not sustainable.
I'll allow @darnellbrawner some time to respond and address this. If that doesn't lead to resolution of this issue, I'll take the Ractor implementation out of the automated benchmark runs, for now.
4-hour oof ill take a look. I don't have access to a large core count machine but let me see what I can find.
@EDToaster Would it be possible for you to verify if the change proposed in #915 addresses the issue on your high core count machine?
Confirmed that the program does terminate under a minute, but the MT performance is not the best
❯ ruby --jit -W0 prime.rb
darnellbrawner-Numo;829;5.005;1;algorithm=base,faithful=no
darnellbrawner-MultiThreaded;1;19.638;96;algorithm=base,faithful=yes
darnellbrawner-MultiThreaded-Numo_2core;1;26.375;2;algorithm=base,faithful=no
but the MT performance is not the best
That's a good finding that someone may want to investigate and improve on, but my conclusion is that the problem that is the subject of this issue will be fixed with the merge of #915.
but my conclusion is that the problem that is the subject of this issue will be fixed
yup.
Closing after merging of #915.
I haven't debugged this myself, but Ruby solution 2 (
darnellbrawner-MultiThreaded-Numo_2core
) seems to take > 4 hours to complete on systems with high core counts (not confirmed this is the root cause).See this run on 16 physical cores: link
Same thing happens on my system with 48 physical and 96 logical cores.
Here's the output of my
lscpu