Intel公司有一项十分有趣的研究项目代号为Mitosis,这是一个硬件和编译器相结合的解决方法来实现预测线程技术(Speculative Threading)。
在如今单一执行顺序的微处理器中,CPU自己可以执行那些它认为在将来要被执行的代码,称为预测执行,通过这样的技术来改善处理器的利用率和整体的性能。该项研究项目提出是否可以在线程级别应用相似的预测执行技术?这就意味着线程将被系统中的单一核心通过预测来执行,因此达到改善将来多核心CPU的整体性能的目的。
Mitosis项目同时依赖于硬件和软件(编译器)来支持工作。首先,从软件方面来看,那些具有很少输入和输出的代码块被检测出来,然后作为独立的线程。

当前工作着的线程的入口和出口都被标识,线程中要被分裂开来的地方被独立出来,这样新的线程就具有了其运行需要的输入数据。

这样做了以后单一的线程被分裂成两个线程,它们被送往多核心处理器并行地被处理。在线程执行结束以后,它的结果要被检查看数据是否仍然是正确的,如果是的话结果被提交。如果结果是不正确的,该线程必须被丢弃。但由于我们谈论的是单一线程的应用,这样做并不会浪费性能,浪费的仅仅是功率,如果没有预测线程的技术,该线程运行着的核心将是空闲着的,这个核心将得到休息。
从硬件方面来看,实现Mitosis需要进行一项主要的改动。