A Macrotask-level Unlimited Speculative Execution on Multiprocessors (11/19)

The following description is based on the paper presented at 1995 ACM International Conference on Supercomputing head in Spain on July 3rd to 7th,1995.

If you want to have the copy of the paper, please let me know.


back index next


Now I'd like to go into details of the new macrotask creation scheme. Two newly proposed steps. Duplication and Merging the basictasks. The duplication of basictasks is applied so that the data dependence between the basictasks are determined regardless of the direction of conditional branch. This step is already shown in the previous transparency. The next step is merging basictasks. The basictasks are merged into one macrotask when the following basictask has both data dependence and control dependence. When this condition is satisfied, the two basictasks can not be speculated because they have data dependence. Thus, even if these basictasks are merged, we have no performance degradation. In this way, a program is transformed into a set of macrotasks.