Mitosis: speculative threads
I should mention one more bit of Intel research before wrapping things up. Anand and I had an interesting conversation with a fellow from Intel about a research project known as Mitosis that involves speculative threads. These are not the sorts of "helper threads" that you may have heard mentioned in the past as a possible avenue for performance enhancements. Helper threads run alongside main threads doing things like prefetching data, but speculative threads are a very different sort of animal. They take speculative execution into the realm of thread-level parallelism.
Mitosis has a software component and a hardware component. The software is a compiler that can identify portions of a thread that might be good candidates for speculative execution and spin them off into separate threads to be run in parallel, like so:


As I understand it, these speculative threads are executed alongside the main thread, and the results are used if they turn out to be useful, or discarded if not. As with speculative instruction execution inside of a CPU, the usefulness of a result generally depends on the outcome of a conditional.
The hardware component of Mitosis is a CPU microarchitecture modified with the addition of a global register file, a register versioning table, and some version control logic to manage the execution of parallel threads that wish to modify the same registers.

Mitosis has the potential to create multiple threads in cases where a traditional compiler would fail. The initial results on a highly sequential benchmark suite are promising.

Of course, this project is very much in the research stage right now, so I wouldn't expect to see a processor with speculative threading on the market any time soon. I'm just encouraged to see that this sort of thing is possible.
46 comments — Last by IntelMole at 11:28 AM on 09/02/05
| A closer look at the new AMDRory Read and his cohorts chart a new course | 61 | |
| Intel's Core i7-3960X processorSandy Bridge goes Extreme, with BMX bikes and energy drinks | 182 | |
| A quick look at Bulldozer thread schedulingIs it really best to share? | 106 | |
| Life in the lab with Noctua's CPU coolersInvestment-grade luxuries | 64 | |
| AMD's FX-8150 further overclockedThe big diesel gets water cooling | 147 | |
| AMD's FX-8150 'Bulldozer' processorAn all-new microarchitecture initiates a new era for AMD | 588 | |
| AMD's A8-3800 Fusion APULlano slides into a smaller power envelope | 59 | |
| Inside the second: A new look at game benchmarkingNew methods uncover problems with some GPU configs | 163 |
| Friday night topic: The trouble with Best Buy | 127 |