Abstract

Speculative Multithreading (SpMT) technology is an effective mechanism for parallelizing irregular programs which are hard by conventional approaches through allowing multiple threads to execute in the presence of ambiguous data and control dependences while the correctness of the programs is maintained by hardware support. Although speculative parallelization can potentially deliver significant speedup, several overheads associated with this technique can limit these speedups in practice. This paper proposes a novel cost estimation model for speculative thread partitioning which can be used to predict the resulting performance. Based on the analysis of the execution probability flow graph (EPFG) of each procedure, this model tries to divide the program's execution time into sequential execution time and parallel execution time. Then, the model attempts to predict the theoretical speedup of the partitioned speculative procedures based on the estimation of the combined runtime effects of various overheads. Different from prior heuristics that only qualitatively estimate the benefits of speculative multithreaded execution, this model also produces a quantitative estimate of the speedup in theory. Experimental results show that the prediction accurately reflects the inherent parallelism of the thread partitioning results of the programs. Meanwhile, the predictive speedup also indicate the potential parallel performance of the thread partitioning results and then can assist to provide better guidance for thread partitioning.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call