Abstract

Speculative multithreading is one of the most promising methods for speeding up the execution of programs in multicore systems. Each loop has numerous possible execution paths; however, in many cases, only a few of them are executed frequently. We focus on a two-path limited speculation method, which speculates on only the two most frequently executed paths based on path-profiling results of the whole program execution using path-profiling. To maximize the performance of the method, this paper discusses “phased behaviour” in program execution. This paper firstly shows actual behaviours in program execution in terms of execution paths. Then, we introduce practical methods of dynamic selection of speculation paths. Preliminary results show that, realistically, the optimal dynamic method increases the speed by 1.8 times at maximum and also that the practical dynamic method can increase the speculation success ratio by up to 30% compared with the static method.

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