A Macrotask-level Unlimited Speculative Execution on Multiprocessors (13/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


We'll now move on to the next part - Distributed control scheme. The goal of this scheme is both no restricting the speculation path and decreasing the overhead to control macrotask. To begin with, we'll show the conventional macrotask control schemes. We call the scheme - centralized control, because one or a few processors control all the macrotask execution. As shown in this figure, every MT sends a signal indicating the branch destination or the completion of its execution to the central controller. After receiving the signal, the central controller decides which MT is to be discarded or which MT is to be initiated by updating the macrotask control table. The centralized control, however, has two problems: 1) The control overhead increases in proportion to the number of macrotasks. Moreover, the branch destination signal, "taken" or "not taken", must be a real signal. I mean - the branch destination determined during the speculation can not be used. The latter restriction results in serializing the macrotask control. To solve these problems, we propose a new Distributed control scheme.