Hacker News new | ask | show | jobs
by tialaramex 263 days ago
Loss of Sequential Consistency means realistically humans cannot understand the behaviour of the software and so "garbage" seems like a reasonable characterisation of the results. It might take a team of experts some considerable time to explain why your software did whatever it did, or you can say "that's garbage" and try to fix the problem without that understanding of the results.

The hope when Java developed this memory model was that loss of SC is something humans can cope with, it was not, the behaviour is too strange.

1 comments

Even with sequential consistency, interweaving multiple threads produces results that go firmly into the garbage category. Even something as simple as adding to a variable can fail.

To solve interweaving, add mutexes. And once you have mutexes you'll be protected from weak memory models.