Parallelism is often required for performance. In these situations an excess of non-determinism harmful as it means the program can have several different behaviours or even results. Even in domains such high-performance computing where parallelism crucial performance, computed value should be deterministic. Unfortunately, programs also allows dynamic scheduling tasks, reacting to first task th...