Abstract--Speculative Multithreading (SpMT) has been proposed as a perspective method to exploit Chip Multiprocessors (CMP) hardware's potential. It is a thread level speculation (TLS) model mainly depending on software and hardware co-design. This paper researches speculative thread-level parallelism of general-purpose programs and a speculative multi-threading execution model called Prophet is presented. The architectural support for Prophet execution model is designed based on CMP. In Prophet the inter-thread data dependences are predicted by pre-computation slice (p-slice) to reduce RAW violation. Prophet Multi-versioning Cache system along with thread state control mechanism in architectural support are utilized for buffering the speculative data, and a snooping bus based cache coherence protocol is used to detect data dependence violation. The simulation-based evaluation shows that the Prophet system could achieve significant speedup for general-purpose programs.
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.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.