Skip to Main Content
In this work the authors addressed the problem of scheduling loops with dependencies in the context of speculative parallelization. It is shown that scheduling alternatives are highly influenced by the dependence violation pattern presented in the code. The analysis was centered in those algorithms where dependencies are less likely to appear as the execution proceeds, like incremental randomized algorithms. These algorithms are, in general, hard to parallelize by hand, and represent a challenge for any automatic parallelization scheme. The analysis led to the development of Meseta, a new scheduling strategy that takes into account the probability of a dependence violation to determine the number of iterations being scheduled. Meseta is compared, among others, with fixed-size chunking (FSC), the only scheduling alternative used so far in the context of speculative parallelization. The experimental results showed a 3% to 22% speedup improvement over FSC for the same incremental randomized algorithm.