kirancodes.me
To Proof Maintenance & Beyond!

Safe programmable speculative parallelism

Prakash Prabhu, Ganesan Ramalingam, Kapil Vaswani

Abstract

Execution order constraints imposed by dependences can serialize computation, preventing parallelization of code and algorithms. Speculating on the value(s) carried by dependences is one way to break such critical dependences. Value speculation has been used effectively at a low level, by compilers and hardware. In this paper, we focus on the use of speculation by programmers as an algorithmic paradigm to parallelize seemingly sequential code.

Related papers