Thread-level Speculative Parallelization

Diego R. Llanos · 2004

The basic idea under speculative parallelization (also called thread-level speculation) is to assign the execution of different blocks of consecutive iterations to different threads, running each one on its own processor. While execution proceeds, software monitor ensures that no thread consumes an incorrect version of a value that should be calculated by a predecessor, therefore violating sequential semantics. If such a dependence violation occur, the monitor stops the parallel execution of the offending threads, discards iterations incorrectly calculated, and restart their execution using the correct values.

Read the paper · More papers on PaperTik