Currently, threads are randomly sampled, however, to catch the bugs involving the elision of the helper FLUSH instructions in Friedman's Queue, I need to ensure that a thread that gets preempted at a particular point does not run for a long time. There are many superblocks in between calls to enqueue and so it becomes challenging to ensure that the bug remains. Something that weighs the set of threads to run based on how often they have run compared to other threads would be best.
Currently, threads are randomly sampled, however, to catch the bugs involving the elision of the helper
FLUSHinstructions in Friedman's Queue, I need to ensure that a thread that gets preempted at a particular point does not run for a long time. There are many superblocks in between calls toenqueueand so it becomes challenging to ensure that the bug remains. Something that weighs the set of threads to run based on how often they have run compared to other threads would be best.