Robustness

Robustness is a key issue on any runtime system that aims to speed up the execution of a program. However, robustness considerations are commonly overlooked when new software-based, thread-level speculation (STLS) systems are proposed. Consequently, in many situations the use of incorrect data can irreversibly alter the speculative execution of an algorithm, despite the efforts of a given STLS system to maintain sequential consistency.

Our work in this field shows how the management of speculative exceptions can effectively alleviate this problem. More information can be found in the following paper:

Robust Thread-Level Speculation. Alvaro García-Yáguez, Diego R. Llanos, Arturo González-Escribano. Proc. of the 18th IEEE International Conference on High-Performance Computing (HiPC 2011), Bangalore, India, December 18-21 2011.