improving single-thread performance with fine-grain state maintenance
We show that a multi-threaded processor that is aware of the processor state in a fine-grain manner can improve single-thread performance significantly by assigning the task of maintaining the correct processor state to an independent thread. We develop fine-grain state maintenance techniques that can be applied in multi-threaded environments and present a fine-grain state application of runahead execution where the data values dependent on a missed load are treated as damaged values. These values are verified and recovered as necessary by an independent thread. We evaluate an SMT-like fine grain state processor and show that it obtains an average of 38.9\% and up to 160.0\% better performance than coarse-grain baseline processors on the SPEC CFP2000 benchmark suite.
processor state runahead checkpoint simultaneous multi-threading recovery