Month: June 2018

  • Litmus Tests for Multithreaded Behavior

    Litmus Tests for Multithreaded Behavior Or How Processors Don’t Do What You Think Modern multicore processors are entirely weirder than almost anyone thinks possible. They are somewhat weirder than chip makers were willing to admit until fairly recently. They are sufficiently weird enough that almost all multi-threaded programs, and many lock-free algorithms, had bugs because…

  • Multithread Experiments

    An Experiment Collects Samples I’m modelling this in order to run bits of code like the various litmus tests used to describe multi-core architectures. A set of functions to be run in parallel that may or may not write to a result, which type is a property of the Test being run. The Experiment will…