-
Notifications
You must be signed in to change notification settings - Fork 16
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
Measure statistical significance of Domain setup #47
Comments
I've been trying to have some numbers comparing bug-triggering with
Code is here: https://github.com/n-osborne/multicoretests/blob/domain-stats/src/neg_tests/conclist_stm_tests.ml#L53 and here: https://github.com/n-osborne/multicoretests/blob/domain-stats/lib/STM.ml#L391 |
That's indeed interesting that the I had a quick look:
|
Yes, that works better that way.
That was just to have something a bit more accurate for speed. So This is with
|
Ah, that is indeed quite a difference! 😮 i'm surprised by the number 36868 though! |
There's one remaining usage of
cpu_relax
in spinning the first domain while waiting for the second domain to start-up:https://github.com/jmid/multicoretests/blob/8a9a2327e06036f06ca5ef4b1321129ccff557d6/lib/lin.ml#L122-L124
Now that we have statistics in place, it would be natural to give this
Domain
setup a run-down to see what aspects actually influence the bug-finding ability similar to what I did forThread
recently: https://github.com/jmid/multicoretests/blob/8a9a2327e06036f06ca5ef4b1321129ccff557d6/src/statistics/README.md?plain=1#L129-L143For
Thread
a wait loop had an significant effect. ForDomain
it would be nice to confirm - and also investigate whether there could be better ways to accomplish this. In the tests for the work-stealing deque that has now been pulled out ofdomainslib
the spinning did not work at all to trigger issues on MacOSX, so I ended up going with a binary semaphore: https://github.com/jmid/multicoretests/blob/8a9a2327e06036f06ca5ef4b1321129ccff557d6/src/domainslib/ws_deque_test.ml#L131-L133The simpler, the better. A combination of a
Mutex
and aCondition
variable may also be sufficient.Originally posted by @jmid in #43 (comment)
The text was updated successfully, but these errors were encountered: