Clustered speculative multithreaded processors

Pedro Marcuello, Antonio M. González · 1999

In this paper we present a processor microarchitecture that can simultaneously execute multiple threads and has a clustered design for scalability purposes.A main feature of the proposed microarchitecture is its capability to spawn speculative threads from a single-thread application at run-time.These speculative threaak use otherwise idle resources of the machine.Spawning a speculative thread involves predicting its control flow as well as its dependences with other threads and the values that flow through them.In this way, threads fhat are not independent can be executed in parallel.Control-Jlow, data value and data dependence predictors particularly designedfor this type of microarchitecture are presented.Results show the potential of the microarchitecture to exploit speculative parallelism in programs that are hard to parallelize at compile-time, such as the SpecInt9.5.For a 4-thread unit configuration, some programs such as ijpeg and Ii can exploit an average degree of parallelism of more than 2 threads per cycle.The average degree ofparallelism for the whole SpecInt95 suite is 1.6 threads per cycle.This speculative parallelism results in significant speedups for all the Speclnt95 programs when compared with a single-thread execution.

Read the paper · More papers on PaperTik