4 ms·
While the single-threaded execution means that issues from thread interleaving on the scale of nanoseconds will effectively not happen, multiple threads are sti
by dzaima 2y ago
While the single-threaded execution means that issues from thread interleaving on the scale of nanoseconds will effectively not happen, multiple threads are still allowed and will be context-switched between. rr also has a chaos mode to intentionally make the context switching unfair.
- gregthelaw 2y agoExactly right. Undo has "thread fuzzing" which is similar concept to chaos mode, but more targeted.
- matu3ba 2y agoWhat kind/class of issues are caused by "thread interleaving on the scale of nanoseconds"? Faulty CPU bit flips due to radiation/quantum effects or what are you referring to? Just curious.
- dzaima 2y agoNot doing things atomically when they should be (incl. missing locks around tiny ops) would be a pretty large class. With native multithreading data can pass from thread to thread millions of times per second, and you're much less likely to hit obscure interactions when limited instead to maybe a couple hundred context switches per second.