K. Ootsu, T. Kobayashi, H. Ogawa, T. Yokota, and T. Baba (Japan)
thread pipelining model, thread partitioning, hot path, SPEC CINT95
We have developed a software system that can translate sequential binary codes to the multithreaded ones at the bi nary code level. This system parallelizes frequently exe cuted loops within programs to improve the performance by exploiting loop-level parallelism for numerical applica tion programs. However, many loops within non-numerical application programs are hard to be parallelized because of their small amount of loop-level parallelism and com plex program structures, and it is difficult to attain speed up by exploiting loop-level parallelism. Therefore, it is necessary to generate multithreaded codes, taking more general program structure than loop structure within pro gram into consideration. In this paper, we propose a thread partitioning technique of multithreaded execution along a hot path (the most frequently executed control sequence of basic blocks), taking more general program structure than loops into consideration. And we apply the proposed technique to three non-numerical application programs of SPEC CINT95 benchmark, and evaluate the performance improvement by simulation. The evaluation result shows that the proposed technique can improve the performance of non-numerical application program, whose performance cannot be improved by exploiting loop-level parallelism.
Important Links:
Go Back