A thread partitioning approach for speculative multithreading

  • Authors:
  • Bin Liu;Yinliang Zhao;Yuxiang Li;Yanjun Sun;Boqin Feng

  • Affiliations:
  • Department of Computer Science, Xi'an Jiaotong University, Xi'an, P.R. China 710049;Department of Computer Science, Xi'an Jiaotong University, Xi'an, P.R. China 710049;Department of Computer Science, Xi'an Jiaotong University, Xi'an, P.R. China 710049;Department of Computer Science, Xi'an Jiaotong University, Xi'an, P.R. China 710049;Department of Computer Science, Xi'an Jiaotong University, Xi'an, P.R. China 710049

  • Venue:
  • The Journal of Supercomputing
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Speculative multithreading (SpMT) is a thread-level automatic parallelization technique, which partitions sequential programs into multithreads to be executed in parallel. This paper presents different thread partitioning strategies for nonloops and loops. For nonloops, we propose a cost estimation based on combined run-time effects of various speculation factors to predict the resulting performance of candidate threads to guide the thread partitioning. For loops, we parallelize all the profitable loops that can potentially offer additional performance benefits by multilevel spawning in loop bodies, loop iterations, and inner loops. Then we select a proper thread boundary located in the front of loop branch instruction to reduce invalid spawning threads that waste core resources. Experimental results show that the proposed approach can obtain a significant increase in speedup and Olden benchmarks reach a performance improvement of 6.62 % on average.