在this article Jonh Dvorak称Itanium“过去50年来最伟大的惨案之一”。虽然他描述了过度乐观的市场预期和这个想法的戏剧性财务结果,但他没有深入探讨这一史诗失败的技术细节。我有机会与Itanium合作一段时间,我个人非常喜欢它的架构,与现代x86处理器架构相比,它非常简单明了......
那么它失败的技术原因是什么?在性能?与x86代码不兼容?编译器的复杂性?为什么这个“Itanic”下沉?
答案 0 :(得分:24)
Itanium失败了,因为今天的工作负载的VLIW只是一个糟糕的想法。
Donald Knuth,一位受到广泛尊重的计算机科学家,said in a 2008 interview“”Itanium“方法应该是如此可怕 - 直到事实证明所希望的编译器基本上不可能写。“ 1
这几乎解决了这个问题。
对于科学计算,每个基本块至少可以获得几十条指令,VLIW可能正常工作。那里有足够的指令来创建好的包。对于更现代的工作负载,每个基本块通常会得到大约6-7个指令,但它根本不会(这是SPEC2000的平均值,IIRC)。编译器根本无法找到要放入包中的独立指令。
现代x86处理器,除英特尔凌动(前Silvermont),我相信AMD E-3 ** / 4 **,都是无序处理器。它们维护着大约100条指令的动态指令窗口,并且在该窗口内,只要输入准备好,它们就会执行指令。如果准备好了多条指令并且它们不竞争资源,它们会在同一周期中一起运行。
那么这与VLIW有何不同? VLIW和乱序之间的第一个关键区别是无序处理器可以选择来自不同基本块的指令同时执行。无论如何,这些指令都是以推测方式执行的(主要基于分支预测)。第二个关键区别是无序处理器动态地确定这些调度(即,每个动态指令是独立调度的; VLIW编译器在静态指令上运行)。
第三个关键区别是无序处理器的实现可以如所希望的那样宽,而无需更改指令集(英特尔酷睿有5个执行端口,其他处理器有4个等)。 VLIW机器可以并且一次执行多个捆绑包(如果它们不冲突)。例如,early Itanium CPUs execute up to 2 VLIW bundles per clock cycle, 6 instructions,后来的设计(2011's Poulson and later)每个时钟最多运行4个捆绑= 12个指令,SMT从多个线程中获取这些指令。在这方面,真正的Itanium硬件就像传统的有序超标量设计(如P5 Pentium或Atom),但有更多/更好的方式让编译器向硬件公开指令级并行(理论上,如果它能找到够了,这就是问题所在。)
在类似规格(缓存,内核等)的性能方面,他们只是击败了安腾的废话。
那么为什么现在会购买安腾?嗯,唯一的原因是HP-UX。如果您想运行HP-UX,那就是这样做......
许多编译器编写者都不会这样看待它们 - 他们总是喜欢Itanium为他们提供更多操作,让他们重新掌控等等这一事实。但他们不会承认它失败的可能性有多大。
脚注1:
这是对多核处理器价值的回应的一部分。 Knuth说并行处理很难利用;在编译时为VLIW查找和公开细粒度指令级并行(以及显式推测:EPIC)也是一个难题,并且与查找粗粒度并行性以将顺序程序或函数拆分为多个线程以自动相关利用多核。
11年后他仍然基本上是正确的:对于大多数非服务器软件而言,每线程性能仍然非常重要,而CPU供应商则关注这一点,因为许多内核无法替代。答案 1 :(得分:8)
简单。它不兼容x86。这就是x86_64芯片的原因。
答案 2 :(得分:4)
Itanium的设计基于非常宽的指令级并行性的理念,以便在由于热约束而施加时钟频率限制时扩展处理器的性能。
但AMD Opteron通过增强x86_64内核来实现可扩展性能并与32位x86二进制文件兼容,从而破坏了Itanium的采用。
对于类似的处理器数量,Itanium服务器比x86昂贵10倍。
所有这些因素都减缓了Itanium服务器在主流市场的采用。安腾的主要市场现在是关键任务企业计算,这是一个价值10亿美元以上的年度市场,仅由惠普,IBM和Sun主导。
答案 3 :(得分:3)
编写代码生成器非常困难;首先取得成功并没有多少理由(这是由英特尔制造的,那又怎么样?)。
我听说有些JIT比Itanium上的解释器表现更差,因为gcc优化了解释器;如果处理器需要 级别的优化,那就不行了。
非主流RISC正在失去理由;他们没有看到或希望它会成为主流;太糟糕了,因为没有任何理由。
答案 4 :(得分:3)
我读过这篇文章,我完全错过了他提到的“惨败”。正如他在接近尾声时提到的那样,只要看到Itanium,“一个又一个有希望的项目就会被淘汰”。 MIPS,Alpha,PA-RISC - 消失了。 Sun取消了他们最近的两个大型Sparc项目,尽管在此之前它并不是一个大卖家。 PowerPC只能在嵌入式领域中存活。
英特尔如何利用单一产品线杀死所有竞争对手,除了有史以来最大的微处理器胜利之外什么?我敢肯定他们不够聪明,没有预料到这一点,但即使他们知道它会失败,在假动作中投入几十亿美元也非常有效。显然他们可以负担得起,而其他所有人都已经死了。
在桌面上,服务器机房中,甚至在超级计算机中(前500名列表的87%),就眼睛所见,它与x86兼容。如果这是英特尔“惨败”的结果,那么没有制造它的处理器还剩下哪些字?
在我的书中,英特尔和安腾在微软和MS-DOS上排名靠前:尽管它在技术上有多糟糕,但却使它们能够完全统治这个行业。编辑:从第1天开始,Itanium就具有x86兼容性,所以不是这样。它很慢,但它就在那里。
答案 5 :(得分:1)
我认为安腾仍然拥有市场 - 高端系统和惠普刀片服务器。与x86相比,性能仍然高得多。我不确定为什么有人会在为惠普产生数十亿美元时将其称为失败(尽管它不仅仅是处理器; itanium服务器的销售正在带来收入)。