Kanemitsu Ootsu, Takeshi Ohkawa, and Takashi Yokota
Multicore processor, speculative multithreading, program hot path, path-based execution, trace-based simulation
At the present, multicore processors are ubiquitous, but parallelization is often difficult in conventional parallel processing, due to the need to conservatively keep the control and data dependencies inherent in program code. In this paper, we propose a method of Speculative MultiThreading (SpMT) along hot program paths, dividing the target program code into thread codes along the hot path for each program segment and speculatively executes on a multicore processor. This method utilizes the fact that in most cases a small set of program execution paths (dynamic control flow) among a large number of possible paths within non-numerical programs is executed and raises the possibility of successful speculative thread execution. We estimate the performance achieved by the proposed method by trace-based simulation using SPEC CINT2000 benchmark programs. These results show that the method can achieve 90% of the performance of perfectly speculated execution using all program paths. The results show that highly efficient SpMT is achieved, even if we limit the target of speculative parallel execution to only the hot path.
Important Links:
Go Back