28

この記事で、 Jonh Dvorak は Itanium を「過去 50 年間で最大の失敗の 1 つ」と呼んでいます。彼は過度に楽観的な市場の期待とアイデアの劇的な財務結果について説明していますが、この壮大な失敗の技術的な詳細には触れていません. しばらく Itanium を使用する機会がありましたが、個人的にはそのアーキテクチャが気に入りました。最新の x86 プロセッサ アーキテクチャと比較して、非常に明確でシンプルでわかりやすいものでした...

では、その失敗の技術的な理由は何ですか? アンダーパフォーマンス?x86 コードとの非互換性? コンパイラの複雑さ? この「イタニック」はなぜ沈没したのか?

Itanium プロセッサ ブロック

4

6 に答える 6

29

今日のワークロードのVLIWは単にひどい考えであるため、Itaniumは失敗しました。

広く尊敬されているコンピューター科学者のドナルド・クヌースは、2008年のインタビュー、「「Itanium」アプローチは非常に素晴らしいはずでした。希望のコンパイラーを作成することは基本的に不可能であることが判明するまでは」と述べまし

それはほとんど問題を釘付けにします。

基本ブロックごとに少なくとも数十の命令を取得する科学計算の場合、VLIWはおそらく正常に機能します。優れたバンドルを作成するための十分な手順があります。より最近のワークロードでは、基本ブロックごとに約6〜7の命令を取得することがよくありますが、それは単純に取得しません(SPEC2000の平均IIRCです)。コンパイラーは、バンドルに入れる独立した命令を見つけることができません。

Intel Atom(Silvermont以前)とAMD E-3 ** / 4 **を除いて、最新のx86プロセッサはすべて故障したプロセッサであると私は信じています。約100命令の動的命令ウィンドウを維持し、そのウィンドウ内で、入力の準備ができるたびに命令を実行します。複数の命令を実行する準備ができていて、それらがリソースをめぐって競合しない場合、それらは同じサイクルで一緒に実行されます。

では、これはVLIWとどう違うのですか?VLIWとアウトオブオーダーの最初の重要な違いは、アウトオブオーダープロセッサが異なる基本ブロックから命令を選択して同時に実行できることです。これらの命令はとにかく投機的に実行されます(主に分岐予測に基づいて)。2番目の重要な違いは、アウトオブオーダープロセッサがこれらのスケジュールを動的に決定することです(つまり、各動的命令は個別にスケジュールされます。VLIWコンパイラは静的命令で動作します)。

3番目の重要な違いは、命令セットを変更せずに、アウトオブオーダープロセッサの実装を必要なだけ広くできることです(Intel Coreには5つの実行ポートがあり、他のプロセッサには4つあります)。VLIWマシンは、一度に複数のバンドルを実行できます(競合しない場合)。たとえば、初期のItanium CPUは、クロックサイクルごとに最大2つのVLIWバンドル、6つの命令を実行し、後の設計(2011年のPoulson以降)を使用します。)最大4つのバンドルを実行=クロックあたり12命令、SMTは複数のスレッドからそれらの命令を取得します。その点で、実際のItaniumハードウェアは従来のインオーダースーパースカラー設計(P5 PentiumやAtomなど)に似ていますが、コンパイラーが命令レベルの並列性をハードウェアに公開するためのより多くの/より良い方法があります(理論的には、十分です、これが問題です)。

パフォーマンス面では、同様の仕様(キャッシュ、コアなど)で、Itaniumのがらくたを打ち負かしました。

では、なぜ今Itaniumを購入するのでしょうか。まあ、唯一の理由は本当にHP-UXです。HP-UXを実行したい場合は、それがその方法です...

多くのコンパイラライターはそれをこのように見ていません-彼らはItaniumが彼らにもっとや​​ることを与え、彼らを制御に戻すなどの事実を常に気に入っていました。しかし彼らはそれがどれほど惨めに失敗したかを認めません。


脚注1:

