当前位置: 华文问答 > 数码

如果英特尔一直以挤牙膏的方式研发 CPU,CPU 的性能是否会进入一段停滞期?

2016-08-07数码

先讲一个最近发生在我们自己身上的事。

背景:

有的同行知道,我们正在做一套与Intel有一定竞争关系的原型系统,Intel在最近两代的Xeon CPU里面实现的几个Xeon CPU专用的技术点,我们也实现了,目前暂时勉强处于并跑状态(但估计很快就要被甩下了:(

Intel最近把他们的实现方案和技术考虑发了一篇论文出来,同样的一个技术,Intel的实现在2007年模拟器评估的时候就做到了0.125%的overhead,2015年推进实际产品里面的量产版本比这个更低。这个技术在我们的平台上刚好是我在负责做的,当时我看到这个公开的数字倒抽了一口冷气,因为单就overhead来说我们要落后10-40倍,当时算了一下我们的overhead大致上是1.5%~5%左右。

于是很想知道Intel是怎么做的。他们公开的那个0.125% overhead的方法,是从一篇上世纪90年代初的一篇wisc-madison的老论文里面挖出来的,而且那篇论文与我们所说的这项技术并没有很明显的直接关系。如果Intel的人不把这个发现的价值重新评估一遍,可能它就永远埋在故纸堆里了。当时看到Intel这个实现方法的来源的时候,震惊不亚于看到0.125%这个数字。

面对一个技术的需求,能够直接挖到一篇二十多年前不太起眼的一篇不太相关的论文,然后直接开干,可能性太小了,比较合理的推测是,他们内部试验/讨论了很多很多种方法,最终在这篇二十多年前的不太相关的论文里面获得了实现灵感,然后找到了这个0.125%的方法。由衷佩服。

然后花了一个星期的时间复现了这个方法,测到了Intel没有完全公开的一些数据,发现这个方法的效果比预料的还要好一些。

我想说的是,在我工作的microarchitecture这个领域里,Intel并不是在挤牙膏,而是一直在努力探索。只有当你成为Intel的追赶者或者竞争者的时候才能感到他们的努力和强大。眼下的我仅仅是在一个学术研究机构里面面临一些不太直接的技术竞争罢了,都会有这种感到冒冷汗的时候,对于其他工业界的前辈和同行们来说估计压力要直接的多,也大得多。

普通人感觉Intel进步很小,是因为单线程性能的进步空间已经越来越小了。ILP wall已经是写进教科书里的问题,【量化研究方法】的两位超S级作者已经给出了未来的CPU不太可能再继续激进追求ILP的断言,激进追求ILP的上世纪90年代已经过去了。微结构的未来在其他地方,比如多核,比如能耗,比如异构,比如cache & memory hierarchy,等等。

直到目前为止,Intel的微结构仍然在许多地方保持领先,比如front-end的单线程instruction supply仍然领先IBM Power8/AMD Bulldozer及其后继系列至少一个身位。