過去のパフォーマンスの向上:周波数レースの終わり、マルチコア、および進捗が1か所で止まっている理由



KDPV:動機付けを作成するIntelの試みの1つ:)



ほぼ10年前に、IntelはTejasおよびJayhawkプロジェクトの終了を発表しました。これは、クロック周波数を上げる方向でのNetBurstアーキテクチャ(Pentium 4)の後継プロジェクトです。 このイベントは、実際にマルチコアプロセッサの時代への移行を示しました。 何がこれを引き起こし、何が結果をもたらしたかを把握してみましょう。



この移行で発生した原因と範囲を理解するために、次のグラフをご覧になることをお勧めします。 トランジスタの数、クロック速度、消費電力、および命令レベルの並列性( ILP )を示します。





ムーアの法則として知られる数年ごとにトランジスタの数を2倍にすることが、唯一のパターンではありません。 2000年まで、クロック周波数と消費電力が同様の法律に従って増加したことがわかります。 何十年もの間、ムーアの法則が実装されてきました。これは、 デナードのスケーリングとして知られるもう1つの法則に従って、トランジスタのサイズが縮小しているためです。 この法則によれば、理想的な条件下では、一定のプロセッサ面積を持つトランジスタのこのような減少は、消費電力の増加を必要としませんでした。



その結果、8MHzの周波数で最初の8086プロセッサの消費電力が2W未満の場合、1GHzの周波数で動作するPentium 3はすでに33Wを消費していました。 つまり、消費電力は17倍に増加し、クロック周波数は同じ時間で125倍に増加しました。 この期間の生産性は非常に強くなっていることに注意してください。 周波数比較では、L1 / L2キャッシュの出現や異常な実行、スーパースカラーアーキテクチャの開発やパイプライン化などは考慮されません。 この時期は、まさに黄金時代と呼ぶことができます。プロセステクノロジのスケーリング(トランジスタのサイズの縮小)は、数十年にわたって生産性を着実に向上させるアイデアでした。



技術と建築の成果の組み合わせにより、ムーアの法則は、転換点が来る2000年代半ばまで実行されました。 90nmでは、トランジスタのゲートが薄くなりすぎてリーク電流を防ぐことができず、消費電力はすでに考えられるすべての制限に達しました。 消費電力は最大100Wで、冷却システムの重量は、溶接機では可能ですが、何でも可能ですが、複雑なコンピューティングデバイスではありません。



Intelや他の企業は、酸化ハフニウムの使用、Tri-Gateトランジスタへの移行などの革新的なソリューションのおかげで、生産性の向上とエネルギー消費の削減という点で前進しました。 しかし、このような改善はそれぞれ一度だけであり、単にトランジスタを削減することで達成できるものと比較することさえできませんでした。 2007年から2011年にプロセッサのクロック速度が33%増加した場合、1994年から1998年にこの値は300%になりました。



マルチコアに向けて



過去8年間、IntelとAMDは、生産性を向上させるソリューションとしてマルチコアプロセッサに注力してきました。 しかし、この方向が実際に使い果たされたと信じる多くの理由があります。 まず第一に、コアの数を増やしてもパフォーマンスが理想的に向上することはありません。 並列プログラムのパフォーマンスは、並列化できないコードの一部によって制限されます。 この制限はアムダールの法則として知られており、次のグラフに示されています。





また、たとえば、多数のコアを効率的にロードすることの難しさなどの理由を忘れてはなりません。

パフォーマンスの低下につながるコアの使用方法の良い例は、AMD Bulldozerです。 このマイクロプロセッサは、共有キャッシュとロジックがチップ領域を節約し、最終的にはより多くのコアに対応できることを期待して設計されました。 しかし、最終的には、すべてのコアを使用すると、チップの電力消費によりクロック周波数が大幅に低下し、共有キャッシュが遅いとパフォーマンスがさらに低下することが判明しました。 一般にそれは優れたプロセッサであるという事実にもかかわらず、コアの数の増加は期待されるパフォーマンスにさえ近づきませんでした。 そして、この問題に遭遇したのはAMDだけではありません。



新しいカーネルを追加しても問題の解決に役立たないもう1つの理由は、アプリケーションの最適化です。 たとえば、銀行取引の処理など、ほとんど任意の数のコアに簡単に並列化できるタスクは多くありません。