これは、マルチコアプロセッサの価値に関する回答の一部でした。Knuthは、並列処理を利用するのは難しいと言っていました。VLIWのコンパイル時に、きめ細かい命令レベルの並列性(および明示的な推測:EPIC)を見つけて公開することも難しい問題であり、粗い並列性を見つけてシーケンシャルプログラムまたは関数を複数のスレッドに自動的に分割することに関連しています。複数のコアを活用します。

11年後、彼はまだ基本的に正しいです。スレッドごとのパフォーマンスは、ほとんどの非サーバーソフトウェアにとって依然として非常に重要であり、多くのコアが代替ではないため、CPUベンダーが注目しているものです。

于 2012-12-11T17:15:34.833 に答える
8

単純。x86互換ではありませんでした。それが x86_64 チップの理由です。

于 2009-06-18T09:49:22.040 に答える
5

設計された Itanium は、非常に幅広い命令レベルの並列処理の哲学に基づいており、熱の制約によりクロック周波数の制限が課せられた場合にプロセッサのパフォーマンスをスケーリングします。

しかし、AMD Opteron は、スケーラブルなパフォーマンスを実現し、32 ビット x86 バイナリとの互換性を確保するために、x86_64 コアのプロライフによって Itanium の採用を混乱させました。

Itanium サーバーは、x86 と同様のプロセッサ数の場合、10 倍の費用がかかります。

上記のすべての要因により、メインストリーム市場での Itanium サーバーの採用が遅れました。現在、Itanium の主な市場はミッション クリティカルなエンタープライズ コンピューティングであり、HP、IBM、および Sun だけが支配する年間 100 億ドル以上の市場です。

于 2011-04-19T23:02:02.807 に答える
3

コード ジェネレーターを作成するのは非常に困難でした。そして、そもそも成功する理由はあまりありませんでした (Intel によって作成されたので、何を意味するのでしょうか?)。

一部の JIT は Itanium のインタープリターよりもパフォーマンスが悪いと聞いたことがあります。プロセッサがそのレベルの最適化を必要とする場合、それはできません。

非主流の RISC は根拠を失いつつあります。彼らはそれを見ていないか、それが主流になることを望んでいませんでした。残念ながら、それには理由がなかったので、そうではありませんでした。

于 2009-06-18T09:46:38.970 に答える
3

私はその記事を読みましたが、彼が言及している「大失敗」を完全に見逃しています。最後に彼が言及しているように、Itanium を目にしただけで、「有望なプロジェクトが次々と打ち切られた」のです。MIPS、Alpha、PA-RISC -- なくなりました。Sun は、過去 2 つの大きな Sparc プロジェクトをキャンセルしましたが、その前でさえ大きな売り上げはありませんでした。PowerPC は組み込み分野でのみ生き残っています。

Intel はどのようにして単一の製品ラインを使用してすべての競争相手を打ち負かし、史上最大のマイクロプロセッサの勝利以外の何物でもないのでしょうか? 彼らはこれを予測できるほど賢くはなかったと思いますが、失敗することを知っていたとしても、フェイントに数十億ドルを投げることは素晴らしく機能しました。どうやら彼らはそれを買う余裕があり、他の誰もがただ死んでしまいました。

デスクトップ、サーバー ルーム、スーパーコンピューター (トップ 500 リストの 87%) でさえ、見渡す限り x86 互換です。それがインテルの「大失敗」の結果である場合、成功しなかったプロセッサにどのような言葉が残されますか?

Intel と Itanium は、私の本では、Microsoft と MS-DOS と並んでランク付けされています。技術的にはどれほどお粗末だったかもしれませんが、業界を完全に支配することができました。

編集: Itanium は 1 日目から x86 との互換性があったため、そうではありません。遅かったですが、ありました。

于 2009-09-05T00:09:23.363 に答える
1

ハイエンド システムや HP ブレード サーバーなど、Itanium にはまだ市場があると思います。x86 と比較すると、パフォーマンスは依然としてはるかに高くなっています。HP に数十億ドルをもたらしているのに、なぜそれを失敗と呼ぶ人がいるのかわからない (ただし、収益を生み出しているのはプロセッサだけではなく、Itanium サーバーの販売である)。

于 2009-09-04T23:34:10.020 に答える