The benchmark's goal is to provide a sufficient number of tunable knobs by which to test kernel scheduler performance and introduce minimal overheads and dependencies. The program begins with the parent cloning several threads. By choosing the number of threads spawned and number of active sets, the average number of runnable tasks can be controlled. 1. compute 2.
Tokens are one byte messages and are handed off to other members of the active set through pipes.
Slight randomness is introduced in the compute time for each thread to avoid scheduling patterns being formed. The overall performance metric is the total number of rounds done by all children. Runtime parameter r determines the number of microseconds to be spent in the compute phase. If an active set has only one member in it, that thread will never block. So is data from running this benchmark on different SMP systems.