一部の科学者(説得力の程度はさまざまです)は、鉄のような現実世界のタスクには自然な並列性があり、コンピューティングとアーキテクチャの並列モデルを作成するだけであると信じています。 しかし、実際のタスクに使用される有名なアルゴリズムのほとんどは、本質的に一貫しています。 それらの並列化は常に可能、高価であるとは限らず、望ましい高い結果が得られません。 これは、コンピューターゲームを見るときに特に顕著です。 ゲーム開発者は、マルチコアプロセッサの作業をロードする方向で進歩を遂げていますが、非常にゆっくりとこの方向に進んでいます。 Battlefieldの最後の部分のように、すべてのコアに作業をロードできるゲームは多くありません。 そして、原則として、そのようなゲームは最初から作成され、マルチコアを主な目標として使用する可能性がありました。

(私は認める、私は戦場に関する情報を確認することはできません。私はゲーム自体も、それをプレイするコンピューターも持っていません。:))



IntelやAMDにとって、新しいコアを追加することは、ソフトウェア開発者に使用するよりも簡単な作業であると言えます。





メニーコアの出現と制限



技術プロセスのスケーリングの時代の終わりは、多数の企業が特殊なプロセッサコアの開発に携わっているという事実につながりました。 生産性の急速な成長の時代に、汎用プロセッサアーキテクチャが市場の特殊なコプロセッサと拡張カードに実質的に取って代わり、生産性の成長が鈍化するにつれて、専門ソリューションは徐々に地位を取り戻し始めました。



いくつかの企業の声明にもかかわらず、専門のメニーコアチップはムーアの法則に決して違反せず、半導体業界の現実にも例外ではありません。 消費電力の制限とそれらの並列性は、他のプロセッサと同様に関連しています。 彼らが提供するものは、狭い範囲のタスクでより良いパフォーマンスを示すことができる、より普遍的ではなく、より専門的なアーキテクチャを支持する選択肢です。 また、このようなソリューションは、エネルギー制限による負担が少なくなります。IntelCPUの制限は140Wであり、Nvidiaのビデオカードの古いモデルは250W程度です。



IntelのMIC(Many Integrated Cores)アーキテクチャは、部分的に別のメモリインターフェイスを利用して、超並列数の大きなクラッシャーを作成しようとする試みです。 一方、AMDは、パフォーマンスへの要求が少ないタスクに努力を向け、GCN(Graphics Core Next)のアーキテクチャを開発しています。 このようなソリューションの市場セグメントにもかかわらず、彼らは本質的に多くのタスクに特化したコプロセッサーを提供していますが、その1つがグラフィックです。



残念ながら、このアプローチでは問題は解決しません。 プロセッサチップに専用ユニットを統合するか、拡張カードに配置することにより、ワットあたりの生産性を向上させることができます。 しかし、トランジスタのサイズが増減する一方で、消費電力とクロック周波数-いいえ、という事実が新しい概念の出現につながりました- ダークシリコン (ダークシリコン)。 この用語は、許容消費電力内にある間は使用できないマイクロプロセッサーの大部分を指すために使用されます。



マルチコアデバイスの将来に関する研究により、マイクロプロセッサの配置方法やトポロジに関係なく、コア数の増加は消費電力によって大幅に制限されることが示されています。 生産性の向上が低いことを考えると、新しいコアを追加しても、プロセスをさらに改善する必要性を正当化し、費用を支払うだけの十分な利点はありません。 そして、問題の大きさと、それが解決された期間を見ると、この問題に対する根本的または漸進的な解決策も、標準的な学術研究や産業研究から期待できないことが明らかになります。

ムーアの法則が提供する膨大な数のトランジスタを使用する方法について、新しいアイデアを見つける必要があります。 そうしないと、新しい技術プロセスの開発の経済的要素が崩壊し、ムーアの法則が技術的限界に達する前であっても満たされなくなります。



今後数年間で、14nmおよび10nmのチップが登場する可能性があります。 ほとんどの場合、6〜8コアがすべてのコンピューターユーザーにとって一般的になり、クアッドコアプロセッサはほぼすべての場所に浸透し、CPUとGPUのより緊密な統合が見られます。

しかし、次に何が起こるかは明確ではありません。 生産性の連続した改善は、過去数十年に発生した成長に比べて非常に小さいようです。 漏れ電流の増加により、デナードの法則の実施は中止され、生産性を同様に着実に向上させることができる新しい技術は観察されていません。



次のパートでは、開発者がこの問題をどのように解決しようとしているのか、短期的でより遠い計画について話します。






All Articles