A thread partitioning technique for multithreaded execution along hot paths

Kanemitsu Ootsu, Takahiko Kobayashi, Takashi Yokota, Takanobu Baba · Parallel and distributed computing and networks · 2007

We have developed a software system that can translate a sequential binary code to the multithreaded one at the binary code level. This system parallelizes frequently executed loops within programs to improve the performance by exploiting loop-level parallelism. However, many loops within integer application programs are hard to be parallelized because of their complex program structures, and it is difficult to attain speed-up by exploiting loop-level parallelism. Therefore, another parallelization technique is required for performance improvement of these programs. Supposing the parallel execution along a control path of program, this paper proposes a thread partitioning technique, that creates threads without dependent data between other thread, and that allows multithreaded execution along hot paths (frequently executed paths). We apply the proposed technique to several program codes of SPEC CINT95 benchmark, and evaluate the performance by simulation. The evaluation result shows that the proposed technique can improve the performance of integer application program, whose performane cannot be improved by exploiting loop-level parallelism.

Read the paper · More papers on PaperTik