Sciweavers

IPPS
2003
IEEE

Improving Speculative Thread-Level Parallelism Through Module Run-Length Prediction

13 years 9 months ago
Improving Speculative Thread-Level Parallelism Through Module Run-Length Prediction
Exploiting speculative thread-level parallelism across modules, e.g., methods, procedures, or functions, have shown promise. However, misspeculations and task creation overhead are known to adversely impact the speedup if too many small modules are executed speculatively. Our approach to reduce the impact of these overheads is to disable speculation on modules with a run-length below a certain threshold. We first confirm that if speculation is disabled on modules with an execution time – or run-length – shorter than a threshold comparable to the overheads, we obtain nearly as high speedup as if the overhead was zero. For example, if the overhead is 200 cycles and the run-length threshold is 500 cycles, six out of the nine applications we ran enjoyed nearly as high speedup as were the overhead zero. We then propose a mechanism by which the run-length can be predicted at run-time based on previous invocations of the module. This simple predictor achieves an accuracy between 83% an...
Fredrik Warg, Per Stenström
Added 04 Jul 2010
Updated 04 Jul 2010
Type Conference
Year 2003
Where IPPS
Authors Fredrik Warg, Per Stenström
Comments (0)