Increasing Parallelism on multicore processors using Induced Parallelism

Vinay G. Vaidya, PushpRaj Agrawal, Aditi Athavale, Anish Sane, Sudhakar Sah, Priti Ranadive · 2010

Multicore processors give an opportunity to increase the performance of software programs by parallelizing them. However, it is not enough to have the hardware capability of parallelization through multicore. It is equally important to exploit this in software. The problem is compounded if there is a legacy sequential code written for a single processor. Parallelization can be achieved by executing different threads of a program on multiple cores. In this paper, a technique of Induced Parallelism is proposed to increase performance of branch statements like if-else. After resolving the dependencies between `if' and `else' block, new tasks formed from these blocks, are run on idle cores ahead of their actual execution time. Hence this technique improves performance of a program in terms of time, in spite of redundant execution of a section of the code. It can be extended to other branch statements for increasing parallelization of existing code.

Read the paper · More papers on PaperTik