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.

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